Title :
Global Arrays: a portable “shared-memory” programming model for distributed memory computers
Author :
Nieplocha, Jaroslaw ; Harrison, Robert J. ; Littlefield, Richard J.
Author_Institution :
Pacific Northwest Lab., Richland, WA, USA
Abstract :
Portability, efficiency and ease of coding are all important considerations in choosing the programming model for a scalable parallel application. The message-passing programming model is widely used because of its portability, yet some applications are too complex to code in it while also trying to maintain a balanced computation load and avoid redundant computations. The shared-memory programming model simplifies coding, but it is not portable and often provides little control over interprocessor data transfer costs. This paper describes a new approach, called Global Arrays (GA) that combines the better features of both other models, leading to both simple coding and efficient execution. The key concept of GA is that it provides a portable interface through which each process in a MIMD parallel program can asynchronously access logical blocks of physically distributed matrices, with no need for explicit cooperation by other processes. We have implemented GA libraries on a variety of computer systems, including the Intel DELTA and Paragon, the IBM SP-1 (all message-passers), the Kendall Square KSR-2 (a nonuniform access shared-memory machine), and networks of Unix workstations. We discuss the design and implementation of these libraries, report their performance, illustrate the use of GA in the context of computational chemistry applications, and describe the use of a GA performance visualization tool
Keywords :
distributed memory systems; message passing; parallel programming; shared memory systems; software libraries; software portability; Global Arrays; IBM SP-1; Intel DELTA; Kendall Square KSR-2; MIMD parallel program; Paragon; Unix workstations; balanced computation load; computational chemistry applications; distributed memory computers; interprocessor data transfer costs; message-passing programming model; nonuniform access shared-memory machine; performance visualization tool; physically distributed matrices; portable interface; portable model; redundant computations; scalable parallel application; shared-memory programming model; Application software; Chemistry; Computer applications; Computer networks; Concurrent computing; Distributed computing; High performance computing; Libraries; Parallel programming; Portable computers;
Conference_Titel :
Supercomputing '94., Proceedings
Conference_Location :
Washington, DC
Print_ISBN :
0-8186-6605-6
DOI :
10.1109/SUPERC.1994.344297