计算型存储: 异构计算的下一个关键应用

AWS re:Invent2019显示AWS市场占用率达到45%,相比2018年营收增长29%。使用专用芯片构建用于加速特定场景的战略更加清晰,除去Intel和AMD的X86和Nvidia GPU,还有通过其Annapurna Labs部门推出的基于Arm的Graviton的定制芯片,并承诺基于Graviton2(7纳米)的新型EC2实例的性能是第一代Graviton的7倍。早在摩尔定律失效之前,一个逐渐达成的共识就是通用处理器的算力应该专注于复杂的商业逻辑,而简单重复的工作则由专用芯片完成更加合适。超算和智能网卡早在20年以前,基于异构计算的智能网卡就已经应用于超算(HPC)领域。从1993年开始 TOP500 就以每年两次的频率,基于 Linpack benchmark 负载模型来统计地球上运行最快的超级计算集群。2003年,弗吉尼亚理工学院暨州立大学创建一个InfiniBand集群,在当时的TOP500排名第三;2009年,世界500强超级算机中,152个使用InfiniBand,并提供38.7%的算力;

2020年11月,根据最新的第56版,155个使用 InfiniBand,并提供40%的算力,排名前10的超算集群有8个由 InfiniBand 构建,更是占据了前5的4席位置。

在构建高速网路时,争论主要是把网络功能Onload到CPU上,还是把这些功能Offload到专用硬件:常用Onloading,TCP/IP技术在数据包从网卡到应用程序的过程中,要经过OS,数据在主存、CPU缓存和网卡缓存之间来回复制,给服务器的CPU和主存造成负担,也加剧网络延迟。Offloading 基于RDMA实现远程内存直接访问,将数据从本地快速移动到远程主机应用程序的用户空间,通过Zero-copy和Kernel bypass来实现高性能的远程直接数据存取的目标。下图可以直观的看到两者在访问路径的区别:

当然,Offloading 需要将RDMA协议固化于硬件上,所以依赖于网卡的算力是否可以满足运行RDMA协议的开销,这实际上就是专用芯片和网卡的结合。用更性感的说法是SmartNICs are an example of DPU (Data Processing Unit) technologyAWS和Nitro云计算催生超大规模数据中心,也同时放大通用算力的不足和异构计算的优势。就好比研发团队规模变大的同时必然走向专业化。AWS EC2早期由纯软(也意味着需要消耗CPU)的Xen对CPU、存储和网络完成虚拟化。基于这种实现方式,一个EC2实例的虚拟化管理开销高达30%。

30%相当可观,最重要的是并没有为客户提供直接价值。按照 Werner Vogels(AWS CTO )的说法想为客户显著提高性能、安全性和敏捷性,我们必须将大部分管理程序功能迁移到专用硬件上。2012年,AWS开始构建Nitro系统,也正是这,登纳德缩放定律(严格说是预测)几乎消失:

2013年, Nitro 应用于C3实例,其网络进程卸载到硬件中;2014年,推出了C4实例类型,将EBS存储卸载到硬件中,并开始和Annapurna Labs合作;2015年,收购 Annapurna Labs;2017年,C5实例卸载控制平面和剩余的I/O,实现完整的Nitro系统;此时,Nitro系统已经包含三个主要部分:Nitro卡、Nitro安全芯片和Nitro管理程序。主要卸载和加速IO,虚拟私有云(VPC)、弹性块存储(EBS)和实例存储,从而让用户可以使用100%的通用算力。

对客户而言,意味更好的性能和价格,下图可以看到基于Nitro的C5和I3.metal的延时明显降低:

计算型存储和数据库从AWS的营收看,网络、存储、计算和软件是收入的四驾马车,数据库毫无疑问是存储领域的关键场景。随着云计算带来基础环境的改变,也直接加速云原生技术的发展和成熟,程序员不会再写出单体(Monolithic)应用,也再也不会在应用中只使用一种数据库。还是借用Werner Vogels的话A one size fits all database doesn't fit anyone.从AWS提供的数据库服务也应证了一点(国内的云计算巨头也类似)。

不同的数据库针对不同的场景,比如Airbnb使用 Aurora 替代 MySQL,Snapchat 使用DynamoDB 承载起最大的写负载,麦当劳将ElastiCache应用于低延时高吞吐的工作负载,旅游网站expedia.com使用ElasticSearch实时优化产品价格。当然,对于存储介质,更快速和更大容量的需求普遍存在。从下面数据库的工程实践看,压缩是实现这一目标的共识:DB-Engines DBMS数据压缩特性DBMS✔是否支持数据压缩Oracle✔MySQL✔Microsoft SQL Server✔PostgreSQLMongoDB✔IBM Db2✔Elasticsearch✔Redis✔SQLite✔Cassandra✔压缩率依赖于数据本身,1948年由美国数学家克劳德·香农(Claude Shannon)在经典论文《通信的数学理论》中首先提出信息熵,理想情况下,不管是什么样内容的数据,只要具有同样的概率分布,就会得到同样的压缩率。在实现时,常常要在压缩吞吐,解压吞吐,和牺牲压缩率之间做取舍,这也是产生诸多压缩算法的原因。下图是基于Silesia compression corpus不同压缩算法之间的差异。Compressor NameRatioCompressionDecompresszstd 1.4.5 -12.884500MB/S1660MB/Szlib 1.2.11 -12.74390MB/S400MB/Sbrotli 1.0.7 -02.703400MB/S450MB/Szstd 1.4.5--fast=12.434570MB/S2200MB/Szstd 1.4.5--fast=32.312640MB/S2300MB/Squicklz 1.5.0 -12.238560MB/S710MB/Szstd 1.4.5 --fast=52.178700MB/S2420MB/Slzo1x 2.10 -12.106690MB/S820MB/Slz4 1.9.22.101740MB/S4530MB/Slzf 3.6 -12.077410MB/S860MB/Ssnappy 1.1.82.073560MB/S1790MB/S从一个常见的场景出发,应用多次写入压缩率各不相同的数据,逻辑写入量为36KB,如下图所示:

按照前面所示的压缩率,最理想的情况是压缩后占用15.2KB。

但现有的空间管理实践会占用更多的物理空间,首先写入时需要按照文件系统页对齐写入(假设4KB),占用物理空间为48KB,数据存储分布如下图所示:

但因为压缩后数据依然需要按照文件系统页大小(4KB)对齐,数据存储分布如下图所示:

所以实际占用的物理空间是36KB离预期的压缩率相去甚远。

为进一步提升压缩效率,通常会进一步压实(compaction)空间,压实后数据存储分布如下:

这时占用的物理空间是 16KB,才接近15.2KB。可见在工程实践时,要想在应用场景中获得可观的压缩收益,仅关注数据结构和压缩算法是不够的,还要考虑压实(Compaction)效率,如果还要兼顾算力消耗、IO延时和代码复杂度等指标,工程难度将指数级提升。针对这个场景,支持透明压缩的计算型存储 CSD2000,将压缩解压缩算法offload到盘内FPGA,使计算更靠近数据存储的地方(“in-situ computing”),进一步缩短数据路径,从而提升数据处理的效率。对比“软”压缩(基于CPU)和硬压缩(基于FPGA)两者的收益并不复杂,下面以MySQL为例,将MySQL页压缩,MySQL表压缩和CSD2000透明压缩三者进行对比,采用TPC-C和TPC-E数据集和负载模型,以压缩率和数据库性能(TPS和时延)为指标衡量压缩效率。先看压缩率,计算型存储 CSD2000 提供更高的压缩率,几乎是MySQL自带压缩的2倍以上,如下所示:

再看性能,使用sysbench测试1/4/16/64/256/512并发下性能表现,可以观察到(如下图所示):≥ 64并发时,CSD2000 QPS/TPS平均提高~5倍,最高提高~12倍,99%平均时延降低68%以上;<64并发时,CSD2000 QPS/TPS普遍高于普通NVMe SSD 20%~50%,99%平均时延降低8%~45%;说明:为了便于对比,以普通NVMe SSD指标为基线做归一化。

Mark Callaghan (Facebook Distinguished Engineer)曾经吐槽在数据库中实现透明页压缩并应用在生产环境,工程实现过于复杂,难怪Jens Axboe(Linux内核代码主要贡献者之一,FIO和IO_URING的作者)建议他把这些工作丢给计算型存储公司 ScaleFlux。而从计算型存储带来的压缩及性能(详见:可计算存储:数据压缩和数据库计算下推)收益来看已经超额完成任务。

计算型存储和文件系统压缩同时减少数据写入量(Nand Written)和写放大(Write Amplification),但实际的情况会更复杂一些,大多数情况下数据库运行在文件系统之上。

以日志型文件系统ext4为例,设计以下测试验证日志写入量与数据库数据写入量的比例及透明压缩对于减少写入量的收益:选用 MySQL 和 MariaDB;200GB数据集;3种负载模型:Insert/Update-Index/Update-Non-Index;两种数据访问方式:热点集中(Non-uniform Key Distribution) 和全随机(Uniform Key Distribution);最终测试结果如下:因为文件系统的 WAL(Write Ahead Log)机制,加上日志的稀疏结构,日志写入量占整体写入量20%~90%,可见文件系统日志写入量可能大于上层应用(数据库)的数据写入量;透明压缩对于减少数据库数据量的写入效果明显,对于减少日志系统写入量的效果更加显著,全部测试场景减少日志写入量约4~5倍;说明:以普通NVMe SSD指标为基线做归一化,直方图面积越小,数据写入量越少。

人类的智慧注定都要在山顶相遇亚马逊经常谈论单向(one-way)和双向(two-way)门决策。双向门决策容易逆转,例如A/B test,这类决策可以快速采取行动,即使失败,成本也不高。单向门决策大多数时候不可撤销,必须”大胆假设,小心求证“。Nitro 显而易见是一个单向(one-way)门决策,即便是2012年开始,AWS也花了足足7年时间才完整落地。在异构计算领域,头部云计算厂已经达成共识,相关产品也加速推出,包括支持计算下推的阿里云PolarDB(详见:可计算存储:数据压缩和数据库计算下推),以及 AWS re:Invent2020 再次提到的基于 AUQA(Advanced Query Accelerator) 节点加速的 Redshift。风物长宜放眼量,人类的智慧注定都要在山顶相遇。作者:熊中哲,金戈

(0)

相关推荐

  • 大数据安全分析07_大数据存储技术介绍

    鉴于网络安全数据组成的复杂性.规模,以及对实时搜索响应的需求,需要通过大数据存储集群快速实现空间的扩容,在PB级的安全数据中做到安全分析查询的秒级响应,同时需要为数据提供了冗余机制,保障数据的安全. ...

  • 宕机时间少七倍,揭秘AWS基础设施的运维之道

    从2006年8月份正式开通云服务,到2020年第三季度收入达到116亿美元,同比增长29%,年化收入达到460亿美元.AWS营收规模在一个IT产业史上堪称神话,这背后数据中心等基础设施功不可没.如果没 ...

  • 黄金的下一个关键价位是多少?

    金价上周反弹至自去年夏季价格见顶以来的下跌通道上轨.今年1月初的一次突破尝试失败后,黄金价格在3月份跌至1675美元/盎司附近的潜在双底低点.    每盎司1800美元的关口现在隐约可见,这是一个关键 ...

  • 常态化的老罗直播:破圈成下一个关键战役

    "破圈",成为老罗直播的新重点. 疫情期间直播带货作为线下零售的补充,本已在持续升温.在抖音直播高调入局的罗永浩,给直播带货市场再添了一把火.老罗能否借直播带货成功翻盘,成为大众热 ...

  • 纳米光栅——大数据时代光存储的下一个风口?

    文/姚倩.戴晔,上海大学物理系超快光子学实验室 您的存储空间告急- 人类文明发展至今离不开信息的记录.从绘画.雕刻.印刷到如今的数字化信息存储,存储容量呈指数增长.根据软件公司Domo的报告,2018 ...

  • 股市投资:下一个10年,寻找未来10倍牛股的关键思路

    最近,全球资产价格此起彼伏,不少读者留言:中国未来还有什么值得买? "房住不炒"政策之下,尽管近期房价稍有抬头,但是2020年百城新建住宅价格仅累计上涨3.46%.与历史高点相比, ...

  • 下一个十年的存储趋势是怎样的(下)

    描述 下一个十年随着云计算.大数据.人工智能.物联网等新技术的快速发展,分布式.全闪存等迎来市场的高速发展.除此以外,还有区块链存储.边缘存储.量子存储.生物存储或基因存储,下面探讨下这些新存储技术的 ...

  • 让男人放不下你,有一个关键:延迟满足

    初次相见,从此便心心念念. 感情的世界里,不乏这样的现象,两个人一面之缘,从此就一眼万年.当内心深处,播下了爱情的种子,双方恨不得放下一切,成全彼此之间的缘分. 一旦成功牵手,相爱的双方,就会在陪伴中 ...

  • 存储“下一个十年”,分布式唱主角

    来源:懂懂笔记 过去十年堪称是数据爆炸的十年.回顾2010年的行业报告时你会发现,2010年全球数据量刚刚突破1ZB,而2020年全球数据量预计将超过40ZB.面对数据量的指数级增长,存储市场可谓首当 ...

  • 智能座舱是智能汽车的下一个潮流,高效AI计算打造的全场景感知是关键

    "AI计算赋能智能座舱"成共识,谁的挑战,谁的机会? 作者 | 利荣 汽车发展至今已有100多年的历史,随着汽车电气化.智能化.网联化等技术的快速发展,人与车的关系也被重新定义,人 ...

  • 火箭崛起4步走计划!拒绝换超巨+选下一个哈登?18个选秀权成关键

    北京时间1月20日,众所周知,火箭现在已经正式开启了重建模式,他们可能能赢下一些比赛,但不可能争冠,送走了哈登之后,等待着他们的注定就只有重建,并且努力重新找到一个崛起的希望. 那么火箭这支从2001 ...