eX5创新之一:MAX5内存扩展技术
内存是虚拟化、云计算和数据库等应用的关键瓶颈,但现有的X86服务器架构却限制了内存的扩展。以至强7000系列处理器为例,虽然每一代处理器的内核、缓存、主频,甚至微处理器架构都有发生变化,但每个内核所能访问的内存DIMM数却相当保守,如下表所示:
处理器 | 至强7100 | 至强7300 | 至强7400 | Nehalem-EX |
发布年份 | 2006年 | 2007年 | 2008年 | 2010年 |
每CPU内核数 | 2个 | 4个 | 6个 | 8个 |
频率 | 3.4GHz | 2.93GHz | 2.66GHz | 2.26GHz |
内存DIMM数/核 | 2个 | 2个 | 4/3个 | 2个 |
由于英特尔在Nehalem处理器中开始集成内存控制器,这可以大幅提升性能,但对于内存扩展也带来了一些新的挑战,比如扩充内存先要添加处理器,远端内存的访问性能显著降低,在某些情况下必须使用昂贵的大容量内存。为此,IBM对X86服务器架构进行了大胆的创新:将内存从传统的与服务器处理器紧密捆绑的局限位置中解脱出来,让内存的扩展可以独立于处理器!其方法就是eX5架构中最重要的一块:MAX5内存扩展技术。
IBM MAX5内存扩展单元,上有32个内存DIMM
现场展示的MAX5内存扩展单元
MAX5的关键技术就在于这个散热器下面的eX5芯片,其中包含内存控制器和探听过滤器
MAX5内存扩展带来的好处是显而易见的:支持的最大虚拟机数量是竞争产品的两倍,支持更高的数据库性能,提高服务器利用率,允许用户用更便宜的内存硬件来满足特定内存容量需求,这么多的内存可以灵活发分配给多个CPU使用或者汇聚成一个内存池,软件许可证费用大大减少,另外,由于MAX5芯片中还集成了探听过滤器,可以更好的管理多个CPU内存与多个内存之间的数据冲突和延迟,提高内存访问性能。
比如,一台双路的x3690 X5机箱里本身就可以支持上下两块带有16个DIMM的内存板,即共有32个内存DIMM,如果再配上MAX5内存扩展单元(上有32个内存DIMM),即一台x3690 X5最终可以扩展到64个DIMM;而如果通过QPI线缆将两台x3690 X5连在一起,形成四路系统,总共内存DIMM数就可以达到128条!