摘要
当前随着多核计算机硬件系统已经成为应用主流,软件开发者需要设计适合多核计算机硬件系统的软件系统。然而如何有效地使用多核硬件系统将成为很大的挑战。开发人员使用基于操作系统线程级开发模型将遇到很大的挑战。为有效地应对以上问题,Intel公司开发出了适合多核计算机硬件系统的开发编程模型:TBB, ArBB and Cilk等编程模型。最近一种新型的简单而有效的适合多核计算机硬件系统编程的模型“Concurrent Collections”简称“CnC”被Intel公司开发出来。CnC采用声明式编程语言允许应用程序开发者表达一个高层次的计算方法。在本文中,我们将描述如何使用这个新型的编程模型实现一个高性能的数据压缩程序,同时与其他方式实现的并行实现方法进行比较。本文采用双至强处理器X54603.16GHz 8-thread CPUs,通过本文说明的方法实现的并行压缩应用程序运行加速度超过8倍。通过与其他并行实现方式比较OpenMP, TBB and Cilk,本文实现的性能比其他实现方式有5%~10%的性能提升。
Currently, multi-core computer systems are in the mainstream around the world, and software developers need to design for multi-core solutions with increased parallelism. How to effectively utilize the multi-core system is a big issue. It is difficult to use an operating system’s built-in native thread programming model to develop multi-threaded applications. Fortunately, Intel’s TBB, ArBB and Cilk multi-core programming model are now available. A simple and effective multi-core programming language is proposed by Intel named “Concurrent Collections”. The Concurrent Collections (CnC) is a declarative parallel language that allows the application developer to express their parallel application as a collection of high-level computations. In this paper, we describe how to use the new programming model to implement a high-performance parallel data compression application and compared it against existing approaches. On a platform with two Xeon Processor X5460 3.16GHz 8-thread CPUs, the parallelized solution exceeded serial codes performance by up to 8x. Our performance compared with alternative parallelized solutions, including OpenMP, TBB and Cilk. The Concurrent Collections approach got 5%-10% performance gain compared to the existing performance of the paralleled implementation approach of OpenMP, TBB and Cilk .
出处
《电子科学技术》
2015年第3期295-301,共7页
Electronic Science & Technology
关键词
CNC
多核计算
并行编程模型
压缩算法
CnC
Multicore Computing
Parallel Programming Model
Data Compression