Skip to main content
Kent Academic Repository

C++CSP2: A Many-to-Many Threading Model for Multicore Architectures

Brown, Neil (2007) C++CSP2: A Many-to-Many Threading Model for Multicore Architectures. In: McEwan, Alistair A. and Schneider, S. and Ifill, W. and Welch, Peter H., eds. Communicating Process Architectures 2007. Concurrent Systems Engineering . IOS Press, pp. 183-205. ISBN 978-1-58603-767-3. (KAR id:14571)

Abstract

The advent of mass-market multicore processors provides exciting new opportunities for parallelism on the desktop. The original C++CSP – a library providing concurrency in C++ – 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-processormachines. 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.

Item Type: Book section
Uncontrolled keywords: C++CSP2, C++, CSP, Multicore
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Neil Brown
Date Deposited: 24 Nov 2008 18:04 UTC
Last Modified: 16 Nov 2021 09:52 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/14571 (The current URI for this page, for reference purposes)

University of Kent Author Information

Brown, Neil.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.