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., th...
Joachim M. Blum, Thomas M. Warschko, Walter F. Tic