2. 重视 I/O 瓶颈
尽管应用负载会存在计算密集型、内存密集型和 I/O 密集型等差异,但对于 CPU 芯片和通用服务器系统来说,这些应用需求都需要照顾到。值得注意的是,在不同时期,随着应用需求的变化,要考虑的侧重点会有所不同。
对 x86服务器来说,今天 CPU 的发展速度远远超过了内存、磁盘、网络等 I/O 系统,使得 I/O 瓶颈在实际应用中越来越突出,特别是对于虚拟化、大规模数据库等内存密集型应用而言,更是如此。我们知道,在一个向上扩展的多核系统中,数据存取的层次是 CPU、缓存、内存、硬盘,越往外层,I/O 越慢,因此,随着 CPU 的核心数量越多,CPU 喂不饱的现象会更加严重,I/O 因此成为多核计算之路上最重要的因素。
这一点也得到了从芯片厂商到服务器厂商的一致认同,如英特尔最新的至强 7500处理器通过引入 QPI 直连架构、集成内存控制器和大容量缓存,跟上一代产品相比,内存带宽提高了 9倍;甚至还发布了至强 6500这样一款处理器来满足那些需要“双路服务器计算性能+四路服务器内存容量”的用户,比如一些内存密集型的高性能计算应用。
在服务器厂商层面,IBM 在其新一代 eX5系统设计架构中更是着重考虑 I/O 问题,如 MAX5 内存扩展技术可以提高 2倍内存容量,eXFlash 固态存储子系统大幅提高磁盘 I/O,同时将网络 I/O 虚拟化技术引入 x86系统。比如,IBM System x3690 X5就是一款采用eX5架构设计的双路机架服务器,支持英特尔至强 6500系列(Nehalem-EX)处理器。一台 x3690 X5机箱里可以支持32个内存 DIMM,如果再配上 MAX5 内存扩展单元(上有 32个内存 DIMM),即可以扩展到 64个 DIMM; 而如果通过 QPI 线缆将两台 x3690 X5 连在一起,形成四路系统,总共内存 DIMM 数就可以达到 128条!可见,IBM 的 eX5已经巅覆了划分双路、四路系统的传统标准。