This directory contains CSRI technical report #294 entitled: Optimizing IPC Performance for Shared-Memory Multiprocessors Benjamin Gamsa, Orran Krieger, and Michael Stumm The file "294.ps" is a postscript version of this document. The file "294.ps.Z" is a postscript version of this document compressed using the UNIX program compress. If you have UNIX uncompress, take the compressed version to achieve a quicker transfer. This report was made available for anonymous ftp by: stumm@csri.toronto.edu If you have any trouble printing it, please let me know. Abstract: We assert that in order to perform well, a shared-memory multiprocessor inter-process communication (IPC) facility must avoid a) accessing any shared data, and b) acquiring any locks. In addition, such a multiprocessor IPC facility must preserve the locality and concurrency of the applications themselves so that the high performance of the IPC facility can be fully exploited. In this paper we describe the design and implementation of a new shared-memory multiprocessor IPC facility that in the common case internally requires no accesses to shared data and no locking. In addition, the model of IPC we support and our implementation ensure that local resources are made available to the server to allow it to exploit any locality and concurrency available in the service. To the best of our knowledge, this is the first IPC subsystem with these attributes. The performance data we present demonstrates that i) the end-to-end performance of our multiprocessor IPC facility is competitive with the fastest uniprocessor IPC times, and ii) that our implementation can sustain this performance with perfect speedup regardless of the degree of concurrency, even if all requests are directed to the same server.