I've put together some slides to show what I'm thinking of and make sure we are on the same page: http://www.slideshare.net/erenon/boostpipeline-scheduling-of-segments- 36832455
To point here, assuming a pipeline, one can use extra information to make some educated guesses regarding scheduling: Yield to offending queue (upstream if input is empty, downstream if output is full), choose specific segment to optimize latency.
Probably this can be achieved using fibers, or even with coroutines.
Due to the complexity of HPX I'm not sure how does it compare.
Huh? Complexity? It's 100% API compatible to C++11 and various proposals to C++14/17. I'd like to know more about why you think HPX is complex. Regards Hartmut --------------- http://boost-spirit.com http://stellar.cct.lsu.edu