Publications

The Nexus approach to integrating multithreading and communication

Abstract

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 …

Date
August 25, 1996
Authors
Ian Foster, Carl Kesselman, Steven Tuecke
Journal
Journal of Parallel and Distributed Computing
Volume
37
Issue
1
Pages
70-82
Publisher
Academic Press