ArgoDSM

ArgoDSM is available in open source and custom licences.

A new perspective on DSM

Distributed Coherence & Centralized Critical-Section Execution

A coherent global address space in a distributed system enables shared memory programming in a much larger scale than a single multicore or a single SMP. Without dedicated hardware support at this scale, the solution is a software distributed shared memory (DSM) system.

 

Traditional approaches to coherence (centralized via “active” home-node directories) and critical-section execution (distributed across nodes and cores) do not scale well.

 

It is critical to make decisions locally and avois the long latencies imposed by both network and software message handlers. Likewise, synchronization is fast if it rarely involves communication with distant nodes (or even other sockets).

 

ArgoDSM minimizes the amount of long-latency communication required in both coherence and critical section execution with a novel coherence protocol, and a novel hierarchical queue delegation locking approach.

 

 

ArgoDSM offers:

 

  • POSIX Threads (pthreads) compatibility: runs pthreads on clusters
  • Minimal effort to scale a typical pthreads program from one node to thousands of nodes
  • User-space operation: ArgoDSM is a library on top of an RDMA-capable network layer. Remote memory access features of MPI-3 are currently the main backend.
  • Release consistency (RC) and sequential consistency for data-race-free programs
  • Simplicity and extensibility

To properly cite ArgoDSM, please use:

 

Kaxiras, Stefanos, et al. "Turning Centralized Coherence and Distributed Critical-Section Execution on their Head: A New Approach for Scalable Distributed Shared Memory." Proceedings of the 24th International Symposium on High-Performance Parallel and Distributed Computing. ACM, 2015.

 

@inproceedings{kaxiras2015turning,

title={Turning Centralized Coherence and Distributed Critical-Section Execution on their Head: A New Approach for Scalable Distributed Shared Memory},

author={Kaxiras, Stefanos and Klaftenegger, David and Norgren, Magnus and Ros, Alberto and Sagonas, Konstantinos},

booktitle={Proceedings of the 24th International Symposium on High-Performance Parallel and Distributed Computing},

pages={3--14},

year={2015},

organization={ACM}

}