Memory-compute disaggregation promises transparent elasticity, high utilization and balanced usage for resources in data centers by physically separating memory and compute into network-attached resource "blades". However, existing designs achieve performance at the cost of resource elasticity, restricting memory sharing to a single compute blade to avoid costly memory coherence traffic over the network. In this work, we show that emerging programmable network switches can enable an efficient shared memory abstraction for disaggregated architectures by placing memory management logic in the network fabric. We find that centralizing memory management in the network permits bandwidth and latency-efficient realization of in-network cache coherence protocols, while programmable switch ASICs support other memory management logic at line-rate. We realize these insights into MIND, an in-network memory management unit for rack-scale memory disaggregation. MIND enables transparent resource elasticity while matching the performance of prior memory disaggregation proposals for real-world workloads.
翻译:内存计算分解意味着通过将内存实际分离并纳入与网络连接的资源“刀片”来透明地弹性、高利用率和均衡地使用数据中心的资源。然而,现有的设计以资源弹性为代价实现性能,将内存共享限制在单一的计算刀片上,以避免网络上花费昂贵的内存一致性交通。在这项工作中,我们表明,新出现的可编程网络开关可以通过在网络结构中设置内内内存管理逻辑,使分解结构能够高效地共享内存抽象。我们发现,将内存管理集中到网络内,可以实现网络内缓存一致性协议的带宽度和延缓存效率,而可编程的转换 ACICS则支持线性的其他内存管理逻辑。我们将这些洞察到MIND,这是一个内部内存内存管理单位,用于刻式内存式记忆分解,可以实现透明的资源弹性,同时与实际世界工作量的内存分解建议的执行相匹配。