3 ms·
If you have a legacy application that demands threads we can emulate threads by essentially using coroutine approach. http://en.wikipedia.org/wiki/Coroutine htt
by pkconstantine 13y ago
If you have a legacy application that demands threads we can emulate threads by essentially using coroutine approach.
http://en.wikipedia.org/wiki/Coroutine http://en.wikipedia.org/wiki/Coroutine
- ogrisel 13y agoWhat would be the impact of such a coroutine emulation if the threading is used to leverage multi-core hardware for high performance computing such as done by Atlas [1], OpenBLAS [2] or MKL [3]? These libraries are tuned to maximize CPU cache hits. It seems to me that executing each thread task sequentially using coroutines would probably break such optimizations. [1] http://math-atlas.sourceforge.net/ http://math-atlas.sourceforge.net/ [2] http://www.openblas.net/ http://www.openblas.net/ [3] http://software.intel.com/en-us/intel-mkl http://software.intel.com/en-us/intel-mkl
- vidarh 13y agoFrom the sounds of it, you'd want to split up your workload and run each subset in a separate zerovm
- pkconstantine 13y agoThat's correct. And that's how most of parallel processing frameworks do it anyway.