WoTUG - The place for concurrent processes

Paper Details


%T C++CSP2: A Many\-to\-Many Threading
%A Neil C.C. Brown
%E Alistair A. McEwan, Steve Schneider, Wilson Ifill, Peter H. Welch
%B Communicating Process Architectures 2007
%X The advent of mass\-market multicore processors provides
   exciting new opportunities for parallelism on the desktop.
   The original C++CSP &\[sh]8211; a library providing
   concurrency in C++ &\[sh]8211; used only user\-threads,
   which would have prevented it taking advantage of this
   parallelism. This paper details the development of C++CSP2,
   which has been built around a many\-to\-many threading model
   that mixes user\-threads and kernel\-threads, providing
   maximum flexibility in taking advantage of multicore and
   multi\-processor machines. New and existing algorithms are
   described for dealing with the run\-queue and implementing
   channels, barriers and mutexes. The latter two are
   benchmarked to motivate the choice of algorithm.Most of
   these algorithms are based on the use of atomic
   instructions, to gain maximal speed and efficiency. Other
   issues related to the new design and related to implementing
   concurrency in a language like C++ that has no direct
   support for it, are also described. The C++CSP2 library will
   be publicly released under the LGPL before CPA 2007.


If you have any comments on this database, including inaccuracies, requests to remove or add information, or suggestions for improvement, the WoTUG web team are happy to hear of them. We will do our best to resolve problems to everyone's satisfaction.

Copyright for the papers presented in this database normally resides with the authors; please contact them directly for more information. Addresses are normally presented in the full paper.

Pages © WoTUG, or the indicated author. All Rights Reserved.
Comments on these web pages should be addressed to: www at wotug.org

Valid HTML 4.01!