One of the core features of HPX is our lightweight user-level threading. User-level threading implements a second layer of thread infrastructure on top of OS-threads (e.g. thread implementations provided by the operating system or kernel). This form of threading is also called hybrid or M:N (mapping N user threads onto M OS-threads) threading.
We recently conducted a benchmark of the scalability of lightweight user-level threads in the face of extremely fine-grained parallelism. Fine-grained parallelism refers to the division of work into very small parallel tasks. By making the tasks very small, the task scheduler is able to load balance more efficiently in the face of highly dynamic applications.
This article presents details of the benchmark we used, and a comparison of HPX with three other software libraries which provide lightweight user-level threading (Qthreads, TBB and SWARM). Continue reading
loading...