Programming models for petascale to exascale
Yelick, K.
Electr. Eng. & Comput. Sci. Dept., Lawrence Berkeley Nat. Lab., Berkeley, CA;
This paper appears in: Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on
Publication Date: 14-18 April 2008
On page(s): 1-1
Location: Miami, FL,
ISSN: 1530-2075
ISBN: 978-1-4244-1693-6
INSPEC Accession Number: 10024999
Digital Object Identifier: 10.1109/IPDPS.2008.4536090
Current Version Published: 2008-06-03
Abstract
Multiple petascale systems will soon be available to the computational science community and will represent a variety of architectural models. These high-end systems, like all computing platforms, will have an increasing reliance on software-managed on-chip parallelism. These architectural trends bring into question the message-passing programming model that has dominated high-end programming for the past decade. In this talk I will describe some of the technology challenges that will drive the design of future systems and their implications for software tools, algorithm design, and application programming. In particular, I will show a need to consider models other than message passing as we move towards massive on-chip parallelism. I will talk about a class of partitioned global address space (PGAS) languages, which are an alternative to both message passing models like MPI and shared memory models like OpenMP. PGAS languages offer the possibility of a programming model that will work well across a wide range of shared memory, distributed memory, and hybrid platforms. Some of these languages, including UPC, CAF and Titanium, are based on a static model of parallelism, which gives programmers direct control over the underlying processor resources. The restricted nature of the static parallelism model in these languages has advantages in terms of implementation simplicity, analyzability, and performance transparency, but some applications demand a more dynamic execution model, similar to that of Charm++ or the recently developed HPCS languages (X10, Chapel, and Fortress). I will describe some of our experience working with both static and dynamically managed applications and some of the research challenges that I believe will be critical in developing viable programming techniques for future systems.
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.