PULC is a user-level communication library for workstation clusters. PULC provides a multi-user, multi-programming communication library for user level communication on top of high-speed communication hardware. In this paper, we describe the design of the communication subsystem, a rst implementation on top of the ParaStation communication card, and benchmark results of this rst implementation. PULC removes the operating system from the communication path and o ers a multi-process environment with user-space communication. Additionally, wehave moved some operating system functionality to the user level to provide higher e ciency and exibility. Message demultiplexing, protocol processing, hardware interfacing, and mutual exclusion of critical sections are all implemented in user-level. PULC o ers the programmer multiple interfaces including TCP user-level sockets, MPI CGH94], PVM BDG+93], and Active Messages CCHvE96]. Throughput and latency are close to the hardware performance (e.g., t...
Joachim M. Blum, Thomas M. Warschko, Walter F. Tic