Shray: an Owner-Compute Distributed Shared-Memory System
summary
Shray implements an owner-compute DSM for arrays by mapping the whole logical array into virtual memory and catching accesses via segfault/mprotect cache fetch to pull owned pages on demand, letting each node get a contiguous owned range from stray_start to stray_end and using a barrier sync. Benchmarks use sparse matrix vector and blocked matrix multiply with OpenMP; small tests show a ~100× drop when crossing nodes but larger runs scale and achieve about 3% extra communication versus hand-tuned code and are within 2x MPI for conjugate gradient.
AI-written summary · about
chapters (11)
- 0:00Motivation for distributed shared memory
- 1:47Shray goals
- 3:16Sparse matrices example
- 6:47Traditional DSM challenges
- 7:50Owner-compute rule and VM
- 9:14Shray vs MPI benchmarks
- 12:25Latency mitigation with caching
- 13:52Temporal locality and multithreading
- 15:38Performance on large datasets
- 16:44Conclusion and future work
- 17:51Q&A
related talks
17mDuhu: Shared Disaggregated Memory for Distributed Data Processing Frameworks
24mDistributed Black-Box Model Explanation with Ray
24mRay Internals: Object Management with the Ownership Model
15mOne-sided RDMA-Conscious Extendible Hashing for Disaggregated Memory
26mData Processing on Ray
16mDRust: Language-Guided Distributed Shared Memory with Fine Granularity, Full...
19mSymmetric Memory: A New Paradigm for Programming Distributed AI
19mCollective-on-Ray: High-performance Collective Communication for Distributed Machine Learning on Ray
