“网络 RAM”和“分布式共享内存”(DSM)有什么区别?基本上,我知道它们都在集群中的所有系统之间提供 RAM 上的共享存储。那么,它们有什么区别呢?
答案1
网络 RAM 实际上是用于交换页面的远程 RAM 磁盘。因此,内存页面地址的主节点与提供 RAM 存储的节点不同(当页面被交换出时)。网络 RAM 的主要目的是平衡内存容量的利用率,尤其是当某些节点处于空闲状态时。提供 RAM 的节点将无法在应用程序级别寻址该内存(至少不能作为与该存储提供节点相关联的内存)。
通过使用交换接口,实现网络 RAM 将比实现更通用的迁移机制简单得多。网络 RAM 还使用单个中等大小的消息,因此传输对于不支持 RDMA 的网络来说比缓存行大小的传输更友好。
在分布式共享内存中,与节点关联的地址空间的内存完全包含在该节点中,但属于同一分区全局地址空间的任何节点都可以寻址该内存。分布式共享内存通过允许其他节点寻址远程内存为分布式计算提供了基础。
更令人困惑的是,DSM 系统可以执行优化以减少网络流量和延迟,例如复制和内存迁移。
网络 RAM 实际上是将基于低时间局部性的内存迁移到具有过剩容量的节点,并且可以为 DSM 系统、消息传递系统甚至运行完全独立工作负载的节点集群实施。网络 RAM 本身不为其他节点提供任何方法来寻址远程活动内存,因此不能将其用作分布式计算的基础。