Hardware support for interprocess communication

  • Authors:
  • U. Ramachandran;M. Solomon;M. Vernon

  • Affiliations:
  • School of Information and Computer Science, Georgia Institute of Technology;Computer Science Department, University of Wisconsin-Madison;Computer Science Department, University of Wisconsin-Madison

  • Venue:
  • ISCA '87 Proceedings of the 14th annual international symposium on Computer architecture
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

In recent years there has been increasing interest in message-based operating systems, particularly in distributed environments. Such systems consist of a small message-passing kernel supporting a collection of system server processes that provide such services as resource management, file service, and global communications. For such an architecture to be practical, it is essential that basic messages be fast, since they often replace what would be a simple procedure call or “kernel call” in a more traditional system. Careful study of several operating systems shows that the limiting factor, especially for small messages, is typically not network bandwidth but processing overhead. Therefore, we propose using a special-purpose coprocessor to support message passing. Our research has two parts: First, we partitioned an actual message-based operating system into communication and computation parts interacting through shared queues and measured its performance on a multiprocessor. Second, we designed hardware support in the form of a special-purpose smart bus and smart shared memory and demonstrated the benefits of these components through analytical modeling using Generalized Timed Petri Nets. Our analysis shows good agreement with the experimental results and indicates that substantial benefits may be obtained from both the partitioning of the software and the addition of a small amount of special-purpose hardware.