Abstract
OpenMP and Intel Threading Building Blocks (TBB) are two parallel programming paradigms for multicore processors. They have a lot in common but were designed in mind for different parallel execution models. Comparing the performance gain of these two paradigms depends to a great extent on the parallelization overheads of their parallel mechanisms. Parallel overheads are inevitable and therefore understanding their potential costs can help developers to design more scalable applications.
This paper presents a comparative study of OpenMP and TBB parallelization overheads. The study was conducted on a dual-core machine with two different compilers, Intel compiler and Microsoft Visual Studio C++ 2008, and shows that Intel compiler outperforms Microsoft compiler. Nevertheless, the relative performance of TBB versus OpenMP is mainly depends on the implementation of the parallel constructs of a specific compiler.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Sutter, H.: The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb’s Journal 30(3) (March 2005)
Sutter, H., Larus, J.: Software and the concurrency revolution. ACM Queue 3(7), 54–62 (2005)
Marowka, A.: Parallel Computing on Any Desktop. Communication of ACM 50(9), 74–78 (2007)
Asanovic, K., et al.: The landscape of parallel computing research: A view from Berkeley. University of California at Berkeley, Technical Report No. UCB/EECS-2006-183 (December 18, 2006), http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.html
Marowka, A.: Execution Model of Three Parallel Languages: OpenMP, UPC and CAF. Scientific Programming 13(2), 127–135 (2005)
Nicols, B., et al.: Pthreads Programming, A POSIX Standard for Better Multiprocessing. O’reilly, Sebastopol (September 1996)
High Productivity Computing Systems, http://www.highproductivity.org/
OpenMP Application Program Interface, Version 3.0 (2008), http://www.openmp.org
Chapman, B., Jost, G., van der Pas, R.: Using OpenMP, Portable Shared Memory Parallel Programming. MIT Press, Cambridge (2007)
Reinders, J.: Intel Threading Building Blocks, Outfitting C++ for Multi-core Processor Parallelism. O’Reilly, Sebastopol (2007)
TBB Web Site, http://www.threadingbuildingblocks.org/
Bull, M.: Measuring Synchronisation and Scheduling Overheads in OpenMP. In: Proceeding of First European Workshop on OpenMP (EWOMP 1999) Lund, Sweden (October 1999)
Bull, M., O’Neill, D.: Microbenchmark Suite for OpenMP 2.0. In: Proceedings of the Third European Workshop on OpenMP (EWOMP 2001), Barcelona, Spain, pp. 41–48 (September 2001)
Contreras, G., Martonosi, M.: Characterizing and Improving the Performance of Intel Threading Building Blocks. In: IEEE Proceeding of International Symposium on Workload Characterization, pp. 57–66 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Marowka, A. (2010). Empirical Analysis of Parallelism Overheads on CMPs. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2009. Lecture Notes in Computer Science, vol 6067. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14390-8_62
Download citation
DOI: https://doi.org/10.1007/978-3-642-14390-8_62
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14389-2
Online ISBN: 978-3-642-14390-8
eBook Packages: Computer ScienceComputer Science (R0)