2015年8月5日,由DOIT传媒和存储在线联合主办的2015中国闪存峰会在北京盛大开幕。本次峰会以“闪存加速数据经济变革–颠覆方式和速度”为主题,超过 500位各行业用户代表,数十位顶级学者、产业精英和技术专家出席,以圆桌讨论和主题演讲等形式,从不同角度深入探讨“闪存加速数据经济变革”这一话题。
在下午的主题演讲中来自上海宝存科技的吕智超发表了题为《TCO and PCIe-RAID》的演讲,以下为演讲实录:
大家好,我是上海宝存科技的吕智超。
关于Flash应用层面,大家应当比较熟悉。我原来做系统方面的工作,就站在这个角度和大家说一些,如果IT系统应用了Flash会带来哪些收益。
大家都明白TCO是什么,TCO有一个比较重要的计算公式,TCO=CAPEX + OPEX。CAPEX是资本性投资支出,OPEX是运营成本。如果我们计算IT的TCO的时候,其实最多的是运维成本,也可能也有一些其它的成本,包括一些资产折旧之类的,这部分的成本会直接从损益表扣除。我们站在运营公司角度来说,其实所有的东西都是TCO,哪怕买了一个桌子,给我一个人员。其实就是拥有这个人员,或者是拥有这部分资源要花费多少。任何一个公司都想把它整体拥有的所有资产的费用不断降低。如果我们将TCO这个词仅仅放在IT资产上的话,所有的CMO和CTO要负责的一定是想办法降低它的IT资产TCO,而且在运营层面,最有效的降低TCO的方法就是把OPEX降低掉,就是运维成本在整个TCO的比例尽量降低。
我们可以看到第三方的独立调查,假定我们IT资产折旧时间是36个月,在这个时候各个项的支出占IT资产总支出比例是这样的。我们可以看到红色的是趋近于互联网架构,蓝色的是传统IT架构,最容易的就是一个一个的项目,一个集中式计算,集中式存储。
按照业界的发展趋势,分布式架构和云架构是发展趋势。所以说我们未来的TCO模型是越来越向红色的演进。如果我们是红色的分布式架构的话,我们的运维整个的成本占总的TCO非常大的比例。按这个调查来看,运维成本占TCO的75%。
我们怎么优化一个TCO呢?在承认IT资产的运维成本占最大比重的前提下,我们考虑如何通过降低运维成本来降低TCO。现有IT服务器数量是一千,这个方法是方案A。我换一种思路,我将所有服务器的配置提上去,这部分服务器的一次性成本自然会上升,我假定采购成本上浮50%,这个是方案B。由于单台服务器的性能提高了,我通过一些运维手段,单台服务器,能够承载的业务要比方案A要多,我们做这么一个假定,假定我采用方案B的时候,我的服务器数量只有方案A时候的二分之一。至于我怎么拿到二分之一,这个我会仔细讲。如果我对比这两个方案的时候,我会发现这么一个问题,方案B的采购成本是方案A成本的1.5倍。我们假定方案A花掉100块钱,或者花1块钱,总体TCO是1块钱,按照刚才的公式来算,采购成本是2毛5,运营成本是7毛5。如果迁移到方案B的时候,我发现首先第一我的采购成本会变成1.5倍,这个时候会是2毛5乘150%,变成3毛7分5,由于服务器数量减半,所以我的运营成本会变成原来的0.75的一半,演变成了0.375,如果采用方案B,整个的TCO是0.375+0.375是0.75。我想办法将我的服务器数量减半的话,整体的TCO会降低25%,这是非常简单的数学。原来整体TCO1块,2毛5,采购,7毛5运营,现在采购3毛7分5,运营业是3毛7分5,这时候就变成了0.75,这时候我的TCO就降低了25%。
假设说这个成立的话,我们要奖励TCO的可能的途径是什么?我们充分最大化单台服务器的业务性能指标,我们要尽量让单台服务器物理机跑更多的业务,可以跑更多的用户,可以跑更多的计算,可以跑更多的虚机,但是我们要想办法增加单台服务器的业务承载能力。
现在我们回顾一下,在IT系统当中,现在唯一的瓶颈或者最大的瓶颈是TCO,提升IO系统性能几乎是提升整个IT架构性能非常必要的手段。原来我们遇到的问题是,我们CTO和内存是跟着摩尔定律走的,但是传统磁盘不跟摩尔定律走,因为摩尔定律是预测电子软件的,而传统磁盘是机械部件。闪存将IT系统当中最大的瓶颈带回摩尔定律的范围内,闪存可以让我们整个IT性能提升一块。闪存可以给我们IT性能增强多少?
传统盘性能很低,闪存是SATA SSD价格的10倍,但是性能是它的几十倍。我们会有原生的PCIe Flash。这块是20倍,是传统机械盘的20倍。原生的PCIe Flash的成本是SATA SSD两倍左右,应用性能是SATA SSD的10倍,是传统盘的千倍、百倍。我们看看SATA SSD可以做成什么样的变态的级别,我们提供几十万的IOPS,特定场景综合读写IOPS几百万。
在现有的IT系统当中,如果一个存储提供几百万的IOPS,CPU都可能成为这个系统的瓶颈。在非常重要的数据库的业务当中,非常关注延迟业务当中,PCIe Flash可以提供超低的延迟,是毫秒级的,同时还有非常大的容量,我们容量可以做到很大,Flash容量可以做到很大。提起Flash我们一定要关注温度,温度其实就是功耗。我们只说Flash可以带动什么,Flash可以带给我们比较稳定的超高的性能和超大的容量。这个时候,我们就能看到这些,这些都是在实际业务当中跑的。如果我们用了原生的PCIe Flash,我们能拿到3倍于SATA SSD RAID Mysql的性能的3倍。比如说绿色的是某国际品牌的160G的产品,蓝色的也是某国际品牌的480G的产品,这都是RAID5,在数据库方面,在Mysql数据库方面,仅仅更换Flash会给我们带来几十倍的性能提升。按传统的SATA SSD也会有几十倍的性能提升。
日志处理方面,后面有查询时间对比表,应用了PCIe Flash以后,Text查询是性能优化的近百倍,父子查询性能优化4倍。这是某省税务局的系统,这也是数据库的应用,这是MPP数据库。我们可以看到如果我在普通盘下是这个指标,这是83秒。这个图片显示性能提高15倍。
我们再看一下这个,VMware虚拟机启动风暴,我们可以缩短4倍的启动时间,得到30倍的性能提升。
我们有几十倍的性能提升,这几十倍的性能提升,带来的是什么?这几十倍性能提升,如果我们愿意用得当的运维手段的话,我们将服务器的数量减成原来的一半,是绝对没有问题的,我们会将服务器的数量减到原来的一半。我们拿到75%,我们节省25%的TCO绝对没有问题,因为我们可以通过优化硬件,优化存储的性能来将服务器数量减半,进而拿到25%TCO的优化。我们采用原生PCIe Flash降低TCO25-50%,我们总是要追求更加极致的东西。这时候我们会问,我们能不能再做点什么,其实把服务器数量降为原来的一半,其实在增高你的业务密度,你可不可以有更高的密度,高密度就意味着一台主机需要更大容量的存储。如果更大容量的存储,我们用的话,我们要不要担心单点失效的问题,这些问题宝存都考虑过。我们今年发布了一个世界上目前为止唯一的独家技术我们叫PCIe-RAID。
PCIe-RAID技术是干什么的?我们客户经常问我们,即使你们的卡稳定,它是一个电器软件,它终究会坏的,这时候我很无语,因为客户说的是对的,它肯定会坏的,这件事很难办。原来我们有RAID阵列,坏一块盘我们可以换掉,我们想能不能做成这样,我们的目标很简单,我们在系统当中提供一个容量特别大,性能特别高,可靠性特别高的逻辑块设备,这个和RAID没有什么区别,但是它是跑在高速Flash上的。这里面有一些技术关键点,第一个关键点,我们必须要用FTL层,我们必须感觉物理地址。基于软件的FTL层才可以构建跨设备FTL层,这是基于软件的。第三件事基于PBA的RAID实现。现在我们用了一个Flash设备,当这个Flash设备给系统扇区1的时候,系统看到的是扇区1,但是扇区1所对应的数据存储的位置,一定不是你Flash第一个芯片的第一个page一定不是这样的。你系统认为拿到的是物理地址,但是实际上对于闪存设备来说,你拿到的是虚拟给你的逻辑地址。我们要想办法让系统看到这个闪存设备的闪存真真实实的物理地址是什么,我才有可能全局做磨损均衡,所以一定要基于PBA构建RAID算法。最后一个是为了冗余保护我们会采取2维RAID方式,达到最大的保护效果。
这个就是这个系统的架构,旧系统FTL紧挨着Flash。Host看到的是RAID控制器给它的地址,这是虚拟的。RAID控制器给它的地址也是虚拟的。新的架构,把FTL和RAID的实现统一融合起来,让系统直接感受到FTL给它的就是真实的地址,controller就做控制的功能,不做转换。这时候Host看起来,我这层FTL看起来,这个Flash和这个Flash是没有区别的。其实在这种情况下,系统看到的就是一堆Flash,我要做的把这些Flash做一个影射,做好磨损均衡,给到上层应用就可以了。
这都是一些简化图,我可以在一个机箱里面部署多片原生的PCIe Flash,这个是5片的PCIe Flash,这5片做一个RAID5,任意一片坏掉了,这个RAID不会有问题。我们可以定义计划性的窗口换掉它。这个RAID是怎么实现的呢?各位将红线框认为是一张PCIe卡的话,我们横着做一个RAID,纵的做一个RAID,这4个数据校验位在这里,这4个数据校验位在这儿,这是4个校验位,这是两层的RAID,这是二元RAID4。RAID5和RAID4的区别是稳转校验存储。把这块挪到这儿,把这个挪到这儿,这就是二维RAID5。单个卡RAID坏掉,这张卡不坏,整个一张卡坏了,这个系统不坏,这就是双层的保护。
PCIe-RAID,RAID5允许一个PCIe Flash设备彻底失效,未来有可能支持RAID10,PCIe接口支持热备设备,8639接口支持热插拔,热维护,跟普通的RAID阵列维护方式几乎是一样的。在这种双重保护的情况下,考虑到直接将OP释放到15%以下,因为我们原来的默认OP是27%,所以我们会给用户回馈更多的用户可用空间,会把OP释放到15%以下,这样大家买到的东西量更足一些。
我们用2U的服务器,如HP DL 380Gen9允许我们构建50TB裸容量,最高40TB用户可用容量。 如果是3U服务器,最多可以部署11张全高的PCIe板卡,如 Supermicro Gen X9DRX+-F,90TB 裸容量, 最高80TB的用户可用容量。
PCIe-RAID优势,大容量,高性能,全局垃圾回收GC和磨损均衡。某块卡磨损度可能很高,全局会解决这个问题。我们基于PBA的RAID实现,我们基本上解决了RAID5的问题,第一个写放大系数远远小于2,如果你用传统的闪存产品做RAID的话,综合写放大系数远远大于2,一般在3以上,这是物理特性决定的。PCIe-RAID技术解决这个问题,会让全局写放大系数远远小于2,我们彻底避免RMW/RCM。Host-Base 的UniFTL 可以感知校验数据状态,避免写洞。
现在标准化的产品演进也很快,为什么宝存认为Host base是很好的方向呢?如果我们在系统当中感知到闪存的情况下,我们可以做好多事情,我们可以定制化好多事情,现在为客户定制化无数个东西,我们针对数据库、IO做优化,我们可以做PCIe-RAID,我们还可以做很多其他的事情。宝存宣称是软件定义的公司,希望宝存在IT系统方面提供更多的帮助。
欲知更多关于2015中国闪存峰会的精彩内容请点击查看闪存峰会全程直播报道专题。