Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

The Zipcode message-passing system

Conference ·
OSTI ID:6560423
; ;  [1];  [2];  [3]
  1. Lawrence Livermore National Lab., CA (United States)
  2. Syracuse Univ., NY (United States). Northeast Parallel Architectures Center
  3. California Inst. of Tech., Pasadena, CA (United States). Dept. of Chemical Engineering

Zipcode is a message-passing system developed originally by the first author, beginning at Caltech in the Summer of 1988 and continuing to-date absent in then-existing message-passing systems. Currently, Zipcode continues to serve as a vehicle to demonstrate high-level message-passing research concepts and, more importantly, to provide the basis for supporting vendor-independent scalable concurrent libraries; notably, the Multicomputer Toolbox. The basic assertion of Zipcode is that carefully managed, expressive message-passing is an effective way to program multicomputers and distributed computers, while low-level message passing is admittedly both error-prone and difficult. The purpose of Zipcode is to manage the message-passing process within parallel codes in an open-ended way. This is done so that large-scale software can be constructed in a multicomputer application, with reduced likelihood that software so constructed will conflict in its dynamic resource use, thereby avoiding potentially hard-to-resolve, source-level conflicts. Furthermore, the message-passing-notations provided are to reflect the algorithms and data organizations of the concurrent algorithms, rather than predefined typing strategies. Typing, while generic and easy-to-understand, proves too low-level to support manageable application development well. Notational abstractions provide a means for the user to incorporate information through which the Zipcode library may make optimizations when a code runs on systems with specific hardware features. Abstraction is therefore seen as a means to higher performance, and notation is seen as a means towards more understandable, easier-to-develop and maintain concurrent software. Context registry provides a social contract'' within which multiple libraries and codes can coexist reasonably.

Research Organization:
Lawrence Livermore National Lab., CA (United States)
Sponsoring Organization:
DOE; USDOE, Washington, DC (United States)
DOE Contract Number:
W-7405-ENG-48
OSTI ID:
6560423
Report Number(s):
UCRL-JC-112022; CONF-930331--9; ON: DE93011958
Country of Publication:
United States
Language:
English