最初的 x86 架构只支持 32 位寻址,最大物理内存限制为 4GB。但随着扩展模式(Extended Mode)的引入,x86 架构可以支持 64 位寻址,最大物理内存容量可达到几十 TB。现在容量够了,该怎么继续提升内存的性能呢?
x86 发展出了两个主要的内存子系统优化方案,显著提升了 x86 体系计算机的内存速度。
众所周知,近十年来服务器 CPU 核心数量激增,内存通道也从最初的双通道逐渐发展至如今的 12 通道。然而,相较于内存带宽,CPU 核心数量的增长更为迅猛:这些年来,每个 CPU 核心所能获得的内存带宽持续下降,导致每台虚拟机的内存读写速度反而变慢。
几年前,微软统计了其服务器各项部件的总成本,惊讶地发现超过 50% 的服务器费用都用于购买内存条。内存不仅硬件成本高昂,现有的内存架构还导致内存在虚拟机内部存在巨大的浪费:几乎每台物理服务器都浪费了大约 50% 的内存。而这实际上是英特尔有意为之的。
x86 的内存子系统一直封闭不开放,直到近年来机器学习的兴起使人类社会对服务器内存容量的需求再次攀升。在英伟达股价不断飙升之后,英特尔才被迫开放了 CXL 标准,基于 PCIe 5.0 的高带宽,使得内存能够像硬盘一样自由扩展。与此同时,由于 CXL 的高带宽通信能力,机器内不同内存模块之间(如内存、显存、网卡缓存)的数据传输速度也得到了显著提升。
📙 高并发的哲学原理 《Philosophical Principles of High Concurrency》
Copyright © 2023 吕文翰