Despite being a powerful concept, distributed shared memory (DSM) has not been made practical due to the extensive synchronization needed between servers to implement memory coherence. This paper shows a practical DSM implementation based on the insight that the ownership model embedded in programming languages such as Rust automatically constrains the order of read and write, providing opportunities for significantly simplifying the coherence implementation if the ownership semantics can be exposed to and leveraged by the runtime. This paper discusses the design and implementation of DistR, a Rust-based DSM system that outperforms the two state-of-the-art DSM systems GAM and Grappa by up to 2.64x and 29.16x in throughput, and scales much better with the number of servers.
翻译:尽管分布式共享内存(DSM)是一个强大的概念,但由于实现内存一致性需要在服务器之间进行大量同步,其一直未能走向实用化。本文展示了一种实用的DSM实现,其核心洞见在于:编程语言(如Rust)内嵌的所有权模型自动约束了读写顺序,如果运行时系统能够获知并利用这种所有权语义,将为实现一致性提供显著的简化机会。本文讨论了DistR的设计与实现,这是一个基于Rust的DSM系统。在吞吐量上,DistR比两种最先进的DSM系统(GAM和Grappa)分别高出最高2.64倍和29.16倍,并且在服务器数量增加时展现出好得多的可扩展性。