弥补性能鸿沟,傲腾在企业应用中加速普及

企业类应用与桌面类应用的一个显著区别,就是它们在设计时可以充分利用超大内存,会主动对内存和硬盘的使用进行规划以及性能优化,都做得很专业。然而,在这个数据暴涨的时代,一些大数据类应用对内存的需求已经超出了可接受的成本范围,此时不得不使用NVMe硬盘来承载大量的从主存中腾挪出来的数据。

对于某些强烈依赖内存的系统,比如内存数据库,内存计算系统而言,SDRAM到NVMe盘的性能落差甚至都觉得太大,而导致最终性能不令人满意。所以对于这类应用,一个位于SDRAM和NVMe盘之间的存储器层级,就十分必要。英特尔®傲腾™持久内存恰恰填补了这个空缺。

针对大数据激增企业端的存储压力,英特尔推出了两大数据中心产品:英特尔®傲腾™ 持久内存和英特尔®傲腾™固态盘。虽然英特尔®傲腾™持久内存 和英特尔®傲腾™固态盘都使用了相同的英特尔®傲腾™ 内存介质,但它们是完全不同的产品。英特尔®傲腾™ 持久内存容量大,性能接近于传统的DRAM内存,但价格更亲民。位于 DIMM 封装中,在 DRAM 总线上运行,可以作为易失性内存或持久内存使用。而英特尔®傲腾™固态盘严格用于标准 NAND 封装模型(AIC、M.2、U.2、EDSFF 等)中的快速存储,并采用 NVMe* 协议驻留于 PCIe 总线上,作为存储设备始终保持数据持久,可以让更多存储中的数据更加靠近CPU。

想要理解英特尔®傲腾™ 持久内存的优越性,不妨说说传统的内存和存储架构。在传统内存和存储架构中,是让 DRAM 内存直接访问存储设备。这些存储设备可以是以往的块存储设备,也可能是 NAND 固态盘。然而,内存和存储设备之间,在数据读取速度和容量上难以匹配。DRAM 的数据读取速度快,缺点是太贵且容量密度有限,因此服务器总内存容量受限,且DRAM内存上的数据无法持久保存;存储设备成本低、容量大,数据可持久保存,缺点是数据的读取速度慢。基于此,通过在 DRAM 内存和块存储设备之间加入大容量 SCM 层——英特尔®傲腾™持久内存,极大地提升了内存存储,保证最常用的数据以最高性能进行访问,以高性价比提供了出色性能。

说说离我们生活较近的案例,在我们日常生活中,很容易发现自己的使用习惯、消费习惯、生活喜好很容易被大数据抓取,用于用户画像、商品推荐等业务,这些业务的背后都可能有Redis存储的支持。作为内存数据库,Redis 依赖高内存容量,这样才能惬意地享受比固态盘更高的数据吞吐带宽,以及更低的数据处理延时。

英特尔®傲腾™持久内存可在每个CPU的内存总线上提供高达 3TB 的内存容量,同时性能接近 DRAM。与第二代英特尔®至强®可扩展处理器搭配使用,提供比前几代处理器更出色的单位内核性能和内存容量,这些因素均有利于 Redis 的部署,并且体现在具体数据中。

来看数据测试,两套配置几乎完全相同的服务器系统,区别在于一台使用英特尔®傲腾™持久内存,另一台使用传统内存,测试下来,两系统提供的性能和虚拟机密度类似,延迟均小于 1 毫秒。但采用英特尔®傲腾™持久内存的系统,每个虚机可以降低 20% 成本,同时还能满足所有虚拟机 SLA 要求。这是针对单机同内存容量的状况的成本分析。

在 Redis 服务器集群中使用英特尔®傲腾™持久内存,成本可以降低高达 40%,而且由于单台服务器搭载内存更多,因此服务器节点更少,无论是基础设施的运维,还是数据的管理,都更加方便。

英特尔®傲腾™持久内存加速阿里Mars系统

在一次测试中,阿里的Mars分布式内存计算框架利用英特尔®傲腾™持久内存,取得了很不错的性能加成。如下图所示,当需要处理的数据集超过了主存承载能力之后,溢出后的数据被放置在傲腾™存储器而不是之前的NVMe硬盘中,随着数据量溢出主存,傲腾™方案的性能会有显著提升。

Mars是一个基于张量的统一分布式计算框架,突破了现有大数据计算引擎以关系代数为主的计算模型,将分布式技术引入科学计算和数值计算领域,极大地扩展了科学计算的计算规模和效率。目前Mars已经实现了70%的Numpy常见接口,用户只需要通过import Mars就可以将已经编写好的基于Numpy的代码移植到Mars中。

Mars会将张量自动在各个维度上切分成小的chunk来分布式处理从而提升并行性,以便于将小颗粒任务派发到GPU,或者网络远端的其它集群节点上并行计算。

举例来讲,对于张量矩阵乘法,Mars会生成如下图所示的chunk级别执行图。在执行过程中,会有大量的中间过程,这些过程生成大量的数据会占用宝贵的主存资源。

每个chunk执行完毕之后,结果数据会被放置在shared memory中,当share memory中数据过多时,Mars会启动spill溢出控制机制,将溢出的数据转移到下层更大容量的存储器中。

经过评估,阿里发现使用英特尔®傲腾™持久内存来作为主存的下一层存储器,无论是在性能上还是TCO上,相比直接用NVMe盘作为下层,都非常符合Mars系统的预期。

英特尔®傲腾™持久内存提供128GB、256GB和512GB容量,远高于目前最大容量仅限于每DIMM 128GB的可用SDRAM DIMM,而且与传统DRAM DIMM相比,英特尔®傲腾™持久内存的每GB成本更低。英特尔®傲腾™持久内存通过内存总线直接连接到处理器,在基于App Direct(简称AD)模式下,应用程序可以完全绕过操作系统,不需要设备驱动程序、系统调用、中断和上下文切换,就可以从用户空间直接访问英特尔®傲腾™持久内存上的数据。下图所示为采用NVMe闪存盘、NVMe傲腾™盘和英特尔®傲腾™持久内存的访问延迟对比。

总体而言,使用英特尔®傲腾™持久内存,解决了Mars科学计算中因数据溢出传到硬盘,导致I/O开销增大,计算性能降低的问题。通过测试,验证了在TCO成本相当的情况下,使用英特尔®傲腾™持久内存能够有效提升Mars科学计算性能。

傲腾™固态盘加速Ceph分布式存储系统

Ceph是最常见的块和对象存储后端解决方案。作为一款开源的分布式存储软件解决方案,它在分布式、可靠性、易扩展、并发性能的优势越来越被行业作为专业存储高性能解决方案。随着云服务以及产业互联网升级对存储性能要求越来越高,英特尔®傲腾™固态盘可以在IOPS和延迟方面助力客户产业升级,并且其高寿命的优势帮助企业降低维护成本。

在 Ceph分布式存储方案中,使用英特尔®傲腾™固态盘作为缓存盘为RocksDB、 WAL、OSD缓存提速,低延迟加速负载间的传输响应,并配合英特尔®CAS缓存加速软件进一步增强系统性能和可靠度。

在以成本和性能为导向的前提下,如何以较低成本实现最大性能的发挥?针对Ceph架构中的热数据和温数据进行优化,英特尔®傲腾™固态盘+英特尔®QLC 3DNAND 方案(O+Q方案),通过傲腾™解决小的随机I/O,QLC来解决容量问题,实现性能瓶颈的突破。

综上所述,傲腾™对于企业级应用具有非常明显的加速效果,作为下一代固态介质的排头兵,Intel傲腾™近几年逐步扩大生态,在企业级应用加速场景先显现出了优良的效果。

免责声明:此文内容为第三方自媒体作者发布的观察或评论性文章,所有文字和图片版权归作者所有,且仅代表作者个人观点,与极客网无关。文章仅供读者参考,并请自行核实相关内容。投诉邮箱:editor@fromgeek.com。

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2021-09-06
弥补性能鸿沟,傲腾在企业应用中加速普及
基于此,通过在DRAM内存和块存储设备之间加入大容量SCM层——英特尔®傲腾™持久内存,极大地提升了内存存储,保证最常用的数据以最高性能进行访问,以高性价比提供了出色性能。

长按扫码 阅读全文