Enhancing OpenMP and Its Implementation

Enhancing OpenMP and Its Implementation - Enhancing OpenMP...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Enhancing OpenMP and Its Implementation for Programming Multicore Systems Barbara Chapman and Lei Huang Department of Computer Science University of Houston Houston, TX 77089 E-mail: { chapman,leihuang } @cs.uh.edu A large body of existing, sequential applications must be migrated to multicore platforms with maximum transparency. To achieve this, techniques for automatic parallelization must be pushed to their limits, and current shared memory programming paradigms must be reconsidered with respect to their ease of use, performance characteristics and ability to support a wide range of programming needs. Despite advances in automated and dynamic exposure of exploitable parallelism, the application developer will frequently need to support the process of code migration by making the parallelism in a program explicit. One of the most straightforward ways in which this can be done is by inserting the directives or pragmas of the portable OpenMP shared memory programming interface, a de facto standard. In this paper we discuss the programming implications of this radical change in the approach to building mainstream processors. We briefly consider the suitability of existing and recently proposed programming models to satisfy multicore application development needs, arguing that OpenMP is the most broadly appropriate of them for higher level multicore programming. Yet OpenMP was designed before the multicore “revolution”. We discuss some ways in which the implementation of OpenMP might be improved to meet scalability demands posed by emerging
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
platforms and introduce a potential extension that might simplify application development in some cases. We briefly discuss our own OpenMP implementation. Finally, we offer our conclusions on the ability of the state of the art in programming models and their implementations to satisfy the needs of multicore programming. 1 Introduction All major computer vendors are aggressively introducing a new generation of hardware that incorporates multiple cores on a chip, sometimes with additional simultaneous multithreading capabilities and potentially along with other kinds of hardware, such as accelerator boards. The number of cores configured is expected to grow rapidly, so that even in the relatively short term we can expect a single chip to support the execution of a few hundred threads. Thus almost all future platforms will directly support parallel applications. There is great variety in chip design, especially in the amount and nature of resource sharing between threads on a given system. With more on-chip memory and potentially shared cache and data paths, resource sharing may benefit, and resource contention among threads may adversely affect, performance. With their high computation density, program performance and energy utilization must be balanced on chip multithreading hardware. The implications for software design, development, deployment and support are enormous. The first generation of multicore platforms may not require
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 09/24/2009 for the course CS 525 taught by Professor Rjyosy during the Summer '09 term at Central Mich..

Page1 / 29

Enhancing OpenMP and Its Implementation - Enhancing OpenMP...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online