Introduction

The Cooperative Data Sharing system (CDS) is a portable parallel communication library with a very simple logical model (i.e. syntax and semantics) and very efficient physical model (i.e. set of implementation approaches).  The logical model consists of moving memory regions (i.e. byte sequences) between local program ("heap") space and some globally-accessible queues called cells.  The physical model allows these operations to be implemented with a minimum of copying or overhead using virtually-shared dynamic memory regions. (No special MMU support is required.)  As a result, shared-memory, message-passing, and hybrid communication paradigms are possible while still offering portability, efficiency, and user control over the placement and movement of data. The entire library of 51 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 CDS can be considered as a means of programming parallel computers by describing how the data should be shared among the processors (i.e. communication policy), rather than explicitly describing how the data should be communicated among the processors (i.e. mechanism). 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.

[Index]  On to Basic Communication

Copyright 2000 © elepar   All rights reserved