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

被引:0
作者
Brown, Neil [1 ]
机构
[1] Univ Kent, Comp Lab, Canterbury CT2 7NF, Kent, England
来源
WOTUG-30: COMMUNICATING PROCESS ARCHITECTURES 2007 | 2007年 / 65卷
关键词
C plus plus CSP; C plus; Threading; Atomic Instructions; Multicore;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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-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.
引用
收藏
页码:183 / 205
页数:23
相关论文
共 28 条
  • [1] SCHEDULER ACTIVATIONS - EFFECTIVE KERNEL SUPPORT FOR THE USER-LEVEL MANAGEMENT OF PARALLELISM
    ANDERSON, TE
    BERSHAD, BN
    LAZOWSKA, ED
    LEVY, HM
    [J]. ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1992, 10 (01): : 53 - 79
  • [2] BARNES F, KENT RETARGETABLE OC
  • [3] BARNES F, 2002, COMMUNICATING PROCES, P321
  • [4] BARNES FRM, OCCAM PI BLENDING BE
  • [5] Brown N, 2004, CONCUR SYST ENGN SER, V62, P185
  • [6] Brown N, 2003, CONCUR SYST ENGN SER, V61, P139
  • [7] BROWN N, C CSP2
  • [8] Brown N, 2006, CONCUR SYST ENGN SER, V64, P237
  • [9] Chalmers K, 2006, CONCUR SYST ENGN SER, V64, P59
  • [10] Drepper Ulrich, 2005, 13 RED HAT