微软、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 还有望带来更好的体验。
(举报)
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容