1.3 技术亮点
技术亮点
AI数据存储与计算,核心机器学习算法
- 面向100G + RoCE 设计的自研大规模分布式机器学习框架(见2.1.3.1)
- 基于100G + RoCE 优化的AI计算框架、AutoML自动机器学习算法 (见2.1.3.1)
- P-RPC 机器学习远程调用协议,支撑大规模机器学习场景数据、特征同步 (见2.1.4.1)
- 基于3Dx point 高性能持久化AI存储、虚拟化内存 (见2.1.5.2)
- Memory / SSD 自切换缓存技术加速AI数据处理、特征计算 (见2.1.5.2)
自研FPGA AI加速芯片 (章节2.1.4.2)
- AI全流程的加速、资源优化,并行特征落盘计算、模型压缩,存储、网络传输性能提升>5x
- 自研GBM、自研DSN、DNN(等机器学习算法的深度性能优化
机器学习超高密度计算平台(见2.1.5.1)
- 基于x86面向机器学习训练场景的IO总线带宽优化、超频优化,大幅提升物理层、逻辑层计算密度
1)2x 内存通道和带宽
2)2x IO带宽
3)1.5x 浮点运算能力提升
二、架构与技术概述
2.1 一体机总体架构
算法层,框架层,组成部分,自研库层,内核层和硬件层组成。
。Predictor用于给线上提供API服务,还有一个是调度框架。
框架由下面的核心组件构成,计算图、分布式数据源、参数服务器等,核心组件的一会后面会讲到。
再往下就是我们自研的一些库,比如矩阵库,FPGA相关的库,自研的RPC框架,支持RDMA,结合我们的序列化框架可以做到全流程的zero copy。
然后是kernel和hardware,这里我们主要是调用硬件的api。Kernel层
内核层由RDMA核,Socket , MKL, FPGA Driver和Linux Kemel组成。在此不再aoshu。剩余五层我们自上而下进行详细介绍。
2.1.1
算法层
算法层由主要由高维机器学习算法和自动机器学习算法组成,也包括一些市面流行的算法的实现。高维机器学习算法包括高维线性模型(HD-LR),高维梯度提升机(HD-GBM),高维离散嵌入树模型(HD-HetreeNet),高维线性分型(HD-LFC),高维深度稀疏神经网络(DSN),Feature Go和。随着数据量的增长,为了达到更好的模型效果,模型在朝着深和宽的方向发展,TensorFlow、PyTorch等在深度学习做的不错,但是没有为高维模型设计,这一点上GDBT作为这些开源框架的补充。
• 高维线性模型(HD-LR):
线性模型因为其模型简单、容易求解且十分有效,在工业界和学术界都有十分广阔的应用。一般来说,常用的线性模型包括用于分类的Logistic Regression与用于回归的Linear Regression。但是,在数据集有巨量稀疏特征的情况下,传统的线性模型求解变得十分困难,其计算需要消耗大量的空间与时间资源。针对以上问题,本项目基于独创的GDBT框架开发了适应高维度稀疏特征的Logistic Regression(HD-LR)与Linear Regression(HD-Linear),并针对高维度稀疏特征,做了针对性优化。
• 高维梯度提升机(HD-GBM)
基于梯度提升技术将多决策树融合在一起进行学习。由于决策树的非线性特性,在数据量大、特征复杂的情况下,往往能得到优秀的效果,因此应用广泛。然而,由于GBM模型本身较为复杂,因此在面对高维度稀疏特征时,往往表现不佳,难以得到足够有效的模型。针对以上问题,本项目对GBM做了独创的改进,将HD-Linear易于处理高维稀疏特征的特点与GBM相结合,开发了HD-GBM。
• 高维离散嵌入树模型(HD-HetreeNet)
高维离散嵌入树模型使用了国际领先的高维离散嵌入技术,对于一些难以处理高维稀疏离散特征的模型,该技术可以将数据变换成适合于这些模型的形式。该技术在带有时序的数据集上通过一系列基于统计的算法,将高维稀疏离散特征进行嵌入,大幅度降低了特征维度,将稀疏变为稠密,同时几乎不损失原特征中含有的信息量,此外,还将时序信息也嵌入到变换后的特征中,丰富了特征的信息量。
• 高维线性分型(HD-LFC)
针对传统等距分桶对分桶数敏感度高、特征表达单一的问题,第四范式独创了线性分形技术,通过多层次等距分桶技术,有效的缓解了上述问题,并解决了等距分桶计算代价大、运算慢的问题;同时,在多个公开数据集上的实验结果显示,线性分形技术效果上显著优于对数几率回归,并且稳定性高。
• 高维深度稀疏网络(HD-DSN)
深度神经网络(Deep Neural Network)可以通过多层网络从数据中抽取高层次抽象信息,结合本身对数据的适配能力,在合理调整参数的情况下,往往可以获得十分优秀的效果(尤其在图像、语音与文本理解上)。然而,在数据量大、特征维度高的情况下,深度神经网络的训练速度往往很慢,甚至难以训练。针对高维稀疏特征,本项目开发了深度稀疏网络。与现有深度神经网络不同,深度稀疏网络可以自动学习其嵌入式表达和融合多种特征融合交叉算子,可以在超高维度稀疏特征的数据上训练并获得很好的效果。
• 自动特征组合(FeatureGo)
首创了构建超高阶特征组合的自动特征组合技术,解决了远超Alphago搜索复杂度的指数级搜索问题,同时保持了良好的特征可解释性,成为人工智能在实际业务落地中的核心特征处理工具。在本项目内部建模比赛中,一个非人工智能专家仅依靠该技术,取得了第二名,超过大多建模专家。
2.1.2框架层
上述的高维算法需要运行在框架层上。高维算法与普通算法不同,普通机器学习深度学习算法的运行框架TensorFlow和Spark,Sklearn等框架已经不能满足高维算法的需求。框架层包含机器学习引擎,在线预估评估框架。
1) 机器学习引擎Machine Learning Engine
机器学习引擎(Machine Learning Engine)简称MLE,是GDBT的API,它提供了一套仿sklearn的接口,熟悉sklearn的使用者可以以较低的成本切换代码,并使用GDBT的分布式开发框架。MLE负责机器学习计算的描述,比如计算图的描述,以及其与数据源,参数服务器的关系等。
2)在线预估评价Predictor
给线上提供API服务
2.1.3组件层
组件层包括参数服务器,分布式数据源,计算图,累加器与协调器(Coordinator)。主要介绍参数服务器和分布式数据源。
2.1.3.1参数服务器(Parameter Server)
参数服务器是用于更新和存储模型的一种架构。类似于分布式Key Value存储。参数服务器有几个特殊的特性,第一是因为机器学习是容忍少量误差的,不需要保证Server端的一致性,甚至最终一致性都不需要保证。再就是参数服务器在server端的计算非常复杂,计算也很繁重。
参数服务器的主要需要支持的操作是push,pull,load,dump。主要的计算压力来自于push和pull。这里以LR的push举例。如图3所示
Client端根据样本计算出每个维度的梯度,我们会把相同的维度进行梯度合并,根据一致性hash,算出每个维度的权重在参数服务器的哪几个节点,产生对应的请求,然后通过RPC发送到Server端,进行权重的更新。
所以每次push或者pull,会产生Server数个请求,对于LR这种计算非常简单的算法而言,所有的压力都在参数服务器上,根据不同的数据和配置,瓶颈是不一样的,可能在client端,server端,RPC的传输。
GDBT自研的参数服务器的优势有五点:第一是链路共享,支持RDMA Support;第二是Client与Server双端参数的合并能提高运算速度以及节省计算资源;第三,如图4所示的数据结构,对缓存友好,能节约访存带宽;第四,超轻量的自研锁—RWSpinLock能够最大化读写并发;第五,双路E52630 v4 单机提供的每秒KV更新数过亿,相比较市面上每秒仅有百万次更新的主流竞品Redis有较大优势。
参数服务器的性能瓶颈体现三个方面:第一是Server端内存的随机访存;第二是Client端合并相同的key;第三是网络吞吐和延迟。在这三个方面有所提升就可以突破参数服务器的性能瓶颈,提升参数服务器的性能。
2.1.3.2分布式数据源
SageOne中的自研分布式数据源负责上下游对接以及负载均衡。
分布式数据源有四个特点:第一,分布式数据源是框架对外界的桥梁,支持多种第三方存储(hdfs,kafka,local…...);第二,为了最大化利用资源而使用基于争抢的负载均衡;第三,由于第三方框架难免会有overhead,以及会涉及格式的转换,所以DataSource有缓存机制,当第二次使用的时候,就会从缓存中读取使用二进制缓存,减少第三方的overhead;第四,分布式数据源还需要管理节点之间异步的节奏。
分布式数据源性能瓶颈有四点:目前数据源的瓶颈主要有四点,第一是压缩算法,这个我们使用自研的压缩算法,可以使用FPGA。第二,如果是文本格式的样本,解析文本也是很费时的,尤其是十进制文本到float的转化。
第三,Shuffle会造成网络的开销。
第四,对于大部分场景,性能瓶颈在第三方数据源的速度,比如HDFS。
2.1.4自研库层
上述的参数服务器等组件基于一些自研库编写。
自研库层由PRPC,PTensor库,FPGA加速库,Zero-copy序列化库和共享memory池组成。下面重点介绍PRPC和FPGA加速库。
2.1.4.1 PRPC
•现存Spine Leaf网络拓扑解决南北向流量问题,但大规模AI训练负载造成东西向”流量风暴“
•网络密集型通信
•大量的数据分布在不同的计算节点中
•训练引擎需要不断计算模型权重,并和其它节点同步优化结果,从而协同计算
•同步成为性能瓶颈,模型规模增长,需要更高带宽
•高维模型造成权重的数量呈指数增长
•计算是同步的,所以通信表现为网络突发流量
高带宽&低延时网络,强化东西向吞吐,提升AI训练性能
带宽从千兆/万兆升级到100G/200G甚至更高
从铜缆升级到光纤
RDMA技术运用,提升跨节点间数据交换效率
InfiniBand网络,最小化通信延迟
通过强化网卡计算能力,降低CPU负载,提升通信效率
(
相比于MapReduce等传统数据处理做法,大规模分布式AI场景下的网络通信面临着不一样的挑战。对于处理大规模离散特征的算法,如逻辑回归(LR),消息吞吐量将直接影响到整个训练任务的性能。对于处理稠密特征的深度学习算法或者是树模型(GBDT),网络延迟很容易成为性能瓶颈。不同的AI算法面临不一样的性能瓶颈,我们设计了自己的RPC框架——PRPC,以求能在多变的AI场景下,都能实现优秀的性能。通过zerocopy和自研事件调度系统降低通信延迟;通过RDMA技术优化机器学习离线训练和线上预估。
PRPC的定位是尽可能的适应不同的机器学习的场景,最大化分布式计算的性能,所以我们让他与应用层进行了适当的耦合,从而使的整个过程都是zero copy的,同时上层算法也尽可能进行原地计算,使的整个机器学习任务的性能达到极致。对于LR算法和GBDT算法,RDMA模式下的PRPC有数倍性能提升。与ZMQ,BPRC和GRPC对比PRPC在大部分机器学习场景下有较大性能优势。
PRPC性能瓶颈有四点:第一,原子操作比较多,在LockFreeQueue和fd的争抢;第二,block基于eventfd;第三,有少量busy waiting(RPCContxt内有RWSpinLock);第四,同步模式,线程通信延迟。
2.1.4.2 FPGA加速库
我们基于FPGA一共开发了两套加速器,分别为用于特征工程落盘压缩加速的PZ压缩加速库和分别为以下应用场景:
2 特征工程落盘压缩进行加速。我们开发了和gzip类似的无损数据压缩格式– pz格式。FPGA使用pz的压缩,并且pz压缩格式和Hadoop无缝整合,使用在特征工程落盘压缩上。Pz格式解压缩依然在CPU上运行。
3 GBDT的训练过程加速。我们开发了基于FPGA加速的GBDT训练程序– FlashGBM。该程序使用和普通版GBDT训练一样的算法,达到相似的精度,但是可以在大部分数据集上显著提高训练速度。
另外,我们针对我们程序也定制了公版的FPGA驱动,解决了公版驱动中可能会导致FPGA运算无法退出,从而严重影响程序使用性的问题。通过优化驱动,大大提高了程序本身的可靠性。
为了提高FPGA板卡的利用效率,当前一体机每一个物理节点配备了一块FPGA板卡。被加速的两个场景通过运行时对FPGA板卡的重新配置,来达到共享FPGA加速的目的。
虽然FPGA可以在运行时被动态重新配置,但是FPGA本质依然为一个独占设备,无法像CPU一样做到不同程序共享资源。由于运行时重置需要占用一定的overhead(大概在几秒时间),所以无法做到细粒度的程序间共享。但是我们通过运行时动态重新配置,可以让一个任务跑完以后马上释放FPGA资源,继续可以让另外一个任务去占用FPGA做加速。另一方面,这种粗粒度的动态共享也带来一个问题,就是如果一个程序当前需要去占用FPGA做加速,但是FPGA已经被之前的程序所占用,那么当前程序没法获得FPGA资源。这种场景下,我们的程序都做了会退到CPU进行处理的逻辑,来保证程序正常运行。
下面分别详细介绍PZ压缩加速库和FlashGBM训练加速库
a. PZ压缩加速库
PZ压缩是一种与GZIP相似的无损数据压缩格式,传统GZIP采用的是基于CPU的DEFLATE算法,而PZ压缩使用的是基于FPGA优化的DEFLATE算法。PZ压缩以Hadoop自定义codec的形式集成到先知中,用于对FE输出结果进行压缩,同时PICO通过集成PZ压缩的hdfs client解压并读取FE的输出结果。基于FPGA优化的DEFLATE算法基于FPGA开发,充分利用FPGA高并发的特点,结合集成于芯片内部的低延迟内存,从而达到较CPU版本10倍以上的性能提升。
与传统DEFLATE算法类似,我们基于FPGA优化的DEFLATE算法仍然由LZ77算法与Huffman Coding两部分算法组成,不同的是,除动态Huffman树的构建由CPU完成外,所有LZ77与Huffman Coding相关算法均通过FPGA实现。总体流程如图所示(Figure 2)。
Figure 2. 基于FPGA的压缩算法总体流程
我们仅使用FPGA加速PZ格式的压缩部分,且PZ格式使用场景为特征工程的输出。其他使用数据压缩的场景依然基于CPU的压缩格式。
b. FlashGBM训练加速库
我们基于FPGA开发了专门用于GBDT训练的加速芯片,并且定制了配合改加速器的GBDT训练专用软件 - FlashGBM。FlashGBM有如下技术亮点:
1. 针对GBDT训练算法和FPGA本身架构特点做了深入的流水线优化,避免cache bank conflict,最大化的优化的访存效率
2. 引入自动调参技术。用户不需要手动调参来确定效率最优情况下的参数组合。
3. 自定义FPGA驱动。针对FlashGBM,改进了公版FPGA驱动上潜在的稳定性问题,显著提高了程序的可靠性。
这一代的FlashGBM FPGA加速系统使用了Intel最新的Arria 10 GX系列可编程逻辑器件以及高速DDR 4板载内存,整个加速系统的所有元器件都集成于一块标准大小的PCIe板卡。如下图所示:FlashGBM的主控程序(Host端)运行在处理器端,负责多机通讯以及分配调度可用的算力资源。FPGA器件中的计算核心通过加速框架与中央处理器相连,接受主控程序的调配。加速卡端的PCIe控制器(PCIe Controller)是在FPGA器件内部实现的,它不仅负责主机与计算核心之间的控制信号传递,也通过外部内存控制器(External Memory Interface Controller)直接与板载高速DDR4内存通讯。搭配直接内存访问引擎(DMA Engine)的运用,加速系统可以直接在系统主存和板载内存之间实现双向高速数据传输。
计算核心(FlashGBM HistKernel Core)可以访问两种不同的内存资源:全局内存(Global Memory)和本地内存(Local Memory)。在我们的加速系统中,全局内存由板载DDR4内存实现,而本地内存由FPGA片内的SRAM(M20K)实现。其中,计算核心对于全局内存的访问通过外部内存控制器与直接内存访问引擎共享,由外部内存控制器负责调度他们之间的内存访问;而对于本地内存,计算核心则拥有独占访问控制,对本地内存的访问调度将由在计算核心内部实现。
2.1.5硬件层
硬件层由Cascade Lake CPU ,Optane,Intel FPGA 和ConnectX 5组成。其中ConnectX 5作为最先进的智能适配器拥有最先进的实时网络计算引擎
2.1.5.1 Cascade Lake CPU (抄)
(•面向机器学习训练场景的IO总线带宽优化、超频优化,大幅提升物理层、逻辑层计算密度 )
通过与AI行业核心基础设施技术提供商英特尔公司的深度合作,第四范式AIO引入Intel Cascade Lake等技术。在AI数据处理能力上,结合英特尔Cascade Lake CPU,与第四范式软硬一体的优化,先知AI平台分布式模型训练框架训练速度获得飞跃。在TB级数据规模下,“第四范式先知”平台的模型训练速度可达Spark的数千倍。同时,平台将常用、有效的数据处理过程进行了产品化封装,用户只需简单配置即可对原始数据表进行复杂计算与处理,使数据处理工作量减少80%。
Cascade Lake-AP处理器由两颗Cascade Lake-SP整合封装而成,主要用于高性能计算、AI相关负载等领域。这些处理器最多支持56核 ,112路,最高达12 DDR4 channels.
Cascade Lake拥有单处理器最大48core,更多内存通道,提供更高访存带宽和EPYC处理器,使用Vega 7nm技术。
Cascade Lake会支持一种新扩展指令集AVX512_VNNI用于加速深度计算和AI相关负载。另外,Cascade Lake将率先支持Optane非易失DIMM内存条,单通道(128G LRDIMM+512GB Optane),也就是单路处理器平台最大3840GB。
Common Features[edit]
§ 12-channel memory
§ UP to DDR4-2933 MT/s
§ ECC support
§ TDP:250 W to 400 W
§ PCIe:x40 Lanes of PCIe Gen 3 (limited by the S9200WK module, actual models support more lanes but are not sold independently)
§ ISA: Everything up to AVX-512 (SMM, FPU, NX, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AES, AVX, FMA3, AVX2, AVX512F, AVX512CD, AVX512BW, AVX512DQ, AVX512VL, AVX512VNNI)
§ Features: Speed Shift,vPro,VT-x, TSX, TXT
2.1.5.2 Optane 固态盘
随着AI应用不断普及以及5G时代的到来,数据量将剧增,高维AI训练和推理过程将遭遇I/O瓶颈。详细来说,原因在于以下三个方面。第一是由于高维稀疏模型文件大小一般已经在百万维时达到GB,在上十亿维时可能超过TB量级。此时单机已经容纳不下整个模型文件,于是模型需要分片之后分节点存储。模型分节点存储之后,在跨机器进行模型计算和更新的过程中,跨机器访存将十分频繁。此时CPU性能受限于访存带宽,无法得到充分利用。第二是由于在AI模型训练过程中产生了大量中间结果用于模型迭代,中间数据落盘到HDFS等第三方文件系统的速度制约了训练速度的进一步提高。 第三是,对于在线实时计算复杂特征计算的场景,更加需要高性能缓存的支持。
为了给AI工作负载提供高性能 高性价比的存储环境,SageOne使用Intel Optane固态盘助力其AI系统。
3D XPoint
Intel Optane固态盘革命性的3D XPoint 技术,正在打破内存和固态盘之间的边界。
Intel Optane 提供了最新的NVME/3Dx Point闪存技术,为。 。
3Dx Point闪存技术
按官方数据,3D XPoint的读写速度和寿命均为NAND闪存的1000倍,在延迟是NAND闪存的千分之一,内存(DRAM)的10倍;存储密度则是内存的10倍。
3DXPoint获得xxxxx的原因有两点。一是 3D交叉矩阵结构。在这个结构中,3D XPoint摒弃了之前存储结构中的电容、晶体管设计,只保留内存单元(存数据的地方)、选择器和读写总线。腾出来的空间塞进了更多的内存单元,存储容量因而得到大幅度的提高。二是立体堆叠技术将内存单元一层层地垒起来,基底的面积不变,层数不断增加,存储容量得到进一步提高。
获得极致读写速度的原因有两点
3D XPoint结构中采用交叉排列方式,内存单元和选择器被存储总线交叉夹叠,每一层的总线又会被导线连接。如此一来,可以实现比NAND快1000倍的读写速度。
另外,3D XPoint通过改变电阻水平实现0和1的区分,数据以bit的形式存储在内存单元中,一个内存单元可存储1bit数据。而NAND的基本单元是page,NAND的page进行一次编程才能存储1bit数据,而且擦除操作还要在更高的block层进行。没有了NAND上的繁文缛节,数据访问速度自然更快更高效。
还有一点就是,3D XPoint上的电阻材质非常特殊,在电压作用该材质形态会发生巨大的变化,从而实现阻值的改变。在这个过程中,电阻材质形态的改变带来的损耗非常小,就像雾和雪一样,两者形态的转变最多只是热量的流失,而水的本质不变。相比于NAND上多次读写后就会出现的绝缘层损耗,3D XPoint的损耗基本可以忽略。所以我们可以看到,3D XPoint寿命是NAND的1000倍。
拓展虚拟存储空间
除此之外,Intel全新的Optane SSD,在拓展虚拟存储空间,削减CAPEX拥有巨大优势。
削减CAPEX
它对于高吞吐量、低延迟、高服务质量、高耐用性和非易性特性的融合,使得它成为第四范式构建高效分布式多级存储系统的基石,该系统让“第四范式先知”平台获得了更高效的存储和查询能力。
另外,将Intel这款高性价比的SSD用于SageOne的离线和在线计算缓存,将大大提升AI运算速度
- 基于3Dx point 高性能持久化AI存储、虚拟化内存 (见2.1.5.2)
- Memory / SSD 自切换缓存技术加速AI数据处理、特征计算 (见2.1.5.2) 也就是spark
在线
高性能实时特征数据库也因为引入Optane,打造了5G-ready的超低延时,以及持久化存储的能力。
肖羽 6-6 下午 4:47
1. spark on ssd的配置优化 (这块会找迪豪包装一下)
PPT 在他的脑子里。。 1. spark on ssd的配置优化 对应他ppt里面的 基于3Dx point 高性能持久化AI存储、虚拟化内存 2. RTIDB on SSD可以用Intel Optane做持久化存储 对应他ppt里的 Memory / SSD 自切换缓存技术加速AI数据处理、特征计算 3. FPGA对应并行特征落盘计算、模型压缩,存储性能提升
肖羽 6-6 下午 4:50
2. RTIDB on SSD可以用Intel Optane做持久化存储 (具体要我找太泽结合场景和intel的东西整一下) 3. FPGA优化了落盘压缩速度 这个算在IO不算在计算。在技术红皮书的2.1.4.2 a (PZ压缩加速库)
NVMe是啥
2.1.5.3 Intel FPGA
我们使用FPGA来作为我们硬件加速器的开发平台。当前产品中使用的FPGA型号为基于Intel Altera 10AX115芯片开发。硬件主要参数规格如Table1。
Table 1. Intel Altera 10AX115芯片规格
Logic Elements (K)1,150
System logic elements (K)1,506
M20K memory (Kb)54,260
PCIe8 lane PCIe 3.0
DRAM8 GB @ 2133 MT/s
FPGA卡在我们系统中作为基于PCIE的加速卡存在,数据流通过PCIE从host端DRAM进入FPGA的PCB板上的DRAM,FPGA芯片基于PCB板上DRAM通过硬件流水线做计算,计算结果再通过PCIE送回host。硬件加速系统的整体架构如Figure1。
Figure 1. 基于FPGA的硬件加速系统整体架构
该FPGA加速系统是一套基于Intel新一代可编程逻辑器件,并且能够与中央处理器高效协同工作的软硬一体定制化加速系统。通过灵活划分、分析、优化不同计算任务,合理调配CPU和FPGA之间的工作负载,这套FPGA加速系统既能够利用硬件加速高性能、低功耗、低延时的优势,也能够充分发挥CPU高主频、高带宽、高通用的固有能力,从而达到单一系统无法达到的算法优化效果。
得益于FPGA可编程、可擦写的特性,我们的加速系统可以快速支持算法的迭代与演进,甚至能够在同一硬件中同时支持不同版本的算法构建,或是在不断电的情况下进行计算核心的热更替,大大降低了系统的开发、运营以及维护的成本。
这套FPGA加速系统也拥有极高的可扩展性,它的所有元件器件都可以集成为一块标准大小的PCIe加速版卡,以便在实际使用中根据算力的需求灵活的调配硬件资源。同时,凭借着PCIe总线高效、高速的特性,我们的FPGA加速系统可以无缝连入系统总线,从而实现了与数据的直接交互,有效的降低了CPU的运行负载。
2.1.5.4 ConnextX 5
(Why)为了实现xxxx SageOne使用自研的高性能通信框架- PRPC。该框架通过XXXX 从提升消息吞吐量和降低通信延迟两个方面提升SageOne的网络性能。为了适配PRPC的软件层面强劲性能,传统的XXXX 已经不适应,必须使用高性能的网络硬件。专为高性能计算而生,在提升消息吞吐量和降低延迟方面具有卓越优势的ConnectX 5 成为SageOne的不二选择。
ConnectX 5助力SageOne提升消息吞吐量
对于处理大规模离散特征的算法,如高维逻辑回归(HD-LR)和深度稀疏网络(HD-DSN
),消息吞吐量将直接影响到整个训练任务的性能。SageOne PRPC在软件层面使用RDMA技术对此做了重点优化。
硬件层面,ConnectX 5同时支持PCIe 3.0和4.0互连标准的适配器产品,其内部还搭载了一个集成PCIe交换器。针对即将面世的基于PCIe 4.0标准的产品和系统, ConnectX-5可提供高达200Gb/s的总吞吐量。
另外,ConnectX 5采用创新性的信息传递接口(MPI)负载技术(例如MPI标签匹配和MPI All to All),并且配置了领先的动态路由以及可运行不同数据处理算法的新功能。ConnectX-5每秒最高可以处理2亿条消息,比上一代产品(Mellanox ConnectX-4适配器)提升33%,超出同类产品2倍以上。SageOne使用的ConnectX 5同时支持100G 以太网,与上述特点结合,可以实现系统吞吐量的最大化,从而满足5G时代AI场景的计算需求,提升AI系统与应用的整体性能。
ConnectX 5助力SageOne降低通信延迟
对于处理稠密特征的深度学习算法或者是树模型(GBDT),网络延迟很容易成为性能瓶颈。PRPC通过RDMA技术优化和自研事件调度等技术在软件层面突破性能瓶颈。而在硬件层面,针对存储基础设施,ConnectX-5还专门引入了面向NVMe的新一代加速引擎。NVMe Over Fabrics (NVMf) 存储协议利用RDMA技术以加速应用响应时间,可帮助最终用户实现远程子系统与闪存设施之间的互连。另外通过ConnectX-5的NVMf目标卸载功能,存储应用将拥有更高的性能和更低的延迟。
ConnectX 5 网络内计算减少SageOne计算负载
为达到SageOne 高维机器学习以及深度学习等算法要求的性能水平,更多的数据处理需要在网络内部完成。而数据量的高速膨胀,不仅要求数据传输在速度上要尽可能的快,而且还要减少不必要的传输,否则将造成网络长时间高负荷运行,导致更多故障发生。Mellanox公司的ConnectX-5适配器就拥有这样的网络内(in-network)计算特性,该特性可分担原本由服务器CPU负责的工作负载,如某些算法和计算任务,从而提供这些数据密集型应用所要求的高性能。
3软件功能层架构
先知软件架构
(抄白皮书)
物理
逻辑上