论文部分内容阅读
开发易用且高效的并发数据结构对降低并行编程的难度和有效利用并行资源非常重要.针对所提出的易于编程的确定性消息传递多线程编程模型DetMP,除可以基于所提出的单生产多播共享虚拟内存模型(SPMC)实现以外,还可以基于传统的多线程共享虚拟内存模型来实现.为了分析消息通道的实现机制(如数据的存储组织、并发访问的同步控制)对DetMP程序性能的影响,提出一个并发多播队列的框架CMQue,并基于Pthreads实现了6种并发多播队列.我们评估了6种并发多播队列和SPMC通道,结果表明消息通道的实现机制对程序性能影响很大,SPMC通道在CPU核资源充足时具有很好的可伸缩性.
The development of an easy-to-use and efficient concurrency data structure is very important for reducing the difficulty of parallel programming and efficient use of parallel resources.For the proposed program-oriented deterministic messaging multithreaded programming model DetMP can be based on the proposed single production multicast In addition to the shared virtual memory model (SPMC) implementation, this model can be implemented based on the traditional multi-thread shared virtual memory model.In order to analyze the influence of message channel implementation mechanisms (such as data storage organization and concurrent access control) on the performance of DetMP programs , Proposes a framework CMQue for concurrent multicast queues and implements 6 kinds of concurrent multicast queues based on Pthreads.We evaluated 6 kinds of concurrent multicast queues and SPMC channels.The results show that the implementation mechanism of message channel has a great impact on program performance, The SPMC channel has good scalability when the CPU core resources are sufficient.