A Communication Architecture for Multiprocessor Networks - Robotics Institute Carnegie Mellon University

A Communication Architecture for Multiprocessor Networks

Andreas Nowatzyk
Miscellaneous, PhD Thesis, CMU-SCS-TR-89-181, School of Computer Science, Carnegie Mellon University, April, 1989

Abstract

The system described in this thesis explores the territory between the two classical multiprocessor families: shared memory and message-passing machines. Like shared memory systems, the proposed architecture presents the user a logically uniform address space shared by all processors. This programming model is supported directly by dedicated communication hardware that is translating memory references into messages that are exchanged over a network of point to point channels. The key parts of this work are the communication system and its integration with contemporary processor and memory components to form a homogeneous, general-purpose multiprocessor. The communication system is based on an adaptive routing heuristic that is independent of the actual network topology. High priority was given to optimal use of the physical bandwidth even under heavy or saturated load conditions. The communication system can be extended in small, incremental upgrades and supports medium haul channels that can link two or more multiprocessor clusters together in a transparent fashion. Integration of the communication system is based on the shared memory model. This avoids the overhead of explicitly sending and receiving messages but introduces the problem of maintaining a consistent state. Memory coherence is achieved through the notion of time. A system wide clock of sufficient precision to sequentialize concurrent access is maintained in hardware. As a measure to avoid unnecessary synchronizations, the memory model is relaxed to allow transient inconsistencies. Application code can explicitly resort to strongly coherent memory access at the expense of higher latency. The primary tool for assessing the performance of the proposed architecture was a simulator that can execute application programs for the target system. Nonintrusive instrumentation was provided down to individual clock cycles. A trace-based visualization tool aided both the debugging of the architecture and the application code benchmarks.

BibTeX

@misc{Nowatzyk-1989-15462,
author = {Andreas Nowatzyk},
title = {A Communication Architecture for Multiprocessor Networks},
booktitle = {PhD Thesis, CMU-SCS-TR-89-181, School of Computer Science, Carnegie Mellon University},
month = {April},
year = {1989},
}