解读至强的小秘密之傲腾持久内存 重构计算系统的 “社区图书馆”

传统上,在一个计算系统中,贴近计算的数据(热数据),和远离计算的数据(温、冷数据)被分别 “安置” 在易失性的处理器缓存和 DRAM 内存,以及拥有数据持久性的固态盘和硬盘中。在全球数据规模呈几何级增长的背景下,在所有用户都急切盼望重构存储介质或设备之间的层级关系,以提升数据处理效率之际,这个传统的内存-存储架构正变得十分脆弱。

问题到底出在哪里了呢?如图一所示,如果我们把系统读写、处理数据的过程比作资料书籍的查询或调阅,处理器内的寄存器和高速缓存就像是家中的书桌和书柜,书桌上摆着的数据无疑唾手可得,但只有几页纸或几本书的容纳量;书柜里的资料书籍数量更多些,但取用的耗时也略长一些。

到了 DRAM 内存这一级,情况就会发生一些变化,因为它已不再是处理器硅片上集成的存储部件了,但又是其他存储部件或设备中距离处理器最近的,因此更像是离家较近的社区图书馆,收藏的书籍或资料更为丰富,但要去找书查资料,就得出家门(延时更长)、携带量也受限(数据传输性能也低一些)。

图一 用书的存放和查找作例来理解不同存储层级的特点

转遍了社区图书馆,如果所需的书或资料还没有找到,就不得不长途跋涉前往固态盘和硬盘了。这两种存储设备或介质与处理器内的寄存器、缓存,还有刚刚提及的内存更加不同,它们就好比大型的城市级甚至是国家级的图书馆,存放的数据资料可谓浩如烟海,但更倾向于容量的设计目标也使得它们在性能表现有更多牺牲,因此拜访一次的耗时不菲且能取回的数据量更加受限。

上述的类比,就是传统内存-存储架构的形象体现,如果要有更精确的印象,不妨看看表一基于不同存储层级的真实性能和延时数据所做的比较。从中我们不难发现,醒目的性能鸿沟正位于 DRAM 内存和固态盘/硬盘之间,其差距足有千倍以上。

表一 不同存储介质的延迟速度类比

据此,要理解内存计算或内存数据库技术的缘起,也就是件自然而然的事儿了——毕竟处理器硅片上寸土寸金,功耗上也有更多限制,因此大幅扩展缓存容量的设计往往会因此让步给增添全新计算单元或集成更多周边组件的想法,而尽可能扩展内存容量,并将更多热数据存入其中就成了加速数据分析和处理的有效途径,同时也是在成本上更容易让人承受的法子。这就像自家的房子不可能为了容纳超大的书桌和书房而动辄盖成数百或上千平米之大,但把离家最近的社区图书馆扩建一下,则是更加实惠、也利人利已的做法。

然而,计划再好,也经常赶不上变化。随着移动互联网和互联网时代的到来,也随着海量数据处理技术的成熟,DRAM 内存在容量和成本上也开始不敷应用。以现在很多 APP 背后常用的推荐系统为例:其核心的分布式索引系统为了应对高并发需求,通常需要基于内存数据库构建,而且对于承载这个数据库的内存的容量要求也越来越高,过去上百或几百 GB 就能满足,现在则恨不能以 TB 起步。然而要构建这样的内存系统,DRAM 内存普遍单条 128GB 的容量是很难实现的,而且就算计算系统提供了更多内存通道和更多内存插槽,DRAM 内存高昂的价格,也会让人望而却步。

因此,不论是最终用户,还是 IT 厂商,都认为在 DRAM 内存和固态盘/硬盘之间亟需开发一种全新的存储部件或设备,来解决 DRAM 内存在容量和成本上面临的两难局面,并满足更大内存数据库的构建需求。

英特尔® 傲腾™ 持久内存就是英特尔针对上述需求推出的创新产品,其创新的 3D XPoint™ 存储介质,与先进的内存控制器和其它软硬件技术相结合,使其在性能上接近 DRAM 内存,在容量上又能有数倍的提升。它的出现,如图三所示,填补了内存与传统存储间的缺口,也颠覆了传统的内存-存储架构。用它来扩建扮演社区图书馆角色的内存系统,不但容量上更易达标(单条容量可达 512GB),造价也能较易承受。

图三 英特尔® 傲腾™ 持久内存填补 DRAM 内存与固态盘/硬盘之间的缺口

选用傲腾™ 持久内存,还有两个附带收获,即可按字节寻址和数据持久性。前者针对的是固态盘和硬盘常用的按块读写机制,这种机制就如同去图书馆借书时,必须要把放置有目标书籍的整个书架上的书都背回家再做分拣,而按字节寻址则能精准定位目标书籍的位置并仅将其借出。数据持久性则补全了 DRAM 内存的先天不足,即可在断电后依然能保留数据,这就让大体量的内存数据库在计算系统出现计划内或计划外停机时,重启及恢复服务的速度大大加快,毕竟中间节省了把数百 GB,甚至是 TB 级数据从固态盘或硬盘上读回内存的耗时。

英特尔® 傲腾™ 持久内存这种种应用优势,绝非纸上谈兵。以互联网行业的快手为例,它就用傲腾™ 持久内存升及了推荐系统的存储系统,在满足性能要求之余,使其 TCO 降低了 30%,并故障恢复用时获得高达百倍的缩短1

再以正积极推进制造业数字化和智能化转型的宁德时代为例,其基于内存数据库的制造执行系统(MES)导入傲腾™ 持久内存后,数据落盘速度提升到原来的 6.2 倍,系统重启的耗时也从原来的数十分钟缩短至 5-10 分钟2,这就让该系统能够以更优的效率响应生产的实时数据处理需求,并为产能扩展大计提供更可靠的保障。

图四 宁德时代 MES Data Merge 性能在采用傲腾持久内存前后的性能对比