The nexus approach to integrating multithreading and communication.
Lightweight threads have an important role to play in parallel systems: they can be used to exploit shared-memory parallelism, to mask communication and I/O latencies, to implement remote memory access, and to support task-parallel and irregular applications. In this paper, we address the question of how to integrate threads and communication in high-performance distributed-memory systems. We propose an approach based on global pointer and remote service request mechanisms, and explain how these mechanisms support dynamic communication structures, asynchronous messaging, dynamic thread creation and destruction, and a global memory model via interprocessor references. We also explain how these mechanisms can be implemented in various environments. Our global pointer and remote service request mechanisms have been incorporated in a runtime system called Nexus that is used as a compiler target for parallel languages and as a substrate for higher-level communication libraries. We report the results of performance studies conducted using a Nexus implementation; these results indicate that Nexus mechanisms can be implemented efficiently on commodity hardware and software systems.
- Research Organization:
- Argonne National Laboratory (ANL)
- DOE Contract Number:
- AC02-06CH11357
- OSTI ID:
- 938088
- Report Number(s):
- ANL/MCS-P584-0397
- Journal Information:
- J. Parallel Distrib. Comput., Journal Name: J. Parallel Distrib. Comput. Journal Issue: 1996 Vol. 37
- Country of Publication:
- United States
- Language:
- ENGLISH
Similar Records
Technologies for ubiquitous supercomputing : a java interface to the nexus communication system.
On the design of Chant: A talking threads package