英特尔资深技术专家陈小波解读傲腾数据中心级持久内存

内存技术在不停地发展,应用在追求更大的容量和带宽,数据在不断增长,内存更要跟得上增长。近日,英特尔资深技术专家陈小波在2019中国数据与存储峰会上以“英特尔傲腾数据中心级持久内存”为主题展开主题探讨。当前内存技术的扩展趋势有哪些?内存随着数据的激增在快速增长,傲腾如何突破内存瓶颈?傲腾技术有哪些应用场景?

陈小波:我大概是2012年去的英特尔,2012年第一次来到这个论坛。当时可以看到外面大部分是传统的存储厂商,现在大家再出去看,绝大部分外面的厂家变成了分布式存储。给我最震撼的两点,差不多在2010年的时候,当时我还在EMC。2010年ORACLE第一次宣布了软件定义存储和分布式存储到来,2012年微软就出来了,到2015年NUTANIX VSAN超融合的形态也出来了。这些所有软件的形态要依赖于一个基本的硬件形态,就是SSD闪存。传统的介质存储设计,软件和硬件的匹配,基本上已经做到了相对的极限或极致,很难有人在这上面再超过他们。为什么现在有了这么多分布式存储,有了这么多软件定义存储?就是因为有了闪存,给了软件更大的想象空间。和传统的机械硬盘相比,闪存这个东西,提供的性能,尤其是RANDOM性能是百倍级、千倍级的增长。应用对存储的需求的第一瓶颈点,一般是在IOPS上,解决这个问题,才谈得上下面新的瓶颈点CPU、内存等等。

内存技术的扩展趋势

闪存、闪存发展出来的各种新的硬件技术,类似于内功,软件只是招式,招式再好,没有内功,也就是三岁小孩打太极拳,没有任何用。如果说你有强劲的内力,剩下的问题只是怎么样用好的软件,把内力发挥出来,提供给上面的应用。

今天我讲傲腾的持久内存。大家可以看到,刚才讲了传统的机械硬盘、磁带容量很大,现在机械硬盘最少是10TB,磁带的容量更大,但是慢。1块NVME的盘大概可以提供到,比如说傲腾55万4KB的读,和55万的写是一样的性能。内存肯定是比NVME的盘再快3个数量级,延迟更低,吞吐更大。在这两个之间,传统的内存DD24,主屏越来越高。去年还在用2666的内存,今年2999都不够了,都得用到3200档次的内存上去,主屏越高,吞吐性能越快,在不断地进步。这两个之间有没有一个用于更加持久化的,把更多的数据可以Load进内存的,传统的内存增长也很快,但是所有物理的东西,在传统架构上增长都是有一定极限的,不管是性能的极限,还是容量的极限。

大概1993年,我买第一台386的时候,第一次配了4兆的内存,当时觉得好多了,快毕业的时候,1997年换了主板486,变成16兆B的内存,那个时候觉得太大了,快2GB的硬盘,觉得不需要更大的了,可以存很多东西了。到现在只能当做一个古董放到书柜里。从内存和硬盘的容量上讲,人们对于美好生活的追求,总是无限的。我们要存很多东西,有视频音频。以前很多不存的东西,也会存下来,比如说以前工厂的一条生产线,需要靠工人师傅,或者是比较有经验的工程师判断这批产品有什么问题,现在直接架上高清摄像头拍照、录象,根据抓出来的视频文件或者图片里面,用AI来算,可能这批生产有什么问题。能给制造业的业主,或者是工厂的所有者带来极大的利益,提高了交货时间。问题是拍的照、录的像,以前是从来不存的东西,但是在新的计算的引领下,计算突破了,带动着存储和网络跟着要突破。以前这些不存的,要把它存下来,存下来的时候,还是海量的数据,都不是我们以前讲的GB、TB,要奔向EB级。比如说国内某个汽车厂家打算搞自动驾驶,一谈就是50个PB,如果是10KB SATA盘存下来,当时算出来是18000块机械硬盘,是一个很大的量。增长得很快,这属于它的黄金时代,几年就翻一番。大概两年前最常用的还是8G左右的内存,现在是16G,从今年开始,逐渐会进入32G。内存容量越来越大,既是好事,也是麻烦事。

第二,这么大的内存,从性能的角度讲,以前对很多应用的认知,是需要更大的内存,但实际上要跑满一个CPU,或者跑出一个高分,大家可能认为内存平淡无奇,就这么一根小条子,内存的技术不停地发展,应用在追求更大的容量和带宽。未来,16G、32G继续发展之后,一个CPU要插满这么多Channel才能保证容量的话有点难度,需要更新的技术解决这些问题,要保证数据在增长的时候,内存要跟得上增长。

傲腾突破内存瓶颈

以前的翻倍速度没有这么快,但是数据在拼命增长,内存一定要增长,很多情况下,这是核心瓶颈点。怎么办?英特尔用OPTANE的技术,提供了PERSISTENT MEMORY,这个概念前年开始就比较火了。为了满足更大的容量,英特尔紧跟潮流,推出了傲腾持久化内存。第一个容量更大,内存条大概16G、32G。不是说32G比16G翻一番,还略低,是更贵,64G也是。跟它的生产工艺有关,生产工艺没有到的时候,当现在最适应的,或者说市场上最主流的,一定是它的生产线上,它的工艺决定了这是一个性价比最好的产品。如果要追求更大容量,没有办法,只能付更多的钱,不是根据容量翻上去了。但是OPTANE是不同于传统的技术,不同于传统的3D NAND,它的容量很大,128GB起配。容量不再是问题,并且高性能、高可靠,插在内存条上,既可以作为内存用,也可以作为磁盘用,或者是磁盘类型的内存来用。

所谓内存模式,插在内存槽上,就可以把它当内存来用,性能还不错。第一,它还是要插传统的DD24,不是原来的就不插了,插上之后,DD24在操作系统层面看不到这个内存容量。大家就把这个东西当做内存,插在服务器上,系统就看到了,可以直接访问和使用,没有任何问题。

 第二,应用直接访问模式,是业界真正的发展方向和追求的目标。很多应用中,如果应用持久化内存,可以达到一些新的数据的安全级别和保证,可以保证数据还在,掉电不怕,下次开机数据还在,加载非常快。如果内存都达到1.5TB级别,数据传输是非常繁忙的过程,追求一定的性能的。它插在内存上,操作系统可以把它看成是盘,但是访问不了它。应用可以很精确地定位,这个时候你看到的就是两块内存,一块是DD24的内存,比如说有192G,是更快一点的内存。另外是1.5T的傲腾数据中心级持久化内存,是4块内存,这个时候可以决定哪些数据放在DD24,哪些数据放在傲腾,是可以由应用通过PMDK这样的API去控制和定义的。

傲腾完整的模块系统:从理论上来看,控制器、芯片、信号的校验,这些全部存在。最关键的,它是直接插在内存条上。傲腾的盘是一样的介质,同样的介质放在不同的数据总线上,CPU访问的时间是不一样的。接口的类型有时也是控制性能的要素之一。NVME的协议和接口打破了SATA的限制,OPTANE的接口和协议是走的内存的通道,不需要再通过PCIe的通道转过去,这就使得它的性能很好。

大家就记住两点,它就是内存,完全可以当做内存用。同时,它也可以比内存干更多的活。它可以当做一块盘,也可以通过操作系统看是盘,但是应用部分,把它当成内存。

持久性对硬件的影响

CPU是有缓冲的,内存本质上讲是起到磁盘上海量数据和计算的CPU之间的一个中介和桥梁,缓存,临时存放数据的空间,内存不够了怎么办,把它重新刷回硬盘。有了持久内存,通过采用PMDK API的方式,CPU可以识别很多数据,决定它是在易失性DD24还是非易失性。近20年的磁盘的发展,容量越来越大,磁密度越来越高,单位时间内转过的磁密度提升了, 磁盘顺序读取的性能会提升,但RANDOM性能始终不会提升。大致是2005年左右做到了15000转之后,已经到物理极限。它的角速度是一样的,线速度不一样,15000转的时候,一个磁盘最外延的线速度,已经接近物理极限了,转不动了,所以说15000转出来之后,大概有10年的时间就没有了。它将来还会发展,我相信将来会有16TB、20TB、40TB,一直到100TB都有可能。这个时候, 磁盘顺序读取的性能提升,7200转决定了它的性能始终是在200 IOPS左右,因为前面加了64兆B的缓存,存储厂家屏蔽了这个缓存。持久性内存加入进去之后,传统的文件系统要改造,工作量也很大。改造的时候,跳开传统的限制,用持久性保证数据更快、更方便地被访问,这就是持久性对硬件的影响,还有一个对软件的影响,怎么样更好地调动数据持久也不怕丢的理念。

内存级别的介质寿命

大家家最关心的,SSD有一个可插储寿命的概念,OPTANE不怕这点,OPTANE这一点特别好,做成傲腾持久化内存更好。我讲到一个它和传统的SSD技术上的小区别,传统的SSD是用配置进行数据插储,改一个字节,也得插一遍,要改A,就改A,要改B,就改B,不会大面积地影响它的寿命。有些磁盘卖得贵,贵在什么地方?除了贵在它的性能上,也贵在寿命上。首先大家都不愿意换盘,必须要承认商业的硬件一定有坏的可能。硬件厂商是尽量保证它不坏,或者告诉用户说,我有不同档次的产品,你愿意花多少价钱,来换取什么样的档次。软件厂商用各种分布式、各种技术来保证当盘坏了的时候,不影响系统情况下,尽量快地恢复。对于SSD这种介质来说,都有一个类似的指标,拿到一块硬盘,就把它插上去,开足了马力不停地插和写,它多久会坏?这个地方,就是我们的一个叫Petabytes Written指标,24小时,365天这么写,英特尔保证是5年的质保。从技术上讲,以及上面预留的空间,可以保证你不停地写,写不坏它,写坏了,英特尔一定负责。

说了半天硬件有多好,红花也要绿叶配,英特尔就是绿叶。绿叶要来配各朵大红花,这么快的硬件,光说它快,没有用,用户看的是我在我的应用里面,我用ORACLE、SPARK等等各种东西情况下,你比我原来快多少,你的性价比是不是满足我的需求。因为它快,大家想到的在数据库领域里面打转转,大家的追求不一样了,国内国外的软件,我们都在进行大量的适配和应用,性能都有大量的提升。

其他的厂家,国内的厂家生态,从基础架构的操作系统级面的,主要的数据库,大数据应用软件的,国内的CSP,基本上各种互联网的提供厂商,包括公有云的,手机或者是电脑用的软件,以及OEM这些厂家,保证从硬件到基础件,到软件,再到主流的CSP都能提供这种访问服务。

讲到Redis,Redis提升的性能很大。最近5、6年,短视频的互联网行业发展非常快。快手、抖音,这些都是其中的优秀代表。快手就用了,还有很多企业级的用户也用了。短视频挑战就是数据量太大,数据量大到一定级别,就会由量变引起质变,传统的架构上是企业级来设计的,撑不住海量数据的飞速爆炸。快手用Redis提升了性能,整体的TCO降了30%,因为不再需要这么多台机器。原来要满足它的业务,假设说得用10台,现在用更少的机器,虽然说更贵了,把机器的内存加上傲腾去,虽然单机更贵了,但是整体服务器数量可以更少。腾讯云 Redis 云数据库也是加上了傲腾,性能提升了30%多。

(以上内容基于演讲实录整理,如有纰漏,敬请指正。)