Hi,
This sounds like a specific solution to a general need for schedulers.
This proposal can work on top of any scheduler that allows for dependency graphs. You could see this library as a specific application of scheduling linear algebra tasks, because we know exactly how the dependencies are and how to order stuff. Therefore, we can completely hide the scheduling.
Have you looked at the current proposals from the various sg groups such as sg1? Do they not help to solve your problem? Now is the time to speak up if they don't. Go find Michael Wong or Hans Boehm.
I am not sure about the current state of the proposals, I only remember a recent discussion about executors where I raised concerns about possible deadlocks and missing guarantees. Anyways, I would not know where to start looking for the current state of the proposals. I found this here: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4414.pdf and I doubt one could implement dependency graphs with that proposal as the executor does not return references to scheduled tasks or allows for explicit dependencies(i can not use futures as I want operations as much as possible to use existing objects and not generate new objects as this can exhaust memory pretty easily). There is also no wording about "what happens when a work package adds more work packages to the executor and waits for them", which makes any thread_pool proposal worthless as blocking worker threads might result in deadlocks. I think there is further no hope that we get unified dependency handling which allows for tasks handled by different executors/schedulers (a CPU and GPU scheduler fx). Best, Oswin