• 简中
    • 繁中
  • 注册
  • 查看作者
  • 算力经济下DPU芯片嘅发展机遇

    01 算力,已经成为先进生产力

    家阵时承载算力嘅基础设施是各种规模嘅嘅数据中心,从几十个服务器节点嘅小规模企业级计算中心到数万个节点嘅巨型数据中心,通过云计算嘅模式对应用层客户提供存储、软件、计算平台等服务。呢个生态直接承载‌全球数十万亿美元规模嘅数字经济,而且对全球服务业、工业、农业嘅渗透率随住大数据、5G、人工智能等技术嘅发展仲喺度不断提高。算力,已不剩只是一个技术指标,佢已经成为‌先进生产力嘅代表。

    算力源于芯片,通过基础软件嘅有效组织,最终释放到终端应用上。目前数据中心中核心算力芯片包括CPU、GPU、FPGA同少量嘅ASIC,其中各类通用CPU嘅占比仲是绝对统治地位。数据显示目前CPU嘅年出货量超过200亿粒,其中数据中心中使用嘅服务器端CPU嘅出货量约2000万粒,PC(包括桌面、工作站等)端约2.6亿粒。仅在2020年第4季,全球基于ARM IP嘅芯片出货达到‌创纪录嘅67亿粒;GPU嘅出货量都非常可观,超过4亿粒(包括Intel、AMD嘅集成核显),大部分都应用在各种终端设备度,如大量消费级同工业级电子产品中。喺云端,高性能CPU同GPU是主要嘅两种算力芯片——都是规模最大,单价最高,应用环境最复杂嘅芯片。

    02 负载分化:从存内计算到网内计算,出现大量可从CPU卸载嘅任务

    计算嘅两个核心要素:数据同计算,喺数据同计算之间通过复杂嘅存储层次嚟均衡带宽、延迟、容量、成本等因素,尽可能等计算芯片对数据能做到“随用随取”,但係这在物理上是不可能实现嘅。将数据从生产侧或存储侧搬运到计算节点上都需要时间同能耗。为‌将数据搬运到完成布尔逻辑嘅计算单元,已经消耗‌90%以上嘅能耗嘎啦。过去50年,乘住摩尔定律嘅东风,单粒计算芯片嘅处理性能指数增长,但係访存带宽受限于管脚数同时钟频率仅能做到线性增长,相对而言数据搬运嘅开销被继续放大嘎啦。端到端嘅延迟越嚟越难以控制,要将处理器“喂饱”都变得越嚟越困难。为‌不浪费处理器计算容量,只好通过各种共享机制嚟相互隐藏数据搬运嘅延迟同开销——而这本身就是一种开销。

    一个直接嘅想法就是将数据靠近计算芯片、或者将计算芯片靠近数据,而且是物理临近。出现咗“存内处理(PIM,Process In Memory)”嘅概念,都称之为”In-Memory Computing”,存内计算。例如,将一啲地址计算,地址转换,校验码计算、查找表等设置在存储控制器中。但这本质上是卸载‌部分CPU负载嘅计算到内存控制器,其实并没有将CPU完全“嵌入”内存,但都算是一种间接嘅存内计算嘅实现方式。仲有一种更依赖新型器件技术嘅“存算一体”,比如非易失性存储单元嘅阻抗(或导纳)作为被存数据,当在一端施加输入数据(电压),输出就是二者嘅乘积,再通过模拟信号处理,模拟-数字转换后,得到CPU可以处理嘅二进制数据;当将呢啲节点组织称一个阵列,就相当于完成‌一次两个向量嘅乘累加(MAC)操作。

    另外一种存算融合嘅方式是“近内存计算(Near-Memory Computing)”, 主要体现为放置更多嘅存储器件(包括非易失性存储器件)到片上,但系以视为一种通过片上集成大内存作为一级高速缓存,呢种方式更多是存储技术同集成技术嚟驱动嘅,比如已经开始采用嘅高带宽存储器(HBM), 得益于3D集成技术,单个存储堆栈带宽即可以达到100GB/s,相比于GDDR5嘅DRAM嘅28GB/s,有接近4倍嘅提升。本质上嚟睇,CPU嘅存储层次之所以发展为多层、多级,都是为‌使处理器更“靠近”数据。

    算力经济下DPU芯片嘅发展机遇

    中科驭数SmartNIC产品

    呢啲技术都系局部计算同存储嘅融合技术,即以单机、单节点为优化对象。如果将一座数据中心视为一台计算机,正所谓”The Datacenter as a Computer”, 那么计算嘅分布就有新嘅可能性。数据中心虽然可以逻辑上被视为一台计算机,但其中嘅节点是需要通过网络互连嘅。计算嘅分配、存储嘅共享、硬件资源嘅虚拟化等,都将成为整合数据中心资源嘅开销。而数据中心嘅CPU同GPU都唔系针对数据中心嘅呢啲负载嚟设计嘅,诸如网络协议处理、存储压缩、数据加密。网卡设备在数据中心中起到‌关键作用。既然网卡可以处理物理层同链路层嘅数据帧,点解不继续卸载网络层同部分应用层嘅计算到网卡上嚟呢?所以网卡从只负责节点间嘅“互连互通”到可以帮助CPU处理一啲底层数据处理,其名称都就从NIC(Network Interface Card)升级成‌SmartNIC。网卡都从单纯嘅处理数据帧变成‌附带更多计算业务嘅“小服务器”,拓展成真正嘅“网内计算(In- Network Computing)”。 

    无论是存内计算、近内存计算、仲是网内计算、其最终嘅目嘅都系将数据所经历嘅嘅存储、传输、计算嘅环节做有针对性嘅处理,提升系统嘅整体效率。

    03 计算组织:从“端-云”一体,到“端-边缘-云”一体

    为‌承载AIoT、自动驾驶、V2X、智慧城市、智能安防等新兴产业,计算嘅组织都有‌好多新嘅变化。从端-云一体,到端-边缘-云一体,例如未嚟自动驾驶度,车将会成为边缘嘅一个载体;在5G时代,5G基站都可能会成为一个边缘节点,云计算嘅部分计算功能会下放到边缘端嘅算力节点上,获得更及时响应时间,更节省嘅网络带宽 。除 ‌ 边 缘 计 算 , 在 端 – 云 之 间 甚 至 有 研 究 人 员 提 出 ‌ “ 雾 计 算 (Fog Computing)”,“霾计算(Mist Computing)”,嚟不断嘅将计算进行分层处理,以获得更好嘅服务质量,更低嘅成本。类似于一个国家嘅行政治理结构:省、市、区、县等,上级负责所辖嘅下一级整体规划,下级负责具体实施;在下一级能处理嘅业务,就不需要往上一级推送。咁样就可以有序得将计算合理分配到各个计算层次。每个终端业务无须关心是边一朵“云”在提供服务,都不需要关心有几多层“云”、是“云”仲是“雾”在提供服务。计算能力将会像电力一样,通过端-边缘-云一体化系统,“输送”到用户。至于电嚟自于边一座发电站,并唔重要。呢个计算组织结构嘅变化,直接影响‌计算指标嘅演变:从高性能到高效能,进而到高通量,最终落实到高生产率计算。

    算力经济下DPU芯片嘅发展机遇

    边缘计算

    04 体系结构:通用、专用并举孕育‌“X”PU嘅新机遇

    算力经济下DPU芯片嘅发展机遇

    目前各类CPU(包括服务器端、桌面端、移动端、工控同各类嵌入式场景等)嘅年出货量超过百亿粒,全球平均每人都可以达到3粒CPU嘅消费量,基本可以认为CPU已经成为一个泛在嘅器件。建立在CPU上嘅软硬件生态,无论是x86仲是ARM,都自然成为‌成个算力系统嘅载体,CPU都责无旁贷地成为‌呢个体系中嘅主角。随住对图形图像处理嘅需求,喺上世纪90年代出现咗GPU,并逐渐发展到目前嘅GPGPU。随住深度学习算法嘅爆发,GPU揾到‌除图像处理之外嘅施展空间——神经网络模型嘅训练。直至目前,神经网络训练都系GPU占绝对统治地位。伴随住这第四次AI浪潮,GPU嘅全球领导厂商NVIDIA嘅市值都在2020年8月一举超越‌X86 CPU嘅领导厂商Intel,并一骑绝尘。GPU同时都成为‌下一代数据中心入面算力芯片嘅又一个重要角色。适逢摩尔定律嘅放缓,GPU呢一领域专用架构(DSA)技术路线下嘅代表,终于成为成为‌数据中心嘅核心算力芯片之一。DSA呢一技术路线已经被业界在大范围内认可,问题是,下一个DSA嘅代表是谁?

    算力经济下DPU芯片嘅发展机遇

    NVIDIA在2020年公布‌对呢个问题嘅睇法,佢认为在未嚟,CPU、GPU、DPU将成为数据中心嘅三个重要算力芯片,这同我哋两年前嘅睇法不谋而合。我哋认为,CPU优势是通用同所承载嘅复杂嘅业务生态,其定义‌软件生态同系统嘅可用性。GPU作为流媒体处理嘅核心,将继续朝住AR、VR嘅方向发展。行业预测在5G时代,90%嘅数据都将是视频、图片等非结构化数据,GPU必将成为这处理呢类负载嘅主要引擎。而DPU,将会成为SmartNIC嘅下一代核心引擎,将软件定义网络,软件定义存储,软件定义加速器融合到一个有机嘅整体度,解决协议处理,数据安全、算法加速等“CPU做不好,GPU做不‌”嘅计算负载。我哋都大胆预测,未嚟数据中心嘅算力引擎将出现CPU、GPU同DPU并举嘅情景。DPU不剩只是网卡芯片,而是全面成为“软件定义硬件”嘅重点对象。同时,DPU嘅市场都唔会局限在服务器端,都会出而家边缘端,例如智能驾驶嘅V2X场景,用于解决实时视频结构化、传感器数据融合,同一啲消费级嘅DPU产品,用于在隐私保护等业务上提升终端嘅用户体验。

    05 DPU点样变革下一代计算基础设施

    DPU是 Data Processing Unit嘅简称。

    DPU将作为CPU嘅卸载引擎,释放CPU嘅算力到上层应用。以网络协议处理为例,要线速处理10G嘅网络需要嘅大约4个Xeon CPU嘅核,都就是说,单是做网络数据包处理,就可以占去一个8核高端CPU嘅一半嘅算力。如果考虑40G、100G嘅高速网络,性能嘅开销就更加难以承受嘎啦。Amazon将呢啲开销都称之为“Datacenter Tax”——仲未运行业务程序,先接入网络数据就要占去嘅计算资源。AWS Nitro产品家族旨在将数据中心开销(为虚机提供远程资源,加密解密,故障跟踪,安全策略等服务程序)全部从CPU卸载到Nitro加速卡上,将畀上层应用释放30%嘅原本用于支付“Tax” 嘅算力。

    DPU将成为新嘅数据网关,将安全隐私提升到一个新嘅高度。喺网络环境下,网络接口是理想嘅隐私嘅边界,但是加密、解密嘅算法开销都好大,例如国密标准嘅非对称加密算法SM2、哈希算法SM3同对称分组密码算法SM4。如果用CPU嚟处理,就只能做少部分数据量嘅加密。喺未嚟,随住区块链承载嘅业务嘅逐渐成熟,运行共识算法POW,验签等都会消耗掉大量嘅CPU算力。而呢啲都可以通过将其固化在DPU中嚟实现,甚至DPU将成为一个可信根。

    DPU将成为存储嘅入口,将分布式嘅存储同远程访问本地化。随住SSD性价比逐渐变得可接受,部分存储迁移到SSD器件上已经成为可能,传统嘅面向机械硬盘嘅SATA协议并唔适用于SSD存储,所以,将SSD通过本地PCIE或高速网络接入系统就成为必选嘅技术路线。NVMe(Non Volatile Memory Express)就是用于接入SSD存储嘅高速接口标准协议,但系以通过PCIe作为底层传输协议,将SSD嘅带宽优势充分发挥出嚟。同时,喺分布式系统度,仲要可通过NVMe over Fabric协议扩展到InfiniBand、或TCP互连嘅节点度,实现存储嘅共享同远程访问。呢啲新嘅协议处理都可以集成在DPU中嚟实现对CPU嘅透明处理。进而,DPU将可能承接各种互连协议控制器嘅角色,喺灵活性同性能方面达到一个更优嘅平衡点。

    DPU将成为算法加速嘅沙盒,成为最灵活嘅加速器载体。DPU不完全是一粒固化嘅ASIC,喺CXL, CCIX等标准组织所倡导CPU、GPU同DPU等数据一致性访问协议嘅铺垫下,将更进一步扫清DPU编程障碍,结合FPGA等可编程器件,但系定制硬件将有更大嘅发挥空间,“软件硬件化”将成为常态,异构计算嘅潜能将因各种DPU嘅普及而彻底发挥出嚟。喺出现“Killer Application”嘅领域都有可能出现同之相对应嘅DPU,诸如传统数据库应用如OLAP、OLTP, 或新兴应用如智能驾驶等。

    算力经济下DPU芯片嘅发展机遇

    从“Hard”Software到 “Soft”Hardware嘅演变

    06 中科驭数嘅DPU方案:KPU1+KPU2+……=DPU

    算力经济下DPU芯片嘅发展机遇

    鉴于以上嘅认知,中科驭数在这条赛道上已经布局。驭数采取‌以算法加速为核心,以网络加速为切入点嘅策略,以清晰嘅行业应用为驱动,做直接面向应用嘅DPU。先单点打通,再按需扩展嘅策略。

    现有嘅DPU大体上有两种类型:1)以通用众核为基础嘅同构众核DPU,类似早期以处理数据包为目嘅嘅网络处理器,例如Broadcom嘅嘅Stingray架构,以多核ARM为核心,以众取胜。得益于通用处理器核(绝大部分都系ARM系列),但系编程性比较好,但是应用嘅针对性不够,对于特殊算法同应用嘅支持相对于通用CPU没有优势。2)以专用核为基础,构建异构核阵列。呢种结构针对性强,性能最好,但牺牲‌部分灵活性。现有嘅最新嘅产品趋势都系二者嘅折度,而且专用核嘅比重越嚟越嚟大,NVIDIA最新嘅BlueField2系列DPU嘅结构就包括4个ARM核再加多个专用加速核区域,Fungible嘅DPU包含52个MIPS小型通用核,但仲包含6个大类嘅专用核。   

    算力经济下DPU芯片嘅发展机遇

    中科驭数嘅DPU是以KPU为运算核心,以高速传输同存储总结为接口,弱通用化控制嘅数据面领域专用处理器。

    算力经济下DPU芯片嘅发展机遇

    驭数K2系列DPU架构

    上图展示‌驭数DPU嘅顶层结构,其核心是四类KPU嘅异构核阵列,分别处理网络协议,OLAP\OLTP处理,机器学习同安全加密运算核。不同于Broadcom,Fungible等厂商,我哋将重点放喺‌异构核上,即以针对性算法加速为核心,驭数提出‌KPU架构,嚟组织异构核。喺KPU架构下,驭数提出‌完善嘅L2/ L3/L4层嘅网络协议处理,提出‌直接面向OLAP、OLTP嘅数据查询处理核,而没有采用原嚟众核为主嘅架构。呢一路线同NVIDIA嘅技术路线更接近,但更加侧重异构核嘅使用。睇似牺牲‌部分通用核嘅可编程性,但换嚟嘅系更高效嘅处理效率,更直接嘅使用接口,更瘦嘅运行时系统同更佳嘅虚拟化支持。一个理想嘅DPU必然不像CPU,先有可能同CPU更好嘅互补。通用嘅计算不应该、都不需要卸载到DPU上,而可卸载到DPU上嘅负载必然都不需要在基础算子层面嚟进行运算控制。

    算力经济下DPU芯片嘅发展机遇

    驭数超低时延NVMe Over TCP Host端加速卡架构图

    中科驭数嘅DPU顶层架构支撑‌驭数其中一条重要产品线:SWIFT系列嘅网络加速卡。SWIFT™-2000M是中科驭数KPU-SWIFT™网络加速产品系列中一款超低时延NVMe Over TCP网络端加速卡,基于中科驭数KPU架构同自主研发嘅全硬件TCP/IP协议簇解决方案,佢集成‌完整嘅TCP、UDP、ARP、ICMP同IP等协议处理模块,配套驭数嘅高性能PCIe驱动同NVMe协议嘅软件接口适配,从而实现NVMe over TCP嘅网络 端全功能极速系统。SWIFT™-2000M集成‌丰富嘅系统运行状态监测功能,拥有硬件处理嘅TCP包传输、数据重传、乱序重排、ping等完备嘅功能,解决10G/100G高速NVMe-oF场景下网络协议处理CPU资源占用过高、解析过慢嘅痛点,大幅提升系统吞吐,优化远端存储访问效率。

    算力经济下DPU芯片嘅发展机遇

    中科驭数首粒芯片于2019年成功流片

    07 未嚟展望:构建专用处理器系统结构嘅几个关键点

    专用处理器同通用处理器是处理器发展嘅两个互补嘅方向,虽然单独一类专用处理器嘅市场要远小于通用处理器,但是多类专用处理器嘅市场总同将远远大于通用处理器嘅市场。而且,专用处理器嘅发展将会在好多增量嘅应用市场中占有绝对嘅性能优势,而受到嘅通用计算嘅生态限制更少,有利于专用架构逐步扩展去覆盖更长尾端嘅应用。

    在过去处理器芯片发展嘅60年入面,前50年都系通用处理器嘅发展以绝对优势占据‌处理器芯片嘅市场份额,相信在接下嚟嘅30年,随住数据嘅爆发同“端云一体”呢种计算范式嘅继续渗透,将形成通用处理器同专用处理器并行嘅新局面,喺2020年7月嘅COMMUNICATIONS OF THE ACM度,有一篇文章提出‌一个新概念:“ASIC Clouds”, 全文标题是“ASIC Clouds: Specializing the Datacenterfor Planet-Scale Applications”,这入面嘅“ASIC”其实就是各种专用处理器嘅呈现形式,我哋相信专用处理器将迎嚟空前嘅增长机遇。

    算力经济下DPU芯片嘅发展机遇

    我哋认为构建专用处理器系统结构有以下几个关键点:

    ▲ 针对“数据平面”嘅计算架构

    专用计算体系结构同通用计算体系结构嘅阵地是不同嘅,专用计算竞争嘅焦点是数据平面,而通用计算竞争嘅焦点是控制平面。专用计算好比是造赛车,目标就是快,重点是根据赛道嘅类型嚟决定赛车嘅结构;通用计算好比是造民用车,目标更加嘅多元化,不仅要兼顾不同路况下嘅可用性,仲要要考虑性价比、代际兼容性。所以,以通用CPU嘅标准嚟睇待专用XPU可能并唔合适,甚至会制约‌专用处理器嘅发展。

    ▲ 融合创新技术

    计算架构嘅范畴不剩只是狭义嘅处理器芯片,仲要包括相应嘅存储、传输、集成工艺等,是一个系统性概念。专用计算由于其“专用”嘅属性,对融合新技术更有优势,例如,引入高速非易失性存储(NVMe),利用 “NVMe oF”技术构建更高效嘅分布式存储系统;将主机内存直接连接在PCIe设备端,建立更大、更快嘅远程直接内存访问(RDMA);集成HBM支持更大嘅片上数据集,更高效嘅数据平面操作;将神经网络计算融入网内计算,透明赋能需要推理嘅场景。

    ▲ 面向嘅领域专用描述语言

    应用都系可以进行无二意性嘅语言进行描述嘅,专用计算都不例外。对应用嘅描述层是专用计算架构嘅边界:描述层之上是客户嘅实际应用程序,描述层之下都系专用计算系统涉及定制嘅部分。成个系统嘅参考边界由传统ISA(指令集)上升到‌DSL(Domain-specific Language)。例如,P4编程语言是面向SDN嘅领域专用语言,专门用于定义路由器同交换机点样转发数据包,属于数据平面嘅编程语言。至于网络处理器是用ARM仲是MIPS,或是X86并唔重要。而家嘅深度学习框架例如TensorFlow,其实都是提供‌一整套定义深度学习模型结构、描述模型训练方法嘅DSL;仲有面向数据库嘅SQL,本身就是一种声明式(Declaritive)嘅DSL编程语言,有望成为新专用处理器设计嘅参考边界。

    ▲ 先垂直深耕,再水平扩展

    对于专用计算架构业界嘅一个普遍嘅共识是“碎片化”问题,挑战“one-size-fitall”嘅ASIC商业模式。传统上认为碎片化意味住单个产品线难以上量,难以摊薄芯片研发嘅巨额一次性投入,即所谓嘅高昂嘅NRE成本。一个有商业价值嘅技术必须建立在“技术闭环”嘅基础上:研发、使用、反馈、再研发改进、再扩大使用范围……。技术只有投入使用才能体现价值,有使用价值才有可能商业化,先能完成技术闭环到商业闭环嘅进化。技术闭环嘅形成需要集中火力,全链条主动出击才能铺就。碎片化并唔系“专用”障碍,反而应该是专用技术路线充分利用嘅优势。

    (END)

    cantonese.live 足跡 粵字翻譯

    2021-03-25 17:06:33

  • 0
  • 0
  • 0
  • 165
  • 请登录之后再进行评论

    登录
  • 任务
  • 发布
  • 偏好设置
  • 单栏布局 侧栏位置: