TY - GEN
T1 - Exploring object-level parallelism on chip multi-processors
AU - Ji, Weixing
AU - Wang, Yizhuo
AU - Huang, Zhi
AU - Zhao, Junqing
AU - Li, Xi
PY - 2012
Y1 - 2012
N2 - Object-oriented programming languages are prevalent at present and the inherent parallelism of a wide range of applications can be expressed as groups of concurrent objects. This paper proposes a new object-level parallel programming model to meet the challenge of parallel programming on chip multi-processors. This object-based computation model maps multiple software objects onto different physical processor cores at runtime. Independent objects can run concurrently and communicate with each other by synchronous, asynchronous, future and broadcast messages. In order to verify the efficiency of this model, a library implementation CPPLib of this model based on C++ is presented. The library implementation of this model requires no extension to existing object-oriented programming languages and provides good salability and portability. The performance of CPPLib is evaluated on both a dual-core desktop computer and an 8-core server using standard benchmarks. Experimental results show that CPPLib achieves average speedup levels of 1.5 and 3.6 on the dual-core desktop computer and the 8-core server, respectively, compared with their serial version.
AB - Object-oriented programming languages are prevalent at present and the inherent parallelism of a wide range of applications can be expressed as groups of concurrent objects. This paper proposes a new object-level parallel programming model to meet the challenge of parallel programming on chip multi-processors. This object-based computation model maps multiple software objects onto different physical processor cores at runtime. Independent objects can run concurrently and communicate with each other by synchronous, asynchronous, future and broadcast messages. In order to verify the efficiency of this model, a library implementation CPPLib of this model based on C++ is presented. The library implementation of this model requires no extension to existing object-oriented programming languages and provides good salability and portability. The performance of CPPLib is evaluated on both a dual-core desktop computer and an 8-core server using standard benchmarks. Experimental results show that CPPLib achieves average speedup levels of 1.5 and 3.6 on the dual-core desktop computer and the 8-core server, respectively, compared with their serial version.
KW - Message passing
KW - Multi-core processor
KW - Multi-thread programming
KW - Object-orientated programming
KW - Parallel computing
UR - http://www.scopus.com/inward/record.url?scp=84866661744&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-33065-0_9
DO - 10.1007/978-3-642-33065-0_9
M3 - Conference contribution
AN - SCOPUS:84866661744
SN - 9783642330643
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 80
EP - 89
BT - Algorithms and Architectures for Parallel Processing - 12th International Conference, ICA3PP 2012, Proceedings
T2 - 12th International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2012
Y2 - 4 September 2012 through 7 September 2012
ER -