본문 바로가기
KERD
논문KCI 등재

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)

  1. "Towards Pervasive Parallelism"[URL]
  2. The landscape of parallel computing research: A view from Berkeley, "K. Asanovic", University of California, ~, pp.Technical Report No. UCB (2006), EECS-2006-183
  3. M. Bull, "Measuring Synchronization and Scheduling Overheads in OpenMP", Proceeding of First European Workshop on OpenMP (EWOMP ’99) Lund, Sweden, pp.10~ (1999)
  4. 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)
  5. G. Contreras, "Characterizing and Improving the Performance of Intel Threading Building Blocks", IEEE Proceeding of International Symposium on Workload Characterization, pp.57~66 (2008)
  6. K. Fuerlinger, "ompP : A profiling tool for OpenMP", In Proceedings of the First International Workshop on OpenMP(IWOMP 2005), Eugene, Oregon, USA (2005)
  7. "The OpenMP Profiler ompP: User Guide and Manual"[URL]
  8. K. Fuerlinger, "Performance Profiling for OpenMP Tasks", In Proceedings of the 5th International Workshop on OpenMP(IWOMP 2009). Dresden, Germany, June (2009)
  9. "TaskMan: Simple Task-Parallel Programming"[URL]
  10. B. Nicols, "Pthreads Programming, A POSIX Standard for Better Multiprocessing" (1996), O‘reilly
  11. A. Marowka, "Parallel Computing on Any Desktop", Communication of ACM, 50(9), pp.74~78 (2007)
  12. A. Marowka, "Execution Model of Three Parallel Languages: OpenMP, UPC and CAF", Scientific Programming, 13(2), pp.127~135 (2005)
  13. 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)
  14. A. Marowka, "Pitfalls and Issues of Manycore Programming", ADVANCES IN COMPUTERS, 79 (2010), Elsevier
  15. A. Marowka, "Back to Thin-Core Massively Parallel Processors", IEEE Computer, 44(12), pp.49~54 (2011)
  16. 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)
  17. J. Reinders, "Intel Threading Building Blocks, Outfitting C++ for Multi-core Processor Parallelism" (2007), O‘Reilly
  18. 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)
  19. 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)
  20. 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)
  21. H. Sutter, "The free lunch is over: A fundamental turn toward concurrency in software", Dr. Dobb’s Journal, 30(3) (2005)
  22. H. Sutter, "Software and the concurrency revolution", ACM Queue 3, 7, pp.54~62 (2005)
  23. L. Wang, "Parallel Software Development with Intel Threading Analysis Tools", Intel Technology Journal, 11(04), pp.287~297 (2007)
  24. "High Productivity Computing Systems"[URL]
  25. "Intel Parallel Studio"[URL]
  26. "Sphinx Micro-benchmark Suite"[URL]
  27. "TBB Web Site"[URL]
  28. "UPCRC"[URL]

관련 논문AI추천

이 간행물의 다른 논문 (10건)