Has anyone worked with the HyPhi library, it supposedly modifies TBB's task scheduler to better deal with some tasks that may need to perform blocking IO operations. I can find academic papers about the library, but I can't find an implementation. Does anyone know if one exists?
If not does anyone one know how to optimally implement the same concept with TBB. I have a pipes and filters framework that currently uses a native thread per filter, where i would rather use tasks that can be managed to utilize work stealing (like the TBB scheduler does not natively). The issue is that the source filters in my graph are receiving there data via live sensors, which do no provided data at very high frequencies, so therefore some filter's need to wait for a sensor sample to be available to work with it, which is a blocking call (currently waits a condition variable to be signaled).
I am trying to find a solution that would allow some filters to block until data is available and have the TBB scheduler be able to retask that thread (the one that switch to a wait) to another parallel computation in the mean time.
HyPhi seemed to be able to do something like this.
Thx for any advice,