Abstract
We describe and evaluate an implementation of a port-based communication model for task-parallel programs. This model permits tasks to communicate without explicit knowledge of the location or identity of their communication partners, which facilitates modular programming and the development of programs that consist of multiple communicating tasks per processing node. We present the protocols used for point-to-point communication and port migration, expressed in terms of portable abstractions for naming, threading, and asynchronous communication provided by the Nexus runtime system. Experimental results on an IBM SP allow us to quantify the performance costs of the functionality associated with port-based communication. We conclude that task-to-task communication via ports can be achieved efficiently even using standard system software, but that improvements in the integration of threading and communication mechanisms would improve performance significantly.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. M. Chandy and I. Foster. A deterministic notation for cooperating processes. IEEE Trans. Parallel and Distributed Syst., 1995. To appear.
K. M. Chandy and C. Kesselman. CC++: A declarative concurrent object-oriented programming notation. In Research Directions in Concurrent Object-Oriented Programming. MIT Press, 1993.
B. Chapman, P. Mehrotra, and H. Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, 1992.
M. Young et al. The duality of memory and communication in Mach. In Proc. of the 11 th Symposium on Operating Systems Principles,1987.
I. Foster, C. Kesselman, and S. Tuecke. Portable mechanisms for multithreaded distributed computations. Mathematics and Computer Science Division Preprint P494–0195, Argonne National Laboratory, 1995.
I. Foster and S. Taylor. Strand: New Concepts in Parallel Programming. Prentice-Hall, 1989.
W. Gropp, E. Lusk, and A. Skjellum. Using MPI.: Portable Parallel Programming with the Message Passing Interface. MIT Press, 1995.
M. Haines, D. Cronk, and P. Mehrotra. On the design of Chant: A talking threads package. In Proc. of Supercomputing 94, November 1993.
S. Hiranandani, K. Kennedy, and C. Tseng. Preliminary experiences with the Fortran D compiler. In Proc. of Supercomputing 93, Portland, November 1993.
C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, 1984.
G. Jones. Programming in occam. Prentice Hall International, 1987.
V. Sunderam. PVM: A framework for parallel distributed computing. Concurrency: Practice & Experience,2(4):315–339, 1990.
T. von Eicken, D. Culler, S. Goldstein, and K. Schauser. Active Messages: A mechanism for integrated communication and computation. In Proc. 19th Int’l. Symposium on Computer Architecture, May 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1996 Springer Science+Business Media New York
About this chapter
Cite this chapter
Foster, I.T., Kohr, D.R., Olson, R., Tuecke, S., Xu, M.Q. (1996). Point-To-Point Communication Using Migrating Ports. In: Szymanski, B.K., Sinharoy, B. (eds) Languages, Compilers and Run-Time Systems for Scalable Computers. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2315-4_15
Download citation
DOI: https://doi.org/10.1007/978-1-4615-2315-4_15
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-5979-1
Online ISBN: 978-1-4615-2315-4
eBook Packages: Springer Book Archive