An evaluation of OpenMP on current and emerging multithreaded/multicore processors

  • Authors:
  • Matthew Curtis-Maury;Xiaoning Ding;Christos D. Antonopoulos;Dimitrios S. Nikolopoulos

  • Affiliations:
  • Department of Computer Science, The College of William and Mary, Williamsburg, VA;Department of Computer Science, The College of William and Mary, Williamsburg, VA;Department of Computer Science, The College of William and Mary, Williamsburg, VA;Department of Computer Science, The College of William and Mary, Williamsburg, VA

  • Venue:
  • IWOMP'05/IWOMP'06 Proceedings of the 2005 and 2006 international conference on OpenMP shared memory parallel programming
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Multiprocessors based on simultaneous multithreaded (SMT) or multicore (CMP) processors are continuing to gain a significant share in both high-performance and mainstream computing markets. In this paper we evaluate the performance of OpenMP applications on these two parallel architectures. We use detailed hardware metrics to identify architectural bottlenecks. We find that the high level of resource sharing in SMTs results in performance complications, should more than 1 thread be assigned on a single physical processor. CMPs, on the other hand, are an attractive alternative. Our results show that the exploitation of the multiple processor cores on each chip results in significant performance benefits. We evaluate an adaptive, run-time mechanism which provides limited performance improvements on SMTs, however the inherent bottlenecks remain difficult to overcome. We conclude that out-of-the-box OpenMP code scales better on CMPs than SMTs. To maximize the efficiency of OpenMP on SMTs, new capabilities are required by the runtime environment and/or the programming interface.