Title :
An efficient, protected message interface
Author :
Lee, Whay Sing ; Dally, William J. ; Keckler, Stephen W. ; Carter, Nicholas P. ; Chang, Andrew
Author_Institution :
Stanford Univ., CA, USA
fDate :
11/1/1998 12:00:00 AM
Abstract :
With increasing demand for computing power, multiprocessing computers will become more common in the future. In these systems, the growing discrepancy between processor and memory technologies will cause tightly integrated message interfaces to be essential for achieving the necessary efficiency, which is especially important in light of the growing interest in software-distributed, shared memory systems. The authors conduct a performance evaluation of several primitive messaging mechanisms-dispatch mechanisms (how the processor reacts to message arrivals), memory mapped versus register mapped interfaces, and streaming versus buffered interfaces-baselining these results against the MIT M-Machine and its tightly integrated message interfaces. They find that a message can be dispatched up to 18 times faster by reserving a hardware thread context for message reception instead of an interrupt driven interface. They also find that the mapping decision is important, with integrated register mapped interfaces as much as 3.5 times more efficient than conventional systems. To meet the challenges and exploit the opportunities presented by emerging multithreaded processor architectures, low overhead mechanisms for protection against message corruption, interception, and starvation must be integral to the message system design. The authors hope that the simple messaging mechanisms presented can help provide a solution to these challenges
Keywords :
message passing; multi-threading; multiprocessing systems; network interfaces; MIT M-Machine; buffered interfaces; dispatch mechanisms; hardware thread context; integrated register mapped interfaces; interception; interrupt driven interface; mapping decision; memory mapped interfaces; memory technologies; message arrivals; message corruption; message reception; message system design; multiprocessing computers; multithreaded processor architectures; overhead mechanisms; performance evaluation; primitive messaging mechanisms; protected message interface; register mapped interfaces; software-distributed shared memory system; starvation; streaming interfaces; tightly integrated message interfaces; Buffer storage; Delay; Hardware; Large-scale systems; Network interfaces; Programming profession; Protection; Registers; Resource management; Yarn;