Cooperative Data Sharing System (CDS)

Brief Description

CDS1 is a portable parallel communication library based on virtually-shared dynamic memory regions. (No special MMU support is required.) Communication is performed by passing virtualized pointers to these regions among processes through queue-like constructs called communication cells. As a result, both shared-memory and message-passing communication, as well as Linda-like production-consumption paradigms, are possible using a small set of simple primitives while still offering the user control over the placement and movement of data. The entire library of 26 functions also supports In spite of its simplicity, programs (using any or all of the primitives) are efficient in shared-memory, message-passing, and cluster environments, because:

As in shared memory models

As in message-passing models

A prototype of the CDS1 interface has been implemented on SGI and Solaris clusters.

CDS1 is the lowest level of a larger system, called The Cooperative Data Sharing System (CDS). CDS is a means of programming parallel computers by describing how the data should be shared among the processors, rather than explicitly describing how the data should be communicated among the processors. This can yield more portable and correct programs, since the mechanics of communication can be handled automatically and can be performed using the most efficient mechanisms available for a particular architecture.

CDS2 is a higher-level subroutine layer, built upon CDS1, to provide a more complete interface for applications programmers at the cost of some additional overhead. CDS1 and CDS2 can be used together within the same user program. CDS2 is not yet complete.

More Information

Please Note: The papers listed are covered by the respective publisher's copyright. Although they can be viewed from this page for individual use, the rights of the publisher must be observed.

Obtaining the Prototype

A prototype of the CDS1, which runs on SGI IRIX 5.3, IRIX 6.x, and (some) Sun Solaris platforms is currently available under the HPCC beta agreement. Until it is posted to the NAS Software Archive, requests should be sent to dinucci@nas.nasa.gov
NAS Logo

Do not bookmark this page. This content from the old NAS website is moving from www.nas.nasa.gov to a new site. Please visit our new home page for up-to-date news and information about the NAS Systems Division.

Updated: Tuesday, 03-Aug-1999 17:08:45 PDT
WebWork: Robert Hood
NASA Responsible Official: Subhash Saini