Cooperative Data Sharing: a layered approach to an architecture-independent Message-Passing Interface
David C. DiNucci · 2002
When MPI began to take form as a rather high-level interface with extensive features, it became somewhat less attractive to some benchmarkers and tool builders who required a very efficient low-level portable interface and did not need extensive features targeted toward application development. As a result, the Message Passing Kernel (MPK) project began at NAS. The name changed to the Cooperative Data Sharing (CDS) System when it became clear that the semantics we desired did not require copying (as message-passing does). The document describes the design and implementation of the kernel level of CDS, called CDS1, and some directions we are taking on a higher, MPI-level interface built upon it, called CDS2. The semantics of communication in CDS1 are similar to shared memory in that no copying is required and data sharing and one-sided communication is supported, and similar to message-passing in that regions of contiguous data can be passed from one process to another through queues. A prototype of CDSI has been demonstrated on an SGI Power Challenge Array and a network of Sun workstations running Solaris.