TBBench: A Micro-Benchmark Suite for Intel Threading Building Blocks
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
Task-based programming is becoming the state-of-the-art method of choice for extracting the desired performance from multi-core chips. It expresses a program in terms of lightweight logical tasks rather than heavyweight threads. Intel Threading Building Blocks (TBB) is a task-based parallel programming paradigm for multi-core processors. The performance gain of this paradigm depends to a great extent on the efficiency of its parallel constructs. The parallel overheads incurred by parallel constructs determine the ability for creating large-scale parallel programs, especially in the case of fine-grain parallelism. This paper presents a study of TBB parallelization overheads. For this purpose, a TBB micro-benchmarks suite called TBBench has been developed. We use TBBench to evaluate the parallelization overheads of TBB on different multi-core machines and different compilers. We report in detail in this paper on the relative overheads and analyze the running results.
Abstract
Task-based programming is becoming the state-of-the-art method of choice for extracting the desired performance from multi-core chips. It expresses a program in terms of lightweight logical tasks rather than heavyweight threads. Intel Threading Building Blocks (TBB) is a task-based parallel programming paradigm for multi-core processors. The performance gain of this paradigm depends to a great extent on the efficiency of its parallel constructs. The parallel overheads incurred by parallel constructs determine the ability for creating large-scale parallel programs, especially in the case of fine-grain parallelism. This paper presents a study of TBB parallelization overheads. For this purpose, a TBB micro-benchmarks suite called TBBench has been developed. We use TBBench to evaluate the parallelization overheads of TBB on different multi-core machines and different compilers. We report in detail in this paper on the relative overheads and analyze the running results.
참고문헌 (28)
- "Towards Pervasive Parallelism"[URL]
- The landscape of parallel computing research: A view from Berkeley, "K. Asanovic", University of California, ~, pp.Technical Report No. UCB (2006), EECS-2006-183
- M. Bull, "Measuring Synchronization and Scheduling Overheads in OpenMP", Proceeding of First European Workshop on OpenMP (EWOMP ’99) Lund, Sweden, pp.10~ (1999)
- M. Bull, "micro-benchmark Suite for OpenMP 2.0", Proceedings of the Third European Workshop on OpenMP (EWOMP’01), Barcelona, Spain, pp.41~48 (2001)
- G. Contreras, "Characterizing and Improving the Performance of Intel Threading Building Blocks", IEEE Proceeding of International Symposium on Workload Characterization, pp.57~66 (2008)
- K. Fuerlinger, "ompP : A profiling tool for OpenMP", In Proceedings of the First International Workshop on OpenMP(IWOMP 2005), Eugene, Oregon, USA (2005)
- "The OpenMP Profiler ompP: User Guide and Manual"[URL]
- K. Fuerlinger, "Performance Profiling for OpenMP Tasks", In Proceedings of the 5th International Workshop on OpenMP(IWOMP 2009). Dresden, Germany, June (2009)
- "TaskMan: Simple Task-Parallel Programming"[URL]
- B. Nicols, "Pthreads Programming, A POSIX Standard for Better Multiprocessing" (1996), O‘reilly
- A. Marowka, "Parallel Computing on Any Desktop", Communication of ACM, 50(9), pp.74~78 (2007)
- A. Marowka, "Execution Model of Three Parallel Languages: OpenMP, UPC and CAF", Scientific Programming, 13(2), pp.127~135 (2005)
- A. Marowka, "Performance of OpenMP Benchmarks on Multi-core Processors", 8th International Conference on Algorithms and Architectures for Parallel Processing(ICA3PP), Agia Napa, Cyprus, pp.208~219 (2008)
- A. Marowka, "Pitfalls and Issues of Manycore Programming", ADVANCES IN COMPUTERS, 79 (2010), Elsevier
- A. Marowka, "Back to Thin-Core Massively Parallel Processors", IEEE Computer, 44(12), pp.49~54 (2011)
- A. Marowka, "On Performance Analysis of a Multithreaded Application Parallelized by Different Programming Models using Intel VTune, In Eleventh International Conference on Parallel Computing Technologies (PaCT)", Eleventh International Conference on Parallel Computing Technologies (PaCT). LNCS, 6873, pp.317~331 (2011)
- J. Reinders, "Intel Threading Building Blocks, Outfitting C++ for Multi-core Processor Parallelism" (2007), O‘Reilly
- P. Kegel, "Using OpenMP vs. Threading Building Blocks for Medical Imaging on Multi-Cores", Euro-Par 2009 Parallel Processing, 15th International Euro-Par Conference, Delft, The Netherlands, pp.654~665 (2009)
- A. Podobas, "A Comparison of some recent Task-based Parallel Programming Models", in the proceeding of the Third Workshop on Programmability Issues for Multi-Core Computers(MULTIPROG), Pisa, Italy (2010)
- A. Robison, "Optimization via Reflection on Work Stealing in TBB", In Proceeding of IEEE International Symposium on Parallel and Distributed Processing, IPDPS, pp.1~8 (2008)
- H. Sutter, "The free lunch is over: A fundamental turn toward concurrency in software", Dr. Dobb’s Journal, 30(3) (2005)
- H. Sutter, "Software and the concurrency revolution", ACM Queue 3, 7, pp.54~62 (2005)
- L. Wang, "Parallel Software Development with Intel Threading Analysis Tools", Intel Technology Journal, 11(04), pp.287~297 (2007)
- "High Productivity Computing Systems"[URL]
- "Intel Parallel Studio"[URL]
- "Sphinx Micro-benchmark Suite"[URL]
- "TBB Web Site"[URL]
- "UPCRC"[URL]
