Paper Details

Communicating Process Architectures (CPA)
 Title: A Transparent Thread and Fiber Framework in C++CSP
 Conference: Communicating Process Architectures 2018
 Authors: Kevin Chalmers
School of Computing, Edinburgh Napier University
 Abstract: There are multiple low-level concurrency primitive types 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 was to provide integrated thread and fiber support in C++CSP without major changes to the process interface. To illustrate that threads and fibers are working together two experiments have been undertaken. The first experiment executes multiple stressed select processes to illustrate that that multiple fiber contexts are in operation. The second experiment executes a scaling number of processes syncing across hardware to illustrate the sync-time cost as the number of fibers 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. 

BibTeX Entry

Full paper