数据中心存储架构:向软件定义内存进军

日期: 2017-05-04 作者:Jim O'Reilly翻译:肖培庆 来源:TechTarget中国 英文

在最新的IT的发展进程中,存储和内存被推向了混合(部署)的方向。因此,软件定义内存的想法也在慢慢地变成一种现实。

软件定义存储刚刚开始发酵,但是系统变革的步伐很快,其中的一些创新的想法已经慢慢成为人们的关注焦点。

我们在这里所讨论的并不是磁盘池,或者是固态硬盘(SSD)。存储的未来应该是依附于内存的,在引入非易失性双内存模块(NVDIMMs)之后,系统内存就变得越来越复杂了。它融合了内存的速度以及数据中心存储架构的持久度特性。

这些产品现在已经面市了。Micron已经发布了面向生产环境的第一款全闪存的NVDIMM,并且很多厂家也已经开始提供包含NVDIMM的服务器。它的优势是,数据将会在内存中以比PCIe更快的速度被进行处理,尽管NVDIMM闪存还是比DRAM要慢一些。

在一些情况下,比如像军方系统或者财务服务系统,他们所需要的内存更加高一些。因此Viking Technology创建了一种新的NVDIMM,其中包含了大容量的DRAM和闪存。当系统启动的时候,用户可以选择将数据从闪存导入到对应的DRAM中去。当系统关闭的时候,DRAM的数据会回写到闪存中。

Viking的方法最大的好处是系统可以使用CPU寄存器命令将数据写入到DRAM中。这需要使用在单字节上进行写入的操作,而不是像在传统存储和所有NVDIMM闪存中的以4KB为文件I/O单元进行操作。支持这种功能的软件很复杂,不仅仅需要改变操作系统,让其支持相关的异常处理,还需要涉及扩展相关的编译器。因为这种类型的输入输出不适用标准的区域块,因此相应的应用程序也要进行更改。

我们可以期望在2017年年底看到这方面的真实产品(应用程序)。最有可能先出现在数据库系统方面,数据库厂家会执行所有相关的变更,并且开放平台给终端用户,这一切对用户可以说是透明的。

作为闪存的替代,很多公司开始尝试提高持续性存储和非持续性存储之间的传输速率,其中包括了英特尔,美光的3D XPoint,惠普企业,闪迪的 Memristor,索尼和Viking Technology的ReRAM。但即使是这样,这些方案也会比现在的DRAM慢一些。

要接受这种新的技术前提是应用程序需要能像识别DRAM这种字节型可寻址空间或者块状I/O驱动一样识别它。否则的话,这些提高的速度会被应用程序的开销损失掉。这需要很多公司的共同努力,而且要将这种前沿的产品推向市场存在这很大的复杂度,因此不要期望能在2017年年底或2018年初之前看到这类产品面市。

固态硬盘(SSD)已经变得越来越快,也越来越紧凑,我们在市场上可以看到拥有100万IOPS以及100TB容量的固态硬盘。显然,我们面对着很多存储的选择,这会给系统的性能带来很大的提升。但也会给数据中心存储架构的设计方面带来一些混乱。

NVDIMM和SSD成为了互相的补充。NVDIMM将会拥有上TB大小的闪存(当3D NAND 被集成之后),并且使用操作系统驱动来让它像一个硬盘一样被使用。最大容量的NVDIMM已经差不多面世了,容量可能会到达5TB的大小,也差不多就是最小的SSD的容量。

重新定义内存

这也是软件定义内存(SDM)引入的原因。如果内存是可持续性的,那么为什么它不可以和其他可持续性的存储一起协同合作呢?SDM的理念是将所有内存和存储都当做一个服务,利用软件工具将数据在不同的物理设备间进行移动。举个例子,一个内存对象可以在DRAM中创建,其中比较少访问的那一部分可以移动到内存栈的持续性双线内存模块(DIMM)中,最后移动到SSD上。

SDM现在还处于初期的阶段,因此现在对应的软件还是与相应的厂家绑定在一起,例如Intel或者Diablo Technologies。这个现象在将来可能会改变,因为大多数的代码——除了驱动程序——都应该可以在不同的(厂家)硬件中运行才对。

如果我们应用类似压缩这样的数据服务,那么这里面的复杂度就大大地提高了。压缩会增加五倍的持续型NVDIMM的可用空间,但会减少数据传输到内存中所消耗的时间。复制、删除代码、加密和索引这些服务都会成为在NVDIMMs上可能的数据服务。

这种在所有内存架构上的软件定义存储模型的存在会鼓舞着一些有意思的架构上的改进。由8个厂家组成的混合立方内存芯片联盟提出了3D内存芯片(HMC)的概念,旨在将传统的并行总线替代为低功效的串行总线系统DIMM。DIMM有很多并行的通道,这些通道就像当今服务器的独立PCIe线缆一样。

HMC处理器会有额外级别的缓存(可能高至32GB),由更快的DRAM组成,可以动态地提高性能。同时它还有很大的模块外的DRAM容量,其中包含了非易失性的内存。有了这个东西,有效的系统内存空间将变得更大(即便在压缩之前)。这个概念将很可能在2017年上半年成为现实。

另一个可能会在2018年登台的创新产品是将内存和SSD存储池平级地放在集群中。这样会让数据从持久性系统内存直接移动到SSD或者在集群中的其他节点,这样会减少内部总线的负载。虚拟机或者容器中的数据服务可以在SDS中控制这类型的数据流。

SDM的关键其实在于厂家正在开发的数据服务工具,这又会和不同的非易失性DIMM有关系。

硬件厂家驱动着创新

除了操作系统的更新,新的驱动程序更新也在涌现。这些对字节寻址能力和块模式操作都会带来性能提升的可能性。举个例子,西部数据的闪迪有一种非易失性的内存文件系统,它可以加速传统的块读写应用程序和自动指派内存,这些都支持基于字节寻址的非易失性内存空间。它们会到达服务器的非持续性内存SSD池中,将服务器内的内存当做整个单元,排除不同层级的自动堆栈。

英特尔正在准备着它们自己的SD XPoint版本Optane,将会发布一块有块读写接口的SSD。当NVDIMM未来成为可行方案的时候,未来的产品线会更加丰富,可以使用软件定义存储来连接服务器内存集群的不同单元,或者存储类的内存来对NVDIMM建立集群。所有的这些都会包含基于字节的寻址。

有了这些软件工具,DRAM,Optance NVDIMM/NVMe SSD存储会被系统识别为一个统一体,共享的内存池。英特尔宣称所有的操作系统和应用程序都不需要因为使用这些工具而进行改变,不过这个巨大的内存池优化起来是一件不容易的事情。英特尔说,ScaleMP提供的新的预测缓存软件可以有效地缓解这个延迟问题。

非易失性存储的混合形式NVDIMM-N可以被当有快速读写速度的DRAM来使用。使用CPU寄存式存储器指引来执行数据传输对软件生态系统来说是有好处的。现在的操作系统并不能识别内存中的哪一些是持久性的。不同的上下游厂家正在尝试部署操作系统更新,新的驱动程序和兼容的软件应用来解决这个问题。

与此同时,就像全flash的NVDIMM一样,厂家的驱动可以让DRAM成为超级快的存储驱动,使用4KB的块读写。但DIMM的性能被受限于同样容量的DRAM和备份的闪存,因此像Enmotus或者Plexistor公司提供的微分层驱动程序是必要的,它能将闪存的容量扩展到最大的潜力。

NVDIMM-F(全flash选择)使用了快读写的访问机制以及厂家的驱动来将内存抽象化为操作系统中的一个磁盘。它不需要任何应用程序的变更,而通过产品的高速节点连接非持续性内存接口(NVMe),另外它使用环形队列而不是SCSI I/O栈来设计驱动程序,以减少负载和速度。

新出现的例如XPoint的技术则改变了整个游戏。它们被设计为NOR设备(对比与标准的NAND设备),逻辑性地选择哪一个有效的单元来读写,允许自由的字节寻址能力。同样的,它们也会被当做磁盘来使用,处理块的读写。驱动器和操作系统功能的快速变革——就像NVDIMM-N——会让通过CPU寄存器命令来直接访问字节成为可能。

即使它们比NAND闪存速度要快,但它们速度并没有超过DRAM,这会带来与缓存相关的问题。要解决这个问题可能会涉及HMC模块的基础架构,即在DIMM和CPU之间放置大容量的快速DRAM。

SDM是一种在数据中心新兴的技术,它的硬件平台和SDM软件都在很快地在进行着变革。在今年我们会看到很多不一样的变化,同时我们可能会犯一些错误,但是总体来说SDM离被主流的接纳不会太远。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

肖培庆
肖培庆

TechTarget中国兼职翻译

相关推荐

  • 数据中心如何搭建集群文件系统

    建立集群和使用率高的数据存储解决方案有很多选择,但是要想弄清每种选择的优劣则要花点时间进行研究。存储架构和文件系统的选择至关重要,因为……