scholarly journals Data access reorganizations in compiling out-of-core data parallel programs on distributed memory machines

Author(s):  
M. Kandemir ◽  
R. Bordawekar ◽  
A. Choudhary
1995 ◽  
Vol 30 (8) ◽  
pp. 1-10 ◽  
Author(s):  
Rajesh Bordawekar ◽  
Alok Choudhary ◽  
Ken Kennedy ◽  
Charles Koelbel ◽  
Michael Paleczny

Author(s):  
Wesley Petersen ◽  
Peter Arbenz

The Multiple instruction, multiple data (MIMD) programming model usually refers to computing on distributed memory machines with multiple independent processors. Although processors may run independent instruction streams, we are interested in streams that are always portions of a single program. Between processors which share a coherent memory view (within a node), data access is immediate, whereas between nodes data access is effected by message passing. In this book, we use MPI for such message passing. MPI has emerged as a more/less standard message passing system used on both shared memory and distributed memory machines. It is often the case that although the system consists of multiple independent instruction streams, the programming model is not too different from SIMD. Namely, the totality of a program is logically split into many independent tasks each processed by a group (see Appendix D) of processes—but the overall program is effectively single threaded at the beginning, and likewise at the end. The MIMD model, however, is extremely flexible in that no one process is always master and the other processes slaves. A communicator group of processes performs certain tasks, usually with an arbitrary master/slave relationship. One process may be assigned to be master (or root) and coordinates the tasks of others in the group. We emphasize that the assignments of which is root is arbitrary—any processor may be chosen. Frequently, however, this choice is one of convenience—a file server node, for example. Processors and memory are connected by a network, for example, Figure 5.1. In this form, each processor has its own local memory. This is not always the case: The Cray X1, and NEC SX-6 through SX-8 series machines, have common memory within nodes. Within a node, memory coherency is maintained within local caches. Between nodes, it remains the programmer’s responsibility to assure a proper read–update relationship in the shared data. Data updated by one set of processes should not be clobbered by another set until the data are properly used.


1995 ◽  
Vol 2 (2) ◽  
pp. 18-29 ◽  
Author(s):  
Ynan-Shin Hwang ◽  
R. Das ◽  
J.H. Saltz ◽  
M. Hodoscek ◽  
B.R. Brooks

Sign in / Sign up

Export Citation Format

Share Document