(Distributed Shared Memory -- Threads)

System Desciption

DSM-Threads is a distributed runtime system based on the concepts of distributed shared memory. DSM-Threads supports an API closely resembling POSIX Threads. The system allows a simple way to port an application based on the shared-memory paradigm to a distributed environment.

DSM-Threads supports several memory consistency models to facilitate ports and leave room for performance tuning at the same time. Each node itself is multi-threaded, both on the implementation and on the application level, i.e. a user may spawn remote processes (nodes) and multiple threads within each node. The communication is strictly asynchronous and utilizes only decentralized algorithms (for consistency as well as synchronization), including optimizations of existing protocols as well as new protocols for priority support for synchronization.

Current work includes communication support for clusters of workstations under SCI, Myrinet and VIA using Madeleine and BIP; iso-address space for distributed heap allocation; advanced consistency protocols.

The system will be made available under GPL in the future.