Research Output
A Transparent Thread and Fiber Framework in C++CSP
  There are multiple low-level concurrency primitives supported today, but these often require the programmer to be explicit in their implementation decisions at design time. This work illustrates how a process-oriented model written in C++CSP can hide the underlying primitives from the programmer to allow M:N style thread support. The objective is to provide integrated kernel-level and user-level thread support in C++CSP without major changes to the process interface. To illustrate that kernel-level and user-level threads are working together two experiments have been undertaken. The first executes a stressed select to determine the cost of process-count scaling. The second experiment executes a scaling number of processes syncing across hardware to illustrate the sync-time cost as the number of user-level threads increases in each context. The results illustrate that it is possible to build M:N style thread support transparently for process design, and that doing so provides a significant increase in the number of active processes in library supported CSP while still taking advantage of multicore hardware.

  • Date:

    19 August 2018

  • Publication Status:

    Published

  • Funders:

    Edinburgh Napier Funded

Citation

Chalmers, K. (2018). A Transparent Thread and Fiber Framework in C++CSP

Authors

Keywords

threads; fibers; M:N threading; C++CSP

Monthly Views:

Available Documents