大数跨境
0
0

超硬核测评:一文看不懂的MemVerge大内存技术

超硬核测评:一文看不懂的MemVerge大内存技术 耀途资本Glory Ventures
2021-02-02
2
导读:独立存储研究机构StorageReview:MemoryMachine+PMEM,能扬长避短,提供接近纯DRAM性能、且更低廉、更具弹性的解决方案。

编者按:近期,领先的独立存储研究机构StorageReview发布了一篇头条文章,测评了耀途投资组合、大内存开创者MemVerge的产品。MemVerge主打基于3D Xpoint的内存虚拟化软件MemoryMachine,相当于新存储的“操作系统”,具有兼容现有软件、跨机分享、数据恢复服务等三大功能。2020年12月,MemVerge召开2020大中华区渠道发布会,宣布全面进军中国市场,期待更多的朋友加入其中。

据了解,StorageReview擅长通过深入的新闻报道、详细评论、SMB/SME 咨询和实验室服务,提供对包括存储阵列、硬盘驱动器、SSD 以及相关的硬件和软件方面的存储解决方案的专业分析。本文也是迄今为止由第三方撰写的最全面的一篇介绍MemoryMachine的文章。


通过与纯DRAM、纯英特尔3D XPoint 持久内存(PMEM)两种方案的对比实验,文章的结论是,MemoryMachine+PMEM,能扬长避短,提供接近纯DRAM性能,且更低廉、更具弹性的解决方案。


以下为文章原文,经MemVerge翻译:


动态内存(DRAM)一直是用来保证大规模数据访问速率的硬件类型。但是它有几个缺点:价格昂贵,容量有限,而且是非持久性的(为了保存数据,内存需要电源支持,更进一步的问题是,内存需要定期刷新)。英特尔和美光在三年前宣布了 3DXPoint 技术,这将是迈向持久内存的第一步。虽然这项技术的数据访问速度没有内存那么快,但它比闪存存储快得多,而且更具成本效益。看到持久内存的这种潜力,MemVerge公司应运而生,公司的愿景就是将这种潜力变成现实。



我们看到的第一批 3D XPoint 设备主要针对存储。早期,英特尔利用3D XPoint 持久内存(PMEM)技术来创建更快的 SSD。后来,英特尔发布了一个持久内存模块,该模块可插入DIMM 插槽中,作为 DRAM 的扩展。在这之前我们都认为内存满足低延时数据访问的需求,存储满足大容量的需求,而从PMEM 开始这个界限变得模糊了。MemVerge尝试将存储和内存各自的优势集中在一起,提供一种既有DRAM速度,又有存储的持久性和大容量的新内存介质。


MemVerge 一直在探索持久内存的前景,并开发了软件让 PMEM 充分发挥其潜力,而不是简单地将其用作缓存、速度层或内存扩展器。该公司使用它的大内存计算结合 DRAM和PMEM 将纯 DRAM 的内存环境转换为成本更低同时密度更高的内存环境。它通过将两者虚拟化为软件定义的内存池来实现此目标,该内存池还提供软件定义的服务。除此之外,该软件还提供一个抽象层,允许数据中心的所有应用程序受益于新型内存、内存互连、处理器和内存分配器,以满足现代和新兴应用程序和工作负载的需求。


去年9月,MemVerge正式发布了其Memory Machine软件。该软件提供两种版本:标准版,虚拟化 DRAM 和 PMEM 内存来加速应用程序和降低成本,但没有持久性的数据服务; 而升级版,除了标准版的优点之外更具有了持久性的数据服务,比如基于ZeroIO内存快照的企业级内存服务等。



ZeroIO 内存快照,顾名思义,快照只发生在DRAM 和 PMEM 中,而无需与存储进行IO。这使得 DRAM(通常是易失性和低可用性)进入了高可用性层。ZeroIO 快照允许按照设定的时间自动进行,允许回滚到以前的快照。还有一个自动保存功能,如果系统发生宕机,可将应用回滚到上一个快照。快照使得轻克隆的生产无需使用更多内存资源。快照还可以迁移到其他服务器,并用于创建新的应用实例。


MemVergeMemory Machine的管理


MemVerge Memory Machine具有看起来相当完美的用户界面。仪表盘显示了我们在存储过程中所期望看到的元素。有所区别的是DRAM 和 PMEM 在这里是监控所呈现的主要元素,所以很容易地就可以看到它们的使用情况。界面的顶部是主机、应用实例、快照和警报的选项。



单击左侧的主页按钮可显示系统的基本信息(IP 地址、操作系统、内核版本、CPU),以及详细了解内存和PMEM的使用情况和性能。



用户可以通过内存使用报告来查看内存每小时的使用情况。这里也突出显示了PMEM 与 DRAM的使用情况。



用户还可以查看Memory Machine的 RESTful API 界面并通过这个界面配置或者调用它们。



内存快照是MemoryMachine的重要组成部分,我们将在下节性能部分中介绍。


配置


在我们的实验室中,我们部署MemVerge MemoryMachine在超微 SYS-2029U-TN24R4T 服务器上,具体配置如下:



MemVerge Memory Machine性能测试


由于 MemVerge Memory Machine面向的是需要在内存中运行的工作负载和应用程序,因此,我们通常的测试用力在这里没有意义。相反我们将进行一些不同的测试。我们将专门研究诸如纯DRAM对纯PMEM以及对DRAM加PMEM的测试以及每种测试的结果。为了此次的回顾,我们将进行 KDB 性能批量导入和读取测试,以及 Redis用ZeroIO 内存快照快速恢复和 Redis用ZeroIO 内存快照克隆。


KDB 性能测试


Kx 的 kdb+ 是一个时间序列内存数据库。它以其速度和效率而广为人知,因此在金融服务行业非常受欢迎。kdb的一大限制是来源于DRAM 容量的限制。MemVerge MemoryMachine非常适合此处,因此kdb可以充分利用PMEM扩展内存空间,其性能与DRAM 类似。对于批量导入测试,我们查看了单个导入,10、100、1000、10000、15000、20000 和 25000 导入,以百万个批量导入/秒为单位进行测量。


使用 KDB 批量导入,我们可以看到一些有趣的结果。在单个导入中,所有三个的结果差不多。在较小的数据量批处理中,我们将纯DRAM视为性能最好的产品。随着批处理量超过 10000,我们看到Memory Machine领先DRAM了。纯PMEM 在任何批量处理的结果都排在最后。



接下来,我们使用读取测试查看 kdb+。这里的测试设置有点不同。读取测试的整个过程是相同的,但这次我们查看纯DRAM,纯PMEM,分别使用20GB和 40GB的DRAM 缓存的 PMEM。纯DRAM达到4.2GB/s,纯PMEM是 2.9GB/s,使用20GB的DRAM缓存,Memory Machine能以 3.9GB/s的速度与DRAM几乎相同,而使用40GB的DRAM缓存,我们看到了4.8GB/s 的最高性能。更有趣的是,最后两个测试过程中仍然允许大量DRAM用于其他任务。



Redis内存快照测试


Redis 是一个可用作数据库、缓存和消息代理的开源内存数据存储系统。由于这是一个非常流行和强大的系统,所以用来对MemVerge MemoryMachine进行基准测试非常理想。当Redis在MemVerge Memory Machine上运行时,DRAM和PMEM将分配给 Redis。然后,MemVerge ZeroIO 内存快照在不执行存储IO操作的情况下保存应用程序的内存页。当Redis崩溃时,所有快照到PMem的数据都是持久性的。崩溃恢复只需指向PMEM中保存的数据,而无需从存储中提取和转移数据。


在本节中,我们将测试用于快速恢复的MemVerge ZeroIO内存快照。首先,我们将查看使用 ZeroIO内存快照的 Redis的快速恢复。与性能基准不同,我们将在这里展示功能和易用性。当Redis 被安装并开始运行数据库后,我们登录MemoryMachine查看诸如多少PMEM被占用等情况。



在“Applications”标签页下,我们可以看到 Redis 服务器正在运行。



在运行时,我们将创建一些快照。显然,如果不创建快照,则无法从快照恢复。



在完全安全的情况下,再次确认我们已经创建了一些快照。



在确定了快照创建完成之后,我们故意触发了Redis DB故障。然后选择一个快照并恢复,经过很短暂的停顿,Redis再次启动并运行。



Redis使用ZeroIO内存快照进行克隆



这里,我们采取了一些跟上述恢复相同的步骤。创建快照后,我们可以将其恢复为具有新命名空间和新的IP地址的克隆。我们从另一个主机连接克隆,可以看到整个Redis所占用的内存空间与之前大致相同。


以上所有操作及其他需要的操作都可以通过命令行提示完成。


结论


MemVerge MemoryMachine是一种软件定义的存储(SDS),旨在将内存性能与PMEM 的持久性相结合。PMEM 通常用作缓存以加速存储。虽然这是许多存储实例的福音,但内存中的应用程序需要内存性能,而不是缓存。MemVerge 将 DRAM 和 PMEM 虚拟化为软件定义的内存池,并配有软件定义的服务。Memory Machine使用ZeroIO内存快照将DRAM 转换为高可用性层。ZeroIO 允许创建轻克隆,而不占用内存资源。


当我们遇到一种新的技术,我们必须采用新的性能测试和基准。使用常规的基准测试内存中的软件定义存储是没有意义的,因为这不是它的目标。相反,我们利用 KDB 性能进行批量导入和读取测试,以及使用 ZeroIO内存快照进行Redis快速恢复,使用 ZeroIO内存 快照进行Redis克隆。测试是在超微 SYS-2029U-TN24R4T 服务器上进行的,该服务器是支持英特尔 Optane PMEM 模块并经过验证的服务器。


使用KDB批量导入,我们测试了多个数据量的批处理,查看了纯DRAM、纯PMEM 以及两者通过Memory Machine的组合。由于批次开始数据量较小,因此 DRAM 具有最佳性能也就不足为奇了。真正有趣的是,随着测试对资源的占用越来越大,MemVerge的Memory Machine做的越来越好。


在KDB的读取测试中,我们看到了类似的趋势。DRAM表现得非常好,这并不奇怪。PMEM做得也还可以,但是比DRAM差点。MemoryMachine只用了20GB的 DRAM缓存,其性能为 3.9GB/s,就已经很接近纯DRAM的4.2GB/s了。如果使用40GB的DRAM用于缓存,我们就可以看到4.8GB/s的整体最佳性能,同时仍能为其他任务留下大量的DRAM空间。


性能测试的第二部分是使用 ZeroIO 内存快照进行Redis 快速恢复,使用 ZeroIO 内存快照进行Redis 克隆。这里更多的是功能与可量化的性能。基本上是,我们快速创建快照,然后触发了故障,系统能够快速重启和运行。


英特尔的PMEM是一项非常有趣的技术,由于轻松使用模块和正确利用模块的方法有限,其被接纳的速度有些缓慢。借助MemVerge的解决方案,用户可以充分利用 PMEM 提供的优势,该解决方案是专为这一技术而构建的。对于那些能够在PMEM 提供的巨大弹性内存中运行应用程序并获得收益的企业及用户来说,MemVerge 绝对具有很高的价值。





推荐阅读

MemVerge范承工:用最温和方式走最Hard大内存之路

雾帜智能黄承:漂流在安全甲方乙方20年

硬科技投资从小众到群雄逐鹿,如何构建投资壁垒?

耀途资本杨光:芯片是抓住新基建机遇的最小单元

如何迎接中国基础软件创业黄金时代?| 沙龙实录


【声明】内容源于网络
0
0
耀途资本Glory Ventures
耀途资本聚焦新一代信息技术及能源科技早中期投资,重点布局消费电子、汽车电子、数据中心、云计算、新能源等领域,始终坚持投早、投小策略,立足于国际化,以研究与场景驱动投资,打造强产业生态。耀途愿与科技创新者一路同行。
内容 2400
粉丝 0
耀途资本Glory Ventures 耀途资本聚焦新一代信息技术及能源科技早中期投资,重点布局消费电子、汽车电子、数据中心、云计算、新能源等领域,始终坚持投早、投小策略,立足于国际化,以研究与场景驱动投资,打造强产业生态。耀途愿与科技创新者一路同行。
总阅读4.9k
粉丝0
内容2.4k