每当论及提高CPU性能时,大多数人第一反应都是加频率、加核心数。而现在,对许多数据中心的应用很多时候存在一些特殊需求,比如可能需要做一些压缩/解压缩、加/解密,或者会有一些内存搬移的工作。
对上述工作负载,其实增加CPU核心并不一定是高效的,反而为其提供一个专有的加速器会更高效。此外,通过增加加速器,可以提升每瓦性能,也就是说效比。而这些,又不是外置加速器能够解决的。
加速,是开启算力芯片新纪元的重要抓手。最近,英特尔宣布其高度创新的平台第四代至强可扩展处理器“七大神器”又添新助力,而这丰富的加速器将为第四代至强可扩展处理器提供超高的性能和能效比。
具备七大“神器”的CPU
CPU是承载一切的基底,过硬的基础才能发挥出加速器真正的本领。
第四代至强可扩展处理器采用Intel 7制程工艺制造,具有全新的芯片架构,并集成了高性能核、更多内核数量、业内高需求的数据中心工作负载的相关加速器,以及业界领先的DDR5、CXL1.1、PCIe 5.0。
有了强大的CPU作为支撑,加速器就像为CPU插上翅膀,面对各种场景不会占用更多宝贵的CPU资源,而是单独使用加速器进行计算加速。
此前,英特尔所宣布的“七大神器”包括英特尔高级矩阵扩展AMX、英特尔动态负载均衡器DLB、英特尔数据流加速器DSA、英特尔存内分析加速器IAA、英特尔数据中心与压缩加速技术QAT、英特尔安全引擎、英特尔至强CPU Max系列,而最新的“神器”则是集成vRAN Boost的第四代至强可扩展处理器。
事实上,加速计算有着异构与内置加速器两种方式,那么为什么英特尔选择了内置加速器?
将一些功能放在CPU内部,可以离内存更近,速度更快,这样CPU可以做更多事情,可以完成想在其他设备上卸载的工作,其通路很短。不过,这并不代表着有加速器就不再需要其他外置加速器,这些内置加速器更多是从市场需求而来。
英特尔的加速器并非改变算法,而是加速算法的计算。但算法和计算能力,有时是相辅相成的,算得更快客户就有动力去设计新的算法。
相比核心数,似乎第四代至强可扩展处理器更为强调加速器,但事实并非如此。英特尔不只是强调加速器,而是在CPU上增加了一些更好的特性。实际上,英特尔之前也曾考虑采用外置的加速器,但从整体来看,诸多计算拥有共同的专有应用,从能效比角度和市场需求来考虑,内置加速器当属最佳的方案。
需要注意的是,英特尔不仅在第四代至强可扩展处理器中拥有极强的内置加速器,还拥有几乎市面上最全的外置加速器,一内一外,全面加速各种计算。
第四代至强的AMX更强劲
其中最具创新价值的加速器,当属英特尔高级矩阵扩展AMX,它是第一次在CPU平台上应用到的用于矩阵运算的单元。
从CPU角度来看,AMX可以有效提升算力,同时它可以支持很大内存。对大模型领域的中长文本处理,它本身并不需要太高的实时性,而是要求吞吐,这就是一个比较合适的应用场景。
在之前,如果要做大数据、人工智能这些数据密集型业务,应用的CPU上的计算单元像AVX-512运算单元是向量的,英特尔引入了硬件矩阵的积存器——Tiles。同时配合这些硬件的寄存器,英特尔也有一些运算的单元,以实现每一个CPU指令都可以进行矩阵运算。
AMX计算单元支持两种数据精度,一种是8bit的整形数据,另一种是16bit的浮点数据,英特尔称之为BF16,并与普通的16bit的浮点有所区别。
回溯以往CPU,第三代至强可扩展处理器有两个系列,分别是Cooper Lake和Ice Lake,两款产品均支持INT8的,但仅有Cooper Lake处理器支持BF16。反观现在,产品迭代到了第四代至强可扩展处理器上,不仅支持了前代所有指令,同时也引入了一个新的AMX的运算单元。
在人工智能运算领域,对数据精度的选择往往是有要求的。通常来说,如果需要高精度就需要数据位宽比较多的,如FP32、FP16这样的数据来运算;如果要求运算速度更快,可能会选择数据宽度更小的,如INT8这种数据精度。
人工智能一般有两种场景,一种场景是训练,就是根据数据不断迭代出模型;另外一个场景是基于这个模型,针对新场景做出判断,这种业务模式被称为推理。
保证模型数据精度通常要用BF16以上的数据精度来进行运算,对推理来说,因为运算量相对比较小,INT8就可以满足要求。
从实际应用案例来看,阿里与英特尔在地址标准化方面展开合作,所谓地址标准化其实每天我们都有所涉猎。比如当用户在淘宝先新增加一个收货地址,在输入几个关键字之后,淘宝系统会不断给用户提示,最终帮用户定位到某个地址,这里面就涉及到语义分析。这个业务在淘宝应用相当广泛,每天有着千万级的服务。基于第四代至强可扩展处理器的AMX单元INT8数据类型精度,辅以相关软件优化,最终相比基于第三代Ice Lake的整机,提升到原来的2.48倍。
不止如此,淘宝APP首页能为每一个客户提供定制化首页,而这一服务每日请求数高达亿次。该业务用到AMX的BF16数据类型的精度,同时英特尔也针对业务做了一些软件方面的优化,包括操作的融合以及在AVX-512深入的调优,最终性能达到了原来的3倍。
另外,第四代至强处理器的AMX也曾帮助过腾讯的太极机器学习平台支撑搜索和广告业务。部署于腾讯云上的太极机器学习平台支撑的搜索业务性能指标有两方面的要求,首先是搜索次数越多越好,其次搜索延时要小于5毫秒。经过第四代至强可扩展处理器优化以及英特尔对软件的优化,针对高精度实例采用了BF16进行数据处理,低精度实例选择了INT8的数据处理,不仅帮助腾讯降低了对云服务实例的CPU数量的要求,同时性能上也得到提升,高精实例性能是原来的3倍,低精实例性能是原来的2倍。
压缩和解压缩的利器IAA
IAA(In-Memory Analytics Accelerator)顾名思义就是针对大数据、内存分析类数据库而设计的加速器,一个典型的场景就是对数据压缩和解压缩。
实际上,使用数据时,压缩解压缩包括查询、过滤等工作都可以交由加速器完成,这样的好处是,可以释放CPU的计算资源,同时也可以发挥整个计算的最大的性能,可以提升每瓦的性能,提升能效比。
第四代至强可扩展处理器的IAA加速器能够应用各种场景,对于一些主流的OS操作系统,IAA支持各种OS,比如Linux操作系统、客制化的OS、云计算当中的K8S等;而在虚拟层IAA也支持如KVM、Hyper-V等;此外,英特尔还提供了简单高效的库QPL,而它是用户态的库。
ClickHouse是国内互联网用得非常广泛的分析数据库,但它数据压缩/解压缩会占用很多CPU资源,影响数据查询性能。ClickHouse原生支持LZ4, ZSTD压缩算法,在增加了IAA-Deflate插件之后,利用IAA加速这部分功能,基于SSB 数据集(Query 4.1)测试,查询性能最大提升40%,压缩比提升42%,而这也将为客户节省大量磁盘成本、带宽成本以及内存、带宽的使用。
MongoDB是国内外使用率一度榜首的文档数据库,很多客户也会基于MongoDB进行开发,而它的海量数据则也存在离线分析和在线分析,存储过盘时一定是要压缩和解压缩的。与Clickhouse类似,英特尔的方案也是通过IAA-Deflate实现的,使用IAA对比Snappy性能可提升1.44倍,此外,也可提升47%的压缩比。
内存搬运神器DSA
DSA(Data Streaming Accelerator)是针对内存搬移和传输操作的一个加速器,可以将这些操作卸载到DSA上执行,这样就可以让CPU核心释放出来,去做更多业务场景。
比如,假若内存搬移操作时没有DSA,如果要搬移64个数据,就需要消耗64个CPU cycles,CPU一条指令一条指令移动数据;但如果有DSA,只要CPU告诉DSA,需要移动64个数据,这时候CPU就可以去做其他的工作。
DSA的带宽是非常充足的,如果一个设备支持30GB/s双向的带宽,且CPU内有四个核心,就可以支持120GB/s的双向带宽。
在使用方面,DSA不仅支持现有的软件库DML,同时也已集成了业界比较广泛应用的DPDK、SPDK等软件。
在体育直播场景下,一定是通过端侧设备录制视频,通过网络传到数据中心处理,而应用DSA就可简化这一过程,数据中心收到数据包(RTP包)后,第一件事就是把真正的内容拿出来,这里面需要很多内存拷贝工作。基于此,英特尔针对上述场景进行了优化,使用英特尔的Media Transport library这一开源项目,即可让体育直播更为流畅。
从结果来看,在没有DSA前,体育直播的内存拷贝完全依赖CPU,有了DSA之后,CPU做一路,DSA就可以做2.25路,也就是2.25倍。当网络带宽是一定时,DSA只需要两个核心,节省66%的CPU资源。
此外,利用DSA加速器,在处理大数据报文时,可以达到1.6倍的性能提升以及37%的延时降低。
总结
毋庸置疑的是,在“七大神器”加持之下,第四代至强可扩展处理器的能效比获得了极致的提升,在面对各种应用场景之下,它仿佛一个毫无短板的六边形战士,应对各种常见计算需求,分走CPU一部分计算压力,让CPU去做更多更难计算的任务。
不止如此,英特尔不会就此止步,这家公司依然会根据多个特定的应用领域设计不同的CPU型号,在今后的数据中心产品线里,还会有除至强之外的其它产品来应对不同的应用负载。
与此同时,英特尔也是软硬兼修的一家公司,从软件角度来说,英特尔在开源的投入也比较多。未来,英特尔将会拥有越来越多的利器,他们也将会针对这些利器推出相配合的软件,真正成为没有弱点处理器。
文/付斌