Memory disaggregation has recently been adopted in data centers to improve resource utilization, motivated by cost and sustainability. Recent studies on large-scale HPC facilities have also highlighted memory underutilization. A promising and non-disruptive option for memory disaggregation is rack-scale memory pooling, where shared memory pools supplement node-local memory. This work outlines the prospects and requirements for adoption and clarifies several misconceptions. We propose a quantitative method for dissecting application requirements on the memory system from the top down in three levels, moving from general, to multi-tier memory systems, and then to memory pooling. We provide a multi-level profiling tool and LBench to facilitate the quantitative approach. We evaluate a set of representative HPC workloads on an emulated platform. Our results show that prefetching activities can significantly influence memory traffic profiles. Interference in memory pooling has varied impacts on applications, depending on their access ratios to memory tiers and arithmetic intensities. Finally, in two case studies, we show the benefits of our findings at the application and system levels, achieving 50% reduction in remote access and 13% speedup in BFS, and reducing performance variation of co-located workloads in interference-aware job scheduling.
翻译:内存分离技术近期因成本和可持续性考量,已被数据中心用于提升资源利用率。对大规模HPC设施的最新研究同样揭示了内存利用不足的问题。作为一种有前景且非侵入式的内存分离方案,机架级内存池化通过共享内存池补充节点本地内存。本工作阐述了该技术的应用前景与必要条件,并澄清了若干误解。我们提出一种自上而下的三层次定量方法,从通用层、多层内存系统层到内存池化层,逐步剖析应用对内存系统的需求。我们开发了多级性能剖析工具及LBench以支持该定量方法,并在模拟平台上评估了系列代表性HPC工作负载。结果表明,预取操作会显著影响内存流量特征。内存池化中的干扰对应用的影响存在差异,具体取决于其对各内存层的访问比率及算术强度。最后,通过两个案例研究,我们展示了研究成果在应用层和系统层的效益:在BFS中实现远程访问减少50%、速度提升13%,并在干扰感知型作业调度中降低共置工作负载的性能波动。