Accession Number : ADA256873
Title : Pipes: Linguistic Support for Ordered Asynchronous Invocations
Descriptive Note : Technical rept.
Corporate Author : MASSACHUSETTS INST OF TECH CAMBRIDGE LAB FOR COMPUTER SCIENCE
Personal Author(s) : Colbrook, Adrian ; Brewer, Eric A ; Hsieh, Wilson C ; Wang, Paul ; Weihl, William E
Report Date : Apr 1992
Pagination or Media Count : 33
Abstract : We describe pipes, a new linguistic mechanism for sequences of ordered asynchronous procedure calls in multiprocessor systems. Pipes allow a sequence of remote invocations to be performed in order, but asynchronously with respect to the calling thread. Using pipes results in programs that are easier to understand and debug than those with explicit synchronization between asynchronous invocations. The semantics of pipes make no assumptions about the underlying architecture, which enhances code portability. However, the implementation of pipes by the language compiler can be optimized so as to take advantage of any underlying message ordering a particular architecture may provide. Pipes also provide application-transparent flow control for asynchronous invocations and are able to throttle invocations from multiple calling threads. We present four implementations of pipes and show that the performance and space overheads associated with pipes are low.
Descriptors : *COMPUTER COMMUNICATIONS , *MULTIPROCESSORS , COMPUTER PROGRAMS , PROGRAMMING LANGUAGES , SEMANTICS , FLOW , DEBUGGING(COMPUTERS) , ASYNCHRONOUS COMPUTERS , LINGUISTICS , COMPILERS , COMPUTER ARCHITECTURE , PIPES , SEQUENCES , LANGUAGE
Subject Categories : Computer Programming and Software
Distribution Statement : APPROVED FOR PUBLIC RELEASE