Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Efficient and Correct Programs that Share

Summary: Efficient and Correct
Programs that Share
Execution of Parallel
Courant Institute of Mathematical Sciences, New York University
IBM T. J. Watson Research Center
In this paper we consider an optimization problem that arises in the execution of parallel programs
on shared-memory multiple-instruction-stream, multiple-data-stream (MIMD) computers. A program
on such machines consists of many sequential program segments, each executed by a single processor.
These segments interact as they access shared variables. Access to memory is asynchronous, and
memory accesses are not necessarily executed in the order they were issued. An execution is correct
if it is sequentially consistent: It should seem as if all the instructions were executed sequentially, in
an order obtained by interleaving the instruction streams of the processors. Sequential consistency
can be enforced by delaying each access to shared memory until the previous access of the same
processor has terminated. For performance reasons, however, we want to allow several accesses by
the same processor to proceed concurrently. Our analysis finds a minimal set of delays that enforces
sequential consistency. The analysis extends to interprocessor synchronization constraints and to


Source: Ábrahám, Erika - Fachgruppe Informatik, Rheinisch Westfälische Technische Hochschule Aachen (RWTH)


Collections: Computer Technologies and Information Sciences