CXL内存池助力Microsoft Azure节省数亿美元DRAM硬件开销
微软、Google、亚马逊等云计算巨头,都在以各种“实例”(Instance)和按需付费的方式,向广大客户提供其云端硬件资源。不过通常情况下,这些实例都会受到特定的 CPU 和内存配置的约束 —— 意味着客户智能从预设的几个选项中进行挑选、而无法进一步细分配置。

(图 via SemiAnalisis)
比如每多一个虚拟的 CPU 核心,就会往上添加 2GB 的内存。且在实例开启的过程中,预先分配的 CPU 与内存资源也被单个客户锁定,而无法在全局环境中动态调节。
长期以来,超大规模企业一直在努力思考如何缓和这方面的资源浪费 —— 毕竟许多示例没有充分利用其 DRAM,导致整个数据中心的使用效率低下。
以 Microsoft Azure 为例,其测量结果表明 —— 近半虚拟机从未使用超过 50% 的预分配内存资源,这样的浪费是相当惊人的。
随着 CPU 资源的触顶,剩余的内存资源无法物尽其用,微软将这种状态称作内存搁浅(Memory Stranding)。
更让人感到震惊的是,多达 25% 的 DRAM 在任何特定时刻都可能被搁置。

为了大幅改善这种情况,Microsoft Azure 想到了所谓的“内存池”(Memory Pooling)概念。
旨在允许 CPU 访问其所需的尽可能多的内存、而不占用或搁置不需要那么多 DRAM 资源的虚拟机。
好消息是,全新的 CXL 缓存一致性协议,已经得到了各大主流硬件提供商的产品支持。
通过采用 CXL 硬件,微软等数据中心运营商有望大幅降低其 DRAM 成本。
假如最终得到 9~10% 的整体 DRAM 优化,大型云服务器提供商可轻松介绍数亿美元的内存硬件开销。
此外微软估计,使用 CXL 和内存池技术,将使数据中心的服务器成本降低 4-5% —— 毕竟仅 DRAM 组件就占比超过了 50% 。

性能方面,Microsoft Azure 团队对一些使用本地 DRAM / 内存池的配置进行了基准测试,不过性能损失 / 最佳效果还是取决于具体的应用程序。
一方面,Memory Pooling 会导致额外的 67-87 ns 延迟,导致某些应用程序的速度变得更慢。
另一方面,20% 左右的应用程序并未受到内存池的性能拖累,但有 23% 的应用程序性能损失不到 5% 。
此外 25% 的应用程序减速超 20%,12% 的应用程序减速超 30% 。
需要指出的是,这只是微软在首批 CXL 硬件上展开的早期测试。展望下一代硬件和新的 CXL 协议规范,Memory Pooling 还有望带来更好的体验。
最新更新
推荐阅读
猜你喜欢
关注我们
 
      
 新闻
 新闻  财经
 财经  科技
 科技  房产
 房产  商业
 商业  酒香
 酒香  生活
 生活  车界
 车界  文化
 文化  网站首页
网站首页






