近期MemVerge中国区研发总监康炜发表了一篇文章,介绍了Intel 傲腾数据中心持久内存的两种主要模式——Memory Mode(内存模式)和App Direct Mode(应用模式),及各自的优缺点和适用场景。

MemVerge成立于2017年,是大内存计算的先行者,主要产品是基于3D XPoint的新型存储软件架构,并拥有领英、腾讯云、海康威视等早期客户。大内存计算是一项新兴技术,任何规模的应用程序都可以放弃传统存储,转而使用丰富、持久和高度可用的内存池。MemVerge 的Memory Machine™软件通过虚拟化 DRAM 和持久内存来形成企业级内存数据服务平台,使这一切成为了可能。公司此前已获得英特尔、思科、NetApp 和 SK hynix 等战略投资者,高榕资本、光速创投等投资机构投资。

基础软件领域是耀途资本投资重点。耀途共参与了MemVerge 两轮融资:2019年4月A轮融资与2020年5月 1900 万美元融资。除了MemVerge ,耀途还在中国和以色列投资了Open AI Lab、焱融科技、速石科技、SQream、StorOne 、雾帜智能等多家公司,覆盖云计算、存储、大数据、AI 等领域。以下是原文:

Intel 傲腾数据中心持久内存(本文简称PMEM)是我们认为一种开拓性的新硬件。通过同时提供远超内存的容量,和远超SSD磁盘的性能,弥补了现有数据中心服务器体系架构中DRAM和SSD之间的巨大鸿沟从而为企业不断快速增长的海量实时数据分析和处理需求,提供了全新的解决方案

硬件特性角度来看,PMEM提供了很多优势

  • 高性能:相比于硬盘,更加接近内存的访问性能,特别是数据访问延迟很低。
  • 持久性:数据在PMEM中掉电不会丢失。
  • Byte Addressable:数据访问的粒度和CPU cache line对齐。

但是,PMEM并不是说完全即插即用的,在“正确”的使用它之前,有必要了解一下,PMEM支持的几种使用模式,以及他们都有哪些优势和不足,从而选择和自身需求最匹配的模式,来发挥出PMEM最大的能力。

Memory Mode(内存模式)
PMEM的内存模式,顾名思义,就是使PMEM也作为一种内存来工作。这种模式最早也被称作2LM(2 Level Memory),在内存模式下,系统的内存被分成两层,PMEM作为容量层,被操作系统识别为系统内存,正常使用。而DRAM则被作为性能加速缓存,用于加速PMEM的性能。

这种模式的最大优势是兼容,整个的DRAM cache层是在硬件的MMU中实现的,操作系统自身完全不需要知道自己是运行在什么种类的内存之上的,所以所有的应用都不需要任何修改,就可以享受PMEM带来的超大系统容量的好处。

Memory Mode的一个典型应用场景就是Redis内存数据库,因为所有的数据都是驻留在内存中的,所以更大的内存可以使得Redis数据库保存更多的数据,从而对提升Redis cache命中率有很大的帮助。

但是这种模式的缺点也非常明显,就是它完全抛弃了PMEM的持久化特性,所有写入在PMEM的数据,在节点掉电重启后是不可用的。另一个方面,内存模式使用DRAM作为缓存使用,使得整体系统可用的内存只有PMEM的容量,在容量利用率上也是不足的,举一个例子,在一个配置512G DRAM和1.5T PMEM的机型上,使用Memory Mode,操作系统就仅能看到1.5T的内存容量,整个系统的内存容量利用率仅有75%,考虑到内存的价格,这个成本浪费还是偏大的。

所以笔者认为,PMEM的内存模式,在最开始PMEM面世的时候,作为一个过渡方案,提供了百分百的兼容性,使得传统应用可以使用到大内存带来的优势,是很有价值的,但是随着PMEM相关生态的完善,越来越多的应用软件的支持,内存模式的缺点就会越来越明显,从而慢慢的减少使用了。

App Direct Mode(AD模式)
相比于内存模式,APP Direct Mode则可以利用PMEM的持久化特性。但是就需要操作系统和软件的支持了,Linux内核是从4.2版本开始引入了对SNIA NVDIMM的支持,并在后续的版本中不断的进行了完善。在我们目前常用的CentOS 8.x的发行版中,通常来说操作系统可以将PMEM硬件作为两种不同的设备来使用,并且各有优缺点。

一种是fsdax mode,在这种模式下,PMEM被配置成类似一块磁盘设备,用户可以将其格式化成一个文件系统,然后使用。并且如果使用xfs或者ext4文件系统时,还可以在挂载时使用dax参数,激活文件系统的dax mode,使得应用程序可以跳过kernel page cache来直接读写PMEM上的数据。

另一种是devdax mode,在这种模式下,PMEM被驱动为一个字符设备,用户如果想使用它,则必须自行编写程序,或者修改自己原有的应用程序,才能访问到PMEM上面的数据。

综合这两种模式,他们都可以保存写入PMEM的数据,但是在具体的应用场景上还是有区别的。fsdax模式由于提供的是标准的POSIX文件系统接口,所以他的兼容性更好,应用可以在完全不修改的情况下,把PMEM当作一个非常快速的磁盘来使用。但是这样做,在系统层面上也是有所损失的,因为要使用文件系统的dax模式,也有一系列前置条件,而在没有激活dax的模式下,所有的IO仍旧要通过kernel page cache来缓冲,对于系统内存是很大的一个浪费。同时因为是要模拟磁盘行为,IO的粒度也是512个字节,对于PMEM这样在cache line大小的IO中,能提供的超低延迟特性的硬件来说,IO的粒度仍旧太大了。无法真正发挥出PMEM的全部实力。

笔者认为,只有devdax模式,才是真正的可以完全发挥PMEM所有高性能、可持久化、字节寻址能力的最强模式!但是唯一遗憾的就是要想使用devdax模式,必须重写现有的应用程序,和PMEM设备对接。同时,在非易失性内存上编程,也是和传统编程有较大的区别,需要考虑很多以前不需要处理的问题。所以对于很多现有的应用来说,虽然devdax模式“看上去很美”,但是却没办法采用。

正是看到这个问题,MemVerge创新性的设计并开发了Memory MachineTM软件解决方案,底层由MemVerge的软件根据PMEM特性,使用devdax模式进行编程,实现一整套内存虚拟化解决方案,通过对应用提供池化的虚拟内存,使得应用无需修改,就可以运行在PMEM上,享受大内存带来的高性能,并且通过热点数据识别和内存分级技术,为不同应用量身订制最优内存配比,同时使用MemVerge ZeroIO SnapshotTM技术,为应用软件的数据提供持久化保护。


转载于https://www.sohu.com/a/470231256_120945024

如何发挥Intel傲腾持久内存最大能力?相关推荐

  1. 阿里云服务器持久内存型re6p实例采用Intel傲腾持久内存

    查看全文 http://www.taodudu.cc/news/show-6025070.html 相关文章: 稀疏数组--优化五子棋游戏的小技巧 C#省市四级联动 js 四级联动 laravel在线 ...

  2. 英特尔®傲腾™持久内存+MemVerge软硬结合发挥极致性能

    IDC曾发出预测,预计到2025年,全球数据量将达到175ZB,当数据量加速增长,当企业对数据价值挖掘的需求越来越高,人们对于存储和计算效率也提出了更高要求,当有越来越多的数据无法被利用,越来越多的技 ...

  3. RocksDB随机读性能是同门SSD近10倍!傲腾持久内存实力炸裂!

    来源:英特尔数据中心 众所周知,英特尔® 傲腾™ 持久内存(以下简称PMem)是一款近年来少见的,在性能.容量和数据持久性上都让人眼前一亮的创新产品,而英特尔每每提及它时,都会用"颠覆传统内 ...

  4. Linux傲腾DC128G内存设置,Intel发布傲腾DC非易失性内存:3DXpoint、128GB起、服务器专用...

    Intel今日举行了内存存储日活动上,会议上正式发布了3DXpoint黑科技DDR4内存Optane DC Persistent Memory,一看名字就知道不是我们普通人能用上的,单条128GB起步 ...

  5. 持久内存(PMem)科普

    持久内存(PMem)科普 你说不定在不同的渠道已经听说过一些类似的让人一头雾水的技术名词,比如 非易失性存储,持久内存,傲腾持久内存,甚至英文的名词 Optane SSD, Optane persis ...

  6. 第四范式推出业界首个基于持久内存、支持毫秒级恢复的万亿维线上预估系统...

    线上预估服务是AI在企业应用落地的关键环节,企业通常会采用分布式计算架构在内存中完成实时数据处理和高达万亿维的模型特征存储,并通过多集群副本解决传统纯内存(DRAM)天生的易"失" ...

  7. 傲腾内存 可以用ghost系统_玩机小贴士:Intel傲腾内存你用过没有?

    移动互联时代,我们身处大数据海洋里,而且这些数据是相互连接的.无论是工作中处理各种文档报表,还是生活中通过视频游戏休闲娱乐-这背后都是一串串数据在传输,这个时候,CPU与硬盘之间的数据交换变得十分频繁 ...

  8. Intel Optane DC Persistent Memory Module (PMM)持久内存

    英特尔已经公开讨论了一年多的Optane DC Persistent Memory Module(PMM),体现了一种新的以数据为中心的体系结构,在这个体系结构中,PMM位于DRAM和Optane D ...

  9. 使用Alluxio和Intel® Optane™持久内存加速和扩展大数据分析

    国际数据公司(InternationalData Corporation, IDC)报告称,全球数据容量将从2018年的33 ZB(zettabytes)增长到2025年的175 ZB.随着数据增长的 ...

  10. 使用持久内存开发工具包 (PMDK) 创建持久内存感知队列

    <使用持久内存开发工具包 (PMDK) 创建持久内存感知队列> 目录 简介 libpmemobj 中的 C++ 支持 libpmemobj 核心概念 使用 C++ 绑定实施队列 设计决策 ...

最新文章

  1. oracle cpu分配,CPU 分配 - Oracle VM Server for SPARC 2.0 管理指南
  2. 给定二叉树先序、中序遍历序列,求后序遍历
  3. Linux Anaconda断网创建虚拟环境
  4. 【☘️C语言の单链表是否有环问题☘️】
  5. 【机器学习】K-近邻算法-模型选择与调优
  6. GitLab CI持续集成配置方案
  7. leetcode题解162-寻找峰值
  8. Windows 7程序开发系列之一(任务栏篇)
  9. go语言基础之切片做函数参数
  10. 什么是AsHelper
  11. c++ 11 中for循环新增的用法(基于范围的for循环)
  12. PPT高手必须树立的十个理念
  13. 医疗器械公司规章制度范本
  14. GBIC模块、SFP模块、SFF模块介绍
  15. AJAX IE7清除缓存
  16. 三分钟带你领路Java-JFrame窗体美化
  17. 5.Python数据分析项目之文本分类-自然语言处理
  18. VMware虚拟机下载与安装(内附密钥)
  19. 用pytorch官网命令 安装pytorch1.10.1+CUDA11.1报错
  20. 架构设计:架构设计要平衡兼顾多方需求

热门文章

  1. 《数据挖掘概念与技术》第三版 范明 孟小峰译 课后习题答案(二)
  2. 最新喜鹊相亲交友平台微信小程序源码V2.1.2版
  3. 【转】ubuntu12.04完美安装QQ2012、QQMusic、Foxmail等--wine
  4. vs C3861 “rand”: 找不到标识符 ConsoleApplication1
  5. ASP.NET 页面双向静态化
  6. 百度文库的内容怎么复制粘贴下来呢,look
  7. 新型计算机病毒2017,【2017年整理】计算机病毒(修改好).ppt
  8. 台安变频器n2按键说明_台安n2系列变频器说明书
  9. FL计算机软件,FL Studio水果编曲软件
  10. 零基础考公务员,备考多长时间最合适?