A Benchmark Suite for Evaluating Parallel Programming Models: Introduction and Preliminary Results

The transition to multi-core processors enforces software developers to explicitly exploit thread-level parallelism to increase performance. The associated programmability problem has led to the introduction of a plethora of parallel programming models that aim at simplifying software development by raising the abstraction level. Since industry has not settled for a single model, however, multiple significantly different approaches exist. This work presents a benchmark suite which can be used to classify and compare such parallel programming models and, therefore, aids in selecting the appropriate programming model for a given task. After a detailed explanation of the suite’s design, preliminary results for two programming models, Pthreads and OmpSs/SMPSs, are presented and analyzed, leading to an outline of further extensions of the suite.

[1]  Benjamin Rose,et al.  A comparison of programming models for multiprocessors with explicitly managed memory hierarchies , 2009, PPoPP '09.

[2]  Mats Brorsson,et al.  A Comparison of some recent Task-based Parallel Programming Models , 2010 .

[3]  Report,et al.  Public International Benchmarks for Parallel Computers , 1993 .

[4]  Thomas Ertl,et al.  CUDASA: Compute Unified Device and Systems Architecture , 2008, EGPGV@Eurographics.

[5]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[6]  Ben H. H. Juurlink,et al.  A QHD-capable parallel H.264 decoder , 2011, ICS '11.

[7]  Michael W. Berry,et al.  Public international benchmarks for parallel computers: PARKBENCH committee: Report-1 , 1994 .

[8]  Jesús Labarta,et al.  Handling task dependencies under strided and aliased references , 2010, ICS '10.

[9]  Yen-Kuang Chen,et al.  ALP: Efficient support for all levels of parallelism for complex media applications , 2007, TACO.

[10]  Keith H. Randall,et al.  Cilk: efficient multithreaded computing , 1998 .

[11]  Srikar Chowdary Ravela Comparison of Shared memory based parallel programming models , 2010 .

[12]  Jesús Labarta,et al.  A dependency-aware task-based programming environment for multi-core architectures , 2008, 2008 IEEE International Conference on Cluster Computing.

[13]  Paul M. Carpenter,et al.  Starsscheck: A Tool to Find Errors in Task-Based Parallel Programs , 2010, Euro-Par.

[14]  J. Xu OpenCL – The Open Standard for Parallel Programming of Heterogeneous Systems , 2009 .

[15]  Coniferous softwood GENERAL TERMS , 2003 .

[16]  Yen-Kuang Chen,et al.  The ALPBench benchmark suite for complex multimedia applications , 2005, IEEE International. 2005 Proceedings of the IEEE Workload Characterization Symposium, 2005..

[17]  Berkin Özisikyilmaz,et al.  MineBench: A Benchmark Suite for Data Mining Workloads , 2006, 2006 IEEE International Symposium on Workload Characterization.

[18]  Openmp: a Proposed Industry Standard Api for Shared Memory Programming , 2022 .

[19]  Christian Bienia,et al.  PARSEC 2.0: A New Benchmark Suite for Chip-Multiprocessors , 2009 .

[20]  Wing Au,et al.  The C31 parallel benchmark suite - introduction and preliminary results , 1996, Supercomputing '96.

[21]  Polyvios Pratikakis,et al.  Parallel Programming of General-Purpose Programs Using Task-Based Programming Models , 2011, HotPar.

[22]  Wooyoung Kim,et al.  Multicore Desktop Programming with Intel Threading Building Blocks , 2011, IEEE Software.

[23]  Ronald L. Rivest,et al.  The MD5 Message-Digest Algorithm , 1992, RFC.

[24]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[25]  Alejandro Duran,et al.  Barcelona OpenMP Tasks Suite: A Set of Benchmarks Targeting the Exploitation of Task Parallelism in OpenMP , 2009, 2009 International Conference on Parallel Processing.

[26]  R. V. D. Wijngaart NAS Parallel Benchmarks Version 2.4 , 2022 .

[27]  Christian Bienia,et al.  Benchmarking modern multiprocessors , 2011 .