面向超大规模数据中心的由工作负载行为驱动的内存子系统设计
分布式、并行与集群计算
2023-05-03 v2 硬件体系结构
摘要
超大规模服务商(hyperscalars)在庞大的服务器集群上运行服务,为全球数十亿用户提供服务。然而,这些服务的行为不同于常见的基准测试套件,导致服务器架构并未针对云工作负载进行优化。随着数据中心成为服务器处理器的主要市场,通过更好地理解云工作负载的行为来优化服务器处理器已变得至关重要。为此,本文提出 MemProf,一种内存分析器,用于剖析云工作负载中导致停顿的三类主要原因:取指(code-fetch)、内存带宽和内存延迟。我们利用 MemProf 理解云工作负载的行为,并提出和评估有助于提升云工作负载性能的微体系结构与内存系统设计改进。MemProf 的代码分析表明,云工作负载在各 CPU 核上执行相同的代码。基于此,我们提出共享的微体系结构单元——共享 L2 I-TLB 与共享 L2 缓存。接下来,为缓解内存带宽停顿,利用工作负载的内存带宽分布,我们发现仅有少数页面贡献了系统的大部分带宽。基于该发现,我们评估了一种新型高带宽、小容量内存层,并显示其性能优于当前基线配置 1.46 倍。最后,我们探究改善云工作负载内存延迟的方法。使用 MemProf 的剖析揭示,作为降低内存延迟常用方案的 L2 硬件预取器覆盖率极低,且消耗大量内存带宽。为提升硬件预取器性能,我们构建了一个内存追踪工具来收集并验证生产环境的内存访问轨迹。
引用
@article{arxiv.2303.08396,
title = {Workload Behavior Driven Memory Subsystem Design for Hyperscale},
author = {Suyash Mahar and Hao Wang and Wei Shu and Abhishek Dhanotia},
journal= {arXiv preprint arXiv:2303.08396},
year = {2023}
}