专栏
天翼云开发者社区

Pond论文分享

2023-09-27 14:07:32 145阅读

论文信息

  • 题目:Pond: CXL-Based Memory Pooling Systems for Cloud Platforms
  • 作者:Huaicheng Li, Daniel S. Berger 等
  • 单位:Carnegie Mellon University, Microsoft Azure 等
  • 来源:ASPLOS  23

背景和动机

    这篇论文主要介绍微软的基于CXL的内存池化系统Pond。为什么要做内存池化,原因是内存是服务器的主要成本(例如DRAM占Azure成本的一半),而服务器中存在着大量内存浪费的问题,内存池化可以减少内存浪费,有效降低内存成本。

    服务器中的内存浪费,主要包括内存搁浅(memory stranding)和未用内存(untouched memory)两种。

  • 内存搁浅:服务器的所有核心都被租用,内存仍剩余但无法利用。Azure中25% 的DRAM处于搁浅状态。
  • 未用内存:用户租了内存但未实际使用。Azure中约50%的VM用不到50%内存。

    CXL的出现有效降低了CPU访问远内存的时延。Pond基于CXL构建内存池。虽然CXL虽然降低了时延,但时延对应用负载性能的影响仍然存在。如下图所示,CXL下工作负载随时延增加存在性能下降的问题。论文还注意到,不同负载对时延敏感性不同。

设计

    论文提出了一个低时延内存池设计。首先在硬件层面上,引入了EMC(External memory controller), 避免了CXL多级交换机带来的时延。虽然EMC最多直连 16 sockets,但论文研究发现8-16 sockets的内存池就能足够节省大量内存,更多的sockets带来的内存节省量很少。此外,论文还引入了zNUMA(zero-core NUMA)的概念,可以使内存优先申请local。

    Pond的整体框架如下图所示。主要分为A、B两部分。A部分的VM调度器使用基于ML的预测来识别对时延敏感的VM及其可能的未用内存量,从而决定VM的放置位置。B部分是监控模块,如果不满足QoS,则重新配置VM。

    其中的ML预测模块包括VM调度和QoS监控两部分。涉及到时延敏感预测和未用内存量预测两个模型。时延敏感预测模型是一个分类模型,判定VM是否是时延敏感的。未用内存量预测是一个回归模型,预测可能的未用内存量。QoS监控会对未用内存量预测是否过预测进行判断,过预测会重新判定VM的时延敏感性。

实验

    实验结果显示Pond能识别出25%的未用内存,只过预测了4%的VM。16 sockets 内存池节省了7%-9%的DRAM。

总结

总结一下,论文的贡献主要有以下几点:

  • 首次描述内存搁浅和未用内存概念
  • 基于CXL的small-pool 低时延内存池的软硬件解决方案
  • 借助基于ML的预测模型提升性能
  • 0
  • 0
  • 0
0 评论
0/1000
评论(0) 发表评论
w****n

w****n

2 篇文章 0 粉丝
关注

Pond论文分享

2023-09-27 14:07:32 145阅读

论文信息

  • 题目:Pond: CXL-Based Memory Pooling Systems for Cloud Platforms
  • 作者:Huaicheng Li, Daniel S. Berger 等
  • 单位:Carnegie Mellon University, Microsoft Azure 等
  • 来源:ASPLOS  23

背景和动机

    这篇论文主要介绍微软的基于CXL的内存池化系统Pond。为什么要做内存池化,原因是内存是服务器的主要成本(例如DRAM占Azure成本的一半),而服务器中存在着大量内存浪费的问题,内存池化可以减少内存浪费,有效降低内存成本。

    服务器中的内存浪费,主要包括内存搁浅(memory stranding)和未用内存(untouched memory)两种。

  • 内存搁浅:服务器的所有核心都被租用,内存仍剩余但无法利用。Azure中25% 的DRAM处于搁浅状态。
  • 未用内存:用户租了内存但未实际使用。Azure中约50%的VM用不到50%内存。

    CXL的出现有效降低了CPU访问远内存的时延。Pond基于CXL构建内存池。虽然CXL虽然降低了时延,但时延对应用负载性能的影响仍然存在。如下图所示,CXL下工作负载随时延增加存在性能下降的问题。论文还注意到,不同负载对时延敏感性不同。

设计

    论文提出了一个低时延内存池设计。首先在硬件层面上,引入了EMC(External memory controller), 避免了CXL多级交换机带来的时延。虽然EMC最多直连 16 sockets,但论文研究发现8-16 sockets的内存池就能足够节省大量内存,更多的sockets带来的内存节省量很少。此外,论文还引入了zNUMA(zero-core NUMA)的概念,可以使内存优先申请local。

    Pond的整体框架如下图所示。主要分为A、B两部分。A部分的VM调度器使用基于ML的预测来识别对时延敏感的VM及其可能的未用内存量,从而决定VM的放置位置。B部分是监控模块,如果不满足QoS,则重新配置VM。

    其中的ML预测模块包括VM调度和QoS监控两部分。涉及到时延敏感预测和未用内存量预测两个模型。时延敏感预测模型是一个分类模型,判定VM是否是时延敏感的。未用内存量预测是一个回归模型,预测可能的未用内存量。QoS监控会对未用内存量预测是否过预测进行判断,过预测会重新判定VM的时延敏感性。

实验

    实验结果显示Pond能识别出25%的未用内存,只过预测了4%的VM。16 sockets 内存池节省了7%-9%的DRAM。

总结

总结一下,论文的贡献主要有以下几点:

  • 首次描述内存搁浅和未用内存概念
  • 基于CXL的small-pool 低时延内存池的软硬件解决方案
  • 借助基于ML的预测模型提升性能
文章来自专栏

论文分享1

2 篇文章 1 订阅
0 评论
0/1000
评论(0) 发表评论
  • 0
    点赞
  • 0
    收藏
  • 0
    评论