专栏名称: 大话存储
由存储系统架构师、《大话存储》系列图书作者冬瓜哥创立。分享业界逼格甚高的存储和计算机系统底层知识,皆为原创。存储系统底层技术、机理、设计、思路分享,绝不忽悠。想变得比别人逼格高一点,就来阅读本公众号的文章。
目录
相关文章推荐
51好读  ›  专栏  ›  大话存储

啊pia~qi,嗷~~疼!

大话存储  · 公众号  ·  · 2018-11-09 17:43

正文

请到「今天看啥」查看全文


冬瓜哥这是怎么了,掉地上摔着了么?并没有。

2018年 11 月 5 日下午,英特尔正式发布了英特尔®傲腾™数据中心级持久内存测试版程序,从而使各大原始设备制造商(OEM)和云服务提供商(CSP)能够让客户抢先体验英特尔革命性的内存技术,并为英特尔®傲腾™数据中心级持久内存在2019年上半年的全面上市奠定基础。目前,全球众多领先的原始设备制造商和云服务提供商已公布了各自用于早期客户试用和部署的测试服务和系统。

Intel的ApachePass项目的两个产品形态中的第二种形态:DDR接口的3DXpoint介质的Persistent Memory(简称PMEM)内存条,业界一直在翘首以盼。而在早前,Apache Pass项目中的第一款产品Optane(傲腾)SSD,也就是PCIE接口的3DXpoint介质的SSD已经得到了一定程度的普及。这次Intel针对PMEM形态的产品发布了测试程序,兵马未动粮草先行,为傲腾明年发布时做一个生态铺垫和赋能。

多家原始设备制造商和云服务提供商已经公布了用于早期客户试用和部署的测试服务及系统,这些供应商包括:阿里巴巴*、思科*、戴尔易安信*、富士通*、谷歌云*、慧与科技*、华为*、联想*、甲骨文*和腾讯*。英特尔还正在与领先的独立软件供应商(ISV)开展合作,以确保应用程序和运营环境能够充分利用英特尔®傲腾™数据中心级持久内存技术。这些独立软件供应商包括:Aerospike*、Altibase*、Apache Spark*、AsiaInfo*、Cassandra*、DataBricks*、Gigaspaces*、IBM*、微软*、红帽*、RedisLabs*、RocksDB*、SAS*、SAP*、Sunjesoft*、SUSE*、Ubuntu*、Virtuozzo* 和VMWare*。

1
傲腾SSD和PMEM双持武器助力数据中心加速


Intel的Apache Pass项目早在几年前就被业界熟知,其利用3D Xpoint介质实现性能和容量密度介于NAND Flash与SDRAM之间(更偏向于SDRAM)的存储器层,并且能够在掉电后保持数据不丢失。Apache Pass项目被设计为双手武器,左手Optane DC SSD,为M.2、U.2或PCIE标准接口产品,已经量产并得到采用,如下图所示。

右手武器性能太猛,出来比较晚,是一款DDR4接口的持久化内存,如下图所示。该产品具有128GB、256GB和512GB三个容量档位。

该内存支持两种应用模式,一种是应用自定义的APP Direct模式,该模式下,应用程序需要主动将傲腾的内存地址映射到自身地址空间中使用;另一种则是透明内存模式,通过一些启动之前的虚拟化方式,给应用呈现一个由SDRAM和傲腾容量整合之后的大内存空间,对应用完全透明,而由虚拟化底层负责冷热数据在SDRAM和Optane之间的迁移。

在发布会上,来自京东的工程师展示了他们采用APP Direct模式实现了之前由于成本过高而无法实施的In-Memory Spark大数据分析系统。


2
DIMM 类非易失性高速存储器背景


非易失性高速存储器近几年发展速度飞快,以NAND Flash为主要代表。但是NAND的读写延迟相比SDRAM而言还是差了一大截,所以Flash存储器不适合作为直接被CPU Load/Store(也就是所谓Byte Addressable)的地址空间,而只能被当做块设备来用,也就是CPU将I/O访问指令下发下去以后,I/O会在后台执行,而不需要阻塞CPU的Load/Store过程。

随着近年来大数据类业务应用不仅在互联网数据中心得到广泛部署,就连传统企业也受到了互联网影响,数据量暴增,也开始逐渐部署大数据类业务。而这些业务场景有2个特点,

第一:对内存容量要求特别高,有些系统甚至要求到数TB的内存。SDRAM目前单条最大也就是128GB,而且很难买到,成本超高,基本上用不起,用得起的也都是不差钱的用户,其实也是无奈之举。更多的场景下,用户不得不采用NAND Flash作为二级存储,少量SDRAM作为一级存储,在后台Swap数据,这种做法就比较低效,会产生较高的性能抖动。

第二:对内存有非易失性要求。基于SDRAM的In-Memory系统不得不采用日志方式将对内存的更改持续写盘,而这也拖慢系统性能,以及导致性能抖动。

针对第二点,业界提出了一种非易失性NVDIMM架构。最简单的形态就是直接给DIMM内存条加上超级电容和板载Flash,在系统掉电之后,利用超级电容供电将SDRAM中的数据拷贝到Flash中永久保存。

这种NVDIMM性能上相比SDRAM没有什么区别,平时读写时也对应用透明,但是在管理方面需要应用做一些小的修改,比如应用在使用Store指令存入数据之后,数据其实是先进了CPU的缓存,此时掉电之后数据将丢失,所以程序要想实现不丢数据,必须要显式的调用clwb(Cache Line Write Back)等相关指令强制CPU刷缓存到DIMM,才能保障。

但是针对第一个特点,目前的SDRAM和NAND介质一个在成本上另一个在性能上无法满足要求。于是,由Intel主导的3D Xpoint介质解了燃眉之急。


3
Optane 持久化内存让高性价比超大内存系统不是梦


Optane所利用的3D Xpoint介质不同于NAND,其采用了相变原理,利用物理材料的两种不同相位下导电系数的不同来表示0和1,该介质相比对晶体管中的微型可保电电容充电来表示0和1响应速度快得多,所以其延迟低了一大截,向DRAM靠近了一大截。

另外,3D Xpoint介质并没有NAND介质那样复杂的写流程,没有所谓擦除操作。NAND Flash由于追求超高存储密度,其内部的Cell采取并联控制方式,导致其无法对一个Page中不同Cell有的充电有的放电。而3D Xpoint介质则没有这样的问题。另外,3D Xpoint介质的寿命远远高于NAND介质,因为后者是靠击穿电容外层绝缘体来充电,绝缘体在被击穿一定次数之后,便会失去绝缘性。

当然,由于电路设计以及相变材料本身的限制,3D Xpoint目前还达不到NAND Flash的存储密度,但是其容量相比SDRAM而言已经可以在单条DIMM上翻数倍,而且性能也可以以接近SDRAM而被人接受。

Optane在Queue Depth为1时,也能取得比较高的吞吐量 ,而这一点是NAND Flash所做不到的。其得益于新介质极低的延迟,能够在OLTP这种对延迟超级敏感的业务场景雪中送炭,因为OLTP场景下的并发量往往并不高,此时想提升性能只有降低延迟这一条路可走,而Optane是目前唯一的高性价比选择。

在某次测试中,使用 12 Windows Server 2019 服务器,装有 Hyper-V and Storage Spaces Direct 形成 HCI 系统,每台服务器安装 5TB Optane DC PMEM ,最终系统极限吞吐量达到了 13M IOPS


4
生态业已成熟,只欠东风

PMEM的广泛应用离不开生态的支持,包括:主板、BIOS、OS内核、应用,这四大件都需要相应更改。冬瓜哥觉得Optane DC PMEM晚于Optane DC SSD出来,也只是在等待生态上的成熟。

BIOS需要识别到对应的DIMM是PMEM还是传统SDRAM。因为这样OS就可以辨识出,从而避免当做普通内存来使用,启动后需要加载对应驱动。BIOS会将NVDIMM的情况汇总到 NFIT表 中供OS识别。

OS内核需要感知PMEM的存在,并在底层实现掉电后的处理过程,包括掉电后对CPU缓存的下刷。同时,OS内核在上层需要将PMEM内存空间暴露给上层应用使用,具体上,目前Linux内核已经在PMEM访问栈方面趋于成熟。PMEM Block Driver内部已经实现了新的 direct access 类型的file operations回调函数,该函数底层会采用Load/Store方式来读写数据,而PMEM块设备之上可以格式化成传统文件系统,也可以格式化成PMEM感知的文件系统(也就是 DAX ,DirectAccess类型文件系统),目前Ext2、Ext4等都已支持以DAX方式进行mount,这样针对文件系统的读写可以直接越过Page Cache(已无必要)。DAX类文件系统提供的mmap回调函数并不走page fault路径,而是直接将进程页表映射到PMEM的物理地址,从而实现将文件映射到用户空间,直接对文件Load/Store操作。基于DAX文件系统,人们开发了 libpmem 库,或者叫NVM Library,用户程序调用对应接口,在DAX目录下创建文件,然后指定文件的容量,然后将其 mmap 到用户空间,底层就可以对该区域进行Load/Store操作了,相当于在PMEM上分配了内存。这个接口对于传统那些使用 malloc( ) 分配内存的程序而言,就需要做一些新开发。

目前,Intel已经与业界关键厂商共同赋能PMEM的生态系统,相信在明年Optane DC PMEM产品最终量产发布时,业界生态会更加强壮完善。


综上,如今遍布的大数据应用场景,对内存的容量和持久性提出了前所未有的要求,但是SDRAM成本过高,高容量DIMM内存上限目前也不过128GB,而最大单条512GB的OptaneDC持久化内存很及时的填补了这个巨大市场空缺。加上Intel强大的生态赋能和建设,相信傲腾必将得到广泛应用。

冬瓜哥新作 《大话计算机》 (从入门到出家,高中生,文科生,都能看懂),预计明年2月出版。

内容试读(根据留言要求贴出):

《大话计算机》内容节选之:fork流程及QPI内存映射

《大话计算机》内容节选之:指令系统和分支预测

《大话计算机》内容节选之:计算的本质、bio

《大话计算机》内容节选之:冬瓜哥彪悍图解Cache组关联

《大话计算机》内容节选之:CUDA对线程的安排方式及Linux进程0创建和运行

《大话计算机》内容节选之:详解超线程

《大话计算机》内容节选之:详解多核心、用户栈和内核栈

《大话计算机》内容节选之:GPU是怎么把平面贴图计算成立体感观的

《大话计算机》内容节选之:P/N节、晶体管发展史

《大话计算机》内容节选之:场效应管

《大话计算机》内容节选之:趣味了解浮点数(上)

《大话计算机》内容节选之:趣味了解浮点数(下)

《大话计算机》之:从一份手稿设计图到PPT



大话存储


大话计算机










请到「今天看啥」查看全文


推荐文章
最搞笑笑话王  ·  1个未接来电
7 年前
ThinkPad小黑  ·  你们在路上堵车,我已经会飞了
7 年前