可计算存储: 数据压缩和数据库计算下推

SSDFans 2020-07-17 00:00


点击蓝字
关注我们



“摩尔定律失效“指的是什么?

2016年2月9号《自然》杂志的《The chips are down for Moore’s law》写到即将出版的国际半导体技术路线图不再以摩尔定律(Moore’s law)为目标,芯片行业50年的神话终被打破。

Figure. 1

狭义的摩尔定律指每18到24个月,芯片上晶体管集成的密度会翻一番或者价格下降一半,它连接了价格和集成度。但我们普遍所讨论的是摩尔定律其实包含"摩尔定律"、"登纳德缩放""波拉克法则"三个重要法则。

登纳德缩放定律(Dennard Scaling)的核心观点是,随着晶体管密度的增加,每个晶体管的功耗会下降,因此,每平方毫米硅的功耗几乎是恒定的。由于硅的计算能力随着每一代新技术的发展而提高,计算机将变得更加节能。

波拉克法则(Pollack's Rule)则指出,同制程工艺下,处理器的性能提升幅度,是芯片面积(晶体管数量)提升的平方根。

登纳德缩放定律(严格说是预测)在2007年开始显著降速,并在2012年几乎消失,如下图所示:

Figure. 2

所以,常说的“摩尔定律失效”指的是基于三个重要法则构建的用户价值三角(价格、集成度和性能)的失效。


异构计算

2017 年图灵奖获得者John L. Hennessy and David A. Patterson在他们的文章《A New Golden Age for Computer Architecture》中指出通过异构处理器优化设计时间和成本。

As the focus of innovation in architecture shifts from the general-purpose CPU to domain-specific and heterogeneous processors, we will need to achieve major breakthroughs in design time and cost.

异构计算指将不同体系架构不同指令集(精简指令集和复杂指令集)的计算单元组合使用,将最合适的任务交给最擅长的计算单元(包括CPU、GPU和FPGA等),最大程度发挥各类计算单元的优势。


可计算存储和数据压缩

可计算存储可简单的理解成在原有的存储介质(比如NVMe SSD)上叠加计算单元(比如FPGA),并由该计算单元加速跟存储直接相关的计算任务,实现CPU计算任务卸载(Offload)。但持久化应用的相对复杂,如果不能洞察面临的重要问题、理解现存方案的取舍(Tradeoff)和提出创新性的设计方案,可计算存储很难发挥真正价值。计算机体系结构泰斗Yale Patt教授曾提出的Look backward(to the past),Look forward(to the future),Look up(to the problem)Look down(to the device)在存储领域同样适用。

Look up(to the problem),存储实现信息跨越时间的传递,对它的抱怨永远是“不够快,不够大”。SSD的出现极大的提升了存储性能(IOPS和Latency),但是逐年下降的价格依旧跟不上数据爆炸式的增长。SSD的特性决定容量不仅影响成本,也影响性能。SSD不能像内存和机械硬盘直接覆盖旧数据,只能擦除Block后才能写入其中一个“干净”的Page。当SSD剩余空间变少,出现大量数据碎片时,就要读取整个Block数据,将有效数据重新写到已经擦除的Block。这个过程叫Garbage Collection (GC),导致写放大(Write Amplification)。单个擦除操作延迟是写操作延迟的几倍,而写操作的延迟又是读操作的几十倍。在混合读写的场景,GC会引发延时抖动,影响性能。为降低GC频率,SSD不仅会优化GC算法(比如“greedy reclaiming policy”),如下图所示:


同时也会留出空间(也叫OP: Over Provision),企业级SSD的OP通常是28%,消费级SSD内部的OP通常是7%。IBM研究院的相关研究指出剩余空间为10%时写放大在3.5倍和4.5倍之间,剩余空间为30%时写放大可减少为0.2,如下图所示:

所以减少写入的数据量,不仅节省空间,也优化性能。针对不同场景,业界提供了很多压缩算法,比如zstd,zlib,brotli,quicklz,lzo1x,lz4,lzf,snappy...。现有的解决方案可简单归纳成软压缩(基于CPU)和硬压缩(基于加速卡)。

《硅谷》中年轻的计算机天才Richard发明的超越理论极限的压缩算法“middle-out”,并由此组建了Pied Piper公司。


软压缩(基于CPU)

如上图所示,压缩和解压完全由CPU提供算力。“牺牲”CPU资源换取存储空间,存在个突出的问题:

  • CPU抢占:会占用大量CPU资源,同时也会跟应用抢占CPU资源。

  • 数据复制导致的带宽抢占:在主存和CPU之间引入频繁且大量的数据复制(DRAM<-->L3 Cache<-->L2 Cache<--> L1 Cache<-->Registers),抢占服务器PCIe 带宽和内存带宽,同时带来潜在的CPU Cache Miss,进一步影响计算效率。

  • 时延不稳定:因为CPU抢占和带宽抢占,当OS负载较高时,OS中的时钟中断和任务调度增加了延迟的不确定性,这是IO密集型业务很难忍受的。


硬压缩(基于压缩卡)

如上图所示,专有压缩卡提供压缩和解压算力,释放CPU资源,实现CPU-Offload,但是并不彻底。频繁且大量的数据复制依然存在,即便压缩卡使用DMA技术,也无法彻底实现Zero-Copy,DRAM和压缩卡之间依然存在频繁的数据复制,抢占大量的服务器带宽资源。同时,因为数据链路中增加压缩卡,势必增加IO时延,尤其是数据库和高速块存储系统的小数据块(如4KB、8KB、16KB)场景。


可计算存储

针对已经存在的问题,可计算存储的思路如下:

  • CPU-Offload:采用FPGA完成压缩和解压缩计算,实现CPU-Offload。Look down(to the device),FPGA 在低延时上具备天然的优势,非常适合计算密集型任务(比如矩阵运算、压缩和非对称加密)。首先,片上集成缓存和DRAM接口,减少与CPU交互,免于OS的进程调度和进程间干扰,从而提供可预期的时延。同时,FPGA 基于定制流水线 MIMD设计,同时拥有流水线并行和数据并行,进一步降低时延。下图(Figure. 5和Figure. 6)是FPGA应用于Bing搜索排名中的查询加速,可以观察到更低的平均延时;

  Figure. 5                                           Figure. 6

  • Zero-Copy:以内置FPGA的方式,不改变原有的数据路径,完全在盘内进行压缩解压任务(又叫in-situ processing),避免额外的数据复制,这也是为什么可计算存储又叫“近”存储计算的原因;

如下图所示:



可计算存储和数据库计算下推

Look forward(to the future),IDC(International Data Corporation)预计到2025年全球数据将达到175ZB。即便考虑压缩技术,存储介质的容量和数据量的增速剪刀差会越来越明显。

可以做个简单的算术题,读取1PB数据,仅考虑数据从存储介质传输到到主存(DRAM),PCIe 3.0 * 32、PCIe 4.0 * 32 和PCIe 5.0 * 32分别耗时多久?如果数据存放存储阵列上,使用100Gbps存储网络,耗时多久?如下所示:


Look backward(to the past),在现代处理器系统中,CPU高速缓存处于内存系统的顶端,其下是主存(DRAM)和存储介质。在一个现代处理器系统中,CPU高速缓存通常由多层次组成(L1,L2 和 L3 Cache)。基于时间局部性,CPU数据读取时将访问各级Cache直至到达主存(DRAM)。如果需要访问的数据在CPU高速缓存中命中,将不会访问主存(DRAM),以缩短访问延时,访问流程大致如下:


在联机分析(OLAP)的场景中,如果同一作业的运行频率低,不同作业之间数据的关联度低,使得现有缓存体系极为低效甚至失效,比如热数据被换出引发Cache Miss,导致应用性能急剧下降。在数据库领域有不同的解决思路,以 Oracle 为例:

缩短数据量的移动路径:数据库默认总是先将数据读取到自己维护的高速缓冲,Oracle 11g开始采用直接路径读取来扫描大表(默认 2% * buffer cache),从而绕开buffer cache,避免热数据被换出引发缓存命中率下降;

减少移动的数据量:Oracle Exadata Smart Scan,该特性能通过将大部分的SQL操作下推(又叫卸载)到存储节点完成,极大的减少了存储节点和数据库节点之间的数据量;

数据增长永无止境,硬件性能终会遇到天花板,减少移动的数据量似乎更有启发。


当说下推时,到底指的是什么?可以从 MySQL 特性 Index Condition Pushdown(简称ICP)入手,建立更具体的认识。


关闭 ICP

未启用ICP特性时,会按照第一个索引条件列到存储引擎查找数据,并把整行数据提取到数据库实例层,数据库实例层再根据Where后其他的条件过滤数据行。如下图所示:

Figure. 8

启用 ICP

启用ICP特性后,如果Where条件中同时包含检索列和过滤列,且这些列上创建了一个多列索引的情况下,那么数据库实例层会把这些过滤列同时下推到存储引擎层,在存储引擎层过滤掉不满足的数据,只读取并返回需要的数据,减少存储引擎层和数据库实例层之间的数据传输和回表请求,通常情况下可以大幅提升查询效率。如下图所示:

Figure. 9

数据库计算下推

MySQL ICP虽然将MySQL Server层的过滤下推到存储引擎层,但仍需要消耗CPU资源,严格来说,这不是真正意义的下推。如果要更进一步,可以考虑将第4步下推到可计算存储,原因如下:

  • 收益大:关键步骤,由它完成实例层向存储引擎层的下推,符合“近”存储计算原则,实现收益相对大;

  • 成本低:从调用关系看,对数据库实例层影响很小,绝大部分改动可在存储引擎层完成,修改和验证成本相对低;

  • 对FPGA友好:易于并行,对计算密集任务友好(比如压缩,加密,计算,过滤和聚合);

如下图所示:


受篇幅和能力所限,省略了一些细节。比如:

在压缩和解压缩的场景中,追求极致的压缩率或性能都会相对容易,但是对于持久化业务而言,往往是既要(压缩率)又要(时延)。在这些前提要求下,可计算存储在提供稳定IO时延的同时实现了数据压缩,降低了存储成本。当然,要实现并发布商用产品涉及的内容就太多了,比如,FPGA选型(资源和功耗),如何调试压缩算法以对FPGA更友好,面对不同压缩比的数据如何提供可预期的时延,如何提供对应用透明的使用体验,如何实现LBA(逻辑地址)和PBA(物理地址)变长映射等等。

在计算下推的场景中,设计的内容包括如何识别底层的CSD设备以及暴露的Pushdown接口,如何将下推的条件传输给硬件,如果优化设备内部逻辑(流式处理和并行数据过滤),存储数据格式修改以对流式处理更友好,因为bypass文件系统如何修改现有的监控...


Yesterday’s technologies, today’s problem

从曾经的专有计算,再到Intel奠定的通用计算,再到今天的异构计算。历史总是惊人的相似又被赋予新的内涵。计算机领域的创新也未必都是天才们“灵光乍现”, 更多时候是建立在对已有系统(软件和硬件)深刻理解之上, 用一个新的角度解决问题。可计算存储将会给持久化应用,尤其是数据库,带来更多深远的影响和变化。

What we have before us are some breathtaking opportunities disguised as insoluble problems.


作者 :熊中哲@ScaleFlux

ScaleFlux 成立于2014年,其领导者被证明可以批量部署复杂的计算和固态存储解决方案。计算存储是现代数据驱动的基础,该架构可为计算和I/O密集型应用提供低延时、易扩展和敏捷的能力。



引用

  • A New Golden Age for Computer Architecture

  • A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services

  • A Cloud-Scale Acceleration Architecture

  • 浅谈 Cache Memory

  • wiki Locality of reference

  • Index Condition Pushdown Optimization

  • Write Amplification Analysis in Flash-Based Solid State Drives

  • Write Amplification


高端微信群介绍

创业投资群


AI、IOT、芯片创始人、投资人、分析师、券商

闪存群


覆盖5000多位全球华人闪存、存储芯片精英

云计算群


全闪存、软件定义存储SDS、超融合等公有云和私有云讨论

AI芯片群


讨论AI芯片和GPU、FPGA、CPU异构计算

5G群


物联网、5G芯片讨论

第三代半导体群

氮化镓、碳化硅等化合物半导体讨论

储芯片群

DRAM、NAND、3D XPoint等各类存储介质和主控讨论

汽车电子群

MCU、电源、传感器等汽车电子讨论

光电器件群

光通信、激光器、ToF、AR、VCSEL等光电器件讨论

渠道群

存储和芯片产品报价、行情、渠道、供应链




< 长按识别二维码添加好友 >

加入上述群聊




长按并关注

带你走进万物存储、万物智能、

万物互联信息革命新时代

微信号:SSDFans
SSDFans AI+IOT+闪存,万物存储、万物智能、万物互联的闪存2.0时代即将到来,你,准备好了吗?
评论
  • 耳机虽看似一个简单的设备,但不仅只是听音乐功能,它已经成为日常生活和专业领域中不可或缺的一部分。从个人娱乐到专业录音,再到公共和私人通讯,耳机的使用无处不在。使用高质量的耳机不仅可以提供优良的声音体验,还能在长时间使用中保护使用者听力健康。耳机产品的质量,除了验证产品是否符合法规标准,也能透过全面性的测试和认证过程,确保耳机在各方面:从音质到耐用性,再到用户舒适度,都能达到或超越行业标准。这不仅保护了消费者的投资,也提升了该公司在整个行业的产品质量和信誉!客户面临到的各种困难一家耳机制造商想要透
    百佳泰测试实验室 2024-12-20 10:37 116浏览
  •         在上文中,我们介绍了IEEE 802.3cz[1]协议提出背景,旨在定义一套光纤以太网在车载领域的应用标准,并介绍了XMII以及PCS子层的相关机制,在本篇中,将围绕IEEE 802.3cz-MultiGBASE-AU物理层的两个可选功能进行介绍。EEE功能        节能以太网(Energy-Efficient Ethernet)是用于在网络空闲时降低设备功耗的功能,在802.3cz的定义中,链
    经纬恒润 2024-12-19 18:47 67浏览
  • 随着工业自动化和智能化的发展,电机控制系统正向更高精度、更快响应和更高稳定性的方向发展。高速光耦作为一种电气隔离与信号传输的核心器件,在现代电机控制中扮演着至关重要的角色。本文将详细介绍高速光耦在电机控制中的应用优势及其在实际工控系统中的重要性。高速光耦的基本原理及优势高速光耦是一种光电耦合器件,通过光信号传递电信号,实现输入输出端的电气隔离。这种隔离可以有效保护电路免受高压、电流浪涌等干扰。相比传统的光耦,高速光耦具备更快的响应速度,通常可以达到几百纳秒到几微秒级别的传输延迟。电气隔离:高速光
    晶台光耦 2024-12-20 10:18 110浏览
  • 沉寂已久的无人出租车赛道,在2024年突然升温了。前脚百度旗下萝卜快跑,宣布无人驾驶单量突破800万单;后脚特斯拉就于北京时间10月11日上午,召开了以“We,Robot”为主题的发布会,公布了无人驾驶车型Cybercab和Robovan,就连低调了好几个月的滴滴也在悄悄扩编,大手笔加码Robotaxi。不止是滴滴、百度、特斯拉,作为Robotaxi的重磅选手,文远知行与小马智行,也分别在10月份先后启动美股IPO,极氪也在近日宣布,其与Waymo合作开发的无人驾驶出行汽车将大规模量产交付,无人
    刘旷 2024-12-19 11:39 133浏览
  •         不卖关子先说感受,真本书真是相见恨晚啊。字面意思,见到太晚了,我刚毕业或者刚做电子行业就应该接触到这本书的。我自己跌跌撞撞那么多年走了多少弯路,掉过多少坑,都是血泪史啊,要是提前能看到这本书很多弯路很多坑都是可以避免的,可惜这本书是今年出的,羡慕现在的年轻人能有这么丰富完善的资料可以学习,想当年我纯靠百度和论坛搜索、求助啊,连个正经师傅都没有,从软件安装到一步一布操作纯靠自己瞎摸索,然后就是搜索各种教程视频,说出来都是泪啊。  &
    DrouSherry 2024-12-19 20:00 72浏览
  • //```c #include "..\..\comm\AI8051U.h"  // 包含头文件,定义了硬件寄存器和常量 #include "stdio.h"              // 标准输入输出库 #include "intrins.h"         &n
    丙丁先生 2024-12-20 10:18 69浏览
  • By Toradex秦海1). 简介为了保证基于 IEEE 802.3 协议设计的以太网设备接口可以互相兼容互联互通,需要进行 Ethernet Compliance 一致性测试,相关的技术原理说明请参考如下文章,本文就不赘述,主要展示基于 NXP i.MX8M Mini ARM 处理器平台进行 1000M/100M/10M 以太网端口进行一致性测试的测试流程。https://www.toradex.com
    hai.qin_651820742 2024-12-19 15:20 127浏览
  • 百佳泰特为您整理2024年12月各大Logo的最新规格信息。——————————USB▶ 百佳泰获授权进行 USB Active Cable 认证。▶ 所有符合 USB PD 3.2 标准的产品都有资格获得USB-IF 认证——————————Bluetooth®▶ Remote UPF Testing针对所有低功耗音频(LE Audio)和网格(Mesh)规范的远程互操作性测试已开放,蓝牙会员可使用该测试,这是随时测试产品的又一绝佳途径。——————————PCI Express▶ 2025年
    百佳泰测试实验室 2024-12-20 10:33 80浏览
  • 在强调可移植性(portable)的年代,人称「二合一笔电」的平板笔电便成为许多消费者趋之若鹜的3C产品。说到平板笔电,不论是其双向连接设计,面板与键盘底座可分离的独特功能,再加上兼具笔电模式、平板模式、翻转模式及帐篷模式等多种使用方式,让使用者在不同的使用情境下都能随意调整,轻巧灵活的便利性也为多数消费者提供了绝佳的使用体验。然而也正是这样的独特设计,潜藏着传统笔电供货商在产品设计上容易忽视的潜在风险。平板笔电Surface Pro 7+ 的各种使用模式。图片出处:Microsoft Comm
    百佳泰测试实验室 2024-12-19 17:40 157浏览
  • 汽车驾驶员监控系统又称DMS,是一种集中在车辆中的技术,用于实时跟踪和评估驾驶员状态及驾驶行为。随着汽车产业智能化转型,整合AI技术的DMS逐渐成为主流,AI模型通过大量数据进行持续训练,使得驾驶监控更加高效和精准。 驾驶员监测系统主要通过传感器、摄像头收集驾驶员的面部图像,定位头部姿势、人脸特征及行为特征,并通过各种异常驾驶行为检测模型运算来识别驾驶员的当前状态。如果出现任何异常驾驶行为(如疲劳,分心,抽烟,接打电话,无安全带等),将发出声音及视觉警报。此外,驾驶员的行为数据会被记录
    启扬ARM嵌入式 2024-12-20 09:14 65浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦