点击看第四范式、百度、Zilliz、火山引擎公司的AI基础设施变革之路>> 了解详情
写点什么

算力新生态,透视异构计算的机会和挑战

  • 2022 年 9 月 23 日
    北京
  • 本文字数:4369 字

    阅读完需:约 14 分钟

算力新生态,透视异构计算的机会和挑战

算力助推经济增长,成为数字经济发展新引擎。今年 4 月,由 IDC、浪潮信息和清华大学全球产业研究院联合推出的《2021—2022 全球计算力指数评估报告》显示,计算力指数平均每提高 1 点,数字经济和 GDP 将分别增长 3.5‰和 1.8‰。中国信通院发布的《中国算力发展指数白皮书》表明,在算力中每投入 1 元,将带动 3-4 元经济产出。算力发展指数每提高 1 点,GDP 增长约 1293 亿元。


虽然算力变得愈加重要,但是其发展却面临供需矛盾问题。一方面,对算力的需求增长迅猛。无论是企业数字化转型,还是智能终端消费和移动数据流量消费规模的不断扩大,都在持续释放算力需求;另一方面,传统的单一计算架构面临性能和功耗瓶颈,无法满足日益高涨的算力需求。简言之,算力遇到瓶颈,并且成为摆在企业和行业面前的难题。

异构计算 脱颖而出


如何解决算力瓶颈问题,业界提出了各种解决思路和方法,其中,异构计算从中逐渐脱颖而出,备受企业和行业期待。


异构计算(Heterogeneous Computing),主要指不同类型的指令集和体系架构的计算单元组成的系统的计算方式,在云数据中心、边缘计算场景等有着广泛应用。


它的兴起从表面上看与功耗瓶颈有关,但从更深层看,则与工作负载密切相关。虽然通用 CPU 拥有广泛应用,但是经过 30 多年的发展,通过提升 CPU 时钟频率和内核数量来提高计算能力的传统方式遇到散热和能耗瓶颈


更重要的是,自 2020 年以来,受疫情影响,远程办公、线上学习、居家娱乐等应用进一步发展,刺激了对大数据、云计算、人工智能等技术的多样化需求,各行各业数字化转型加速。高性能计算、云计算和虚拟化、大数据分析等一系列的应用场景都会带来非常复杂的工作负载,这背后需要强大的算力支持。


英特尔行业解决方案事业部互联网行业技术总监高明表示,异构计算是受工作负载驱动的。在数据量越来越大的今天,人们需要采用多种异构计算单元加速数据处理,来获得更高的吞吐、更低的延时,并付出更低的成本。


相比传统的单一计算架构,异构计算不仅可以提高算力和性能,降低功耗和成本,而且还具备多类型任务的处理能力,发展潜力巨大。具体而言,异构计算能充分发挥 CPU/GPU 在通用计算上的灵活性,及时响应数据处理需求,搭配上 FPGA/ASIC 等特殊能力,来充分发挥协处理器的效能,根据特定需求合理地分配计算资源。并且,由于目前神经网络算法和与之对应的计算架构层出不穷,如果采用不断更新 ASIC 架构的方式,最终下沉到用户和企业身上,就会导致使用成本和替换成本过高,而异构计算成本更低,在产业落地上有更大优势。


结合异构计算的优势,高明总结了六大应用场景:第一类,HPC 高性能计算场景,包括汽车和航空航天建模仿真、电子自动化设计与验证、生命科学等;第二类是人工智能场景,不管是深度学习训练,还是深度学习推理,都需进行大量矩阵运算,尤其是大规模互联网应用场景,比如推荐、广告、搜索等;第三类是物联网与边缘计算场景,由于海量数据要在边缘或云端进行处理,其中在线推理任务需要大量的边缘和云端算力进行加速;第四类是 5G 和通信场景。虽然部分网络功能以软件 NFV 形式运行于 CPU 上,但是仍然有部分算法需要异构加速器(如 FPGA 或 ASIC)进行加速;第五类是多媒体处理和云游戏场景。在高清视频转码、视频图像渲染、图像超分辨率等场景,为获得高吞吐和低延时,异构算力不可或缺;最后一类是云计算,为了让云计算平台可以提供更高的性能、更低的成本,以及满足对基础设施管理的需求,云计算企业逐渐在云中部署更多的异构加速器来加速计算、网络和存储。


为推进异构计算的落地,业界出现了 CPU+GPU、CPU+FPGA 和 SVMS 架构等。CPU+GPU 架构是充分使用 GPU 和 CPU 两者的计算能力,有效提高计算处理性能,降低处理能耗。CPU+FPGA 架构则利用了 FPGA 灵活的可编程性、按需定制和大规模并发延迟低的特点,它在提高 CPU 计算能力的同时,降低了服务器功耗。SVMS 架构则是由英特尔提出的,该公司在 2018 年提出 XPU 愿景:使用多种计算架构充分满足复杂计算需求。具体来说,是由标量 (Scalar)、矢量 (Vector)、矩阵 (Matrix)、空间 (Spatial) 组成 SVMS 架构,可以进行多种异构处理器组合,从而实现高性能处理多种负载。



提升性能,降本增效,快手如何落地异构计算


无论是 CPU+GPU,还是 CPU+FPGA,异构计算只有在实际业务场景中得到落地,才能体现其真正的价值。作为一个超 3 亿日活的短视频 App,快手的异构计算实践颇具代表性。


据了解,快手的推荐系统在大规模复杂业务中面临巨大性能挑战。作为短视频内容平台,内容生产、内容理解、内容分发、内容消费、用户互动这些环节,构成了大规模的复杂业务,对算力产生更多元的需求。为破解算力瓶颈难题,快手推出了可实现异构计算的 LaoFe NDP(Latency oriented Fpga engine for Near Data Processing)架构,加速不同场景的计算,并在英特尔硬件上得到最优的性能执行。


以推荐业务场景为例,它需要根据用户画像推荐用户感兴趣的内容。首先,从海量信息中选择与用户特征相关的结果,再通过“排序”划分内容的优先级别。如何保证任务在这个过程中高效、准确地完成?参数服务器至关重要,因为它负责存储、处理海量数据特征以及排序模型参数。


快手推荐系统采用计算与存储分离的架构模式


为应对海量数据冲击,快手的推荐系统采用计算与存储分离的架构模式。参数服务器属于存储型服务,该服务要保存和实时更新上亿规模的用户画像、数十亿规模的短视频特征、以及千亿规模的排序模型参数。并且,它不仅受限于容量和带宽,而且还要支撑每秒数亿次的 KV 请求,这会消耗大量 CPU 资源,成为其性能的主要瓶颈。


要解决这个问题,最佳方案是采用异构计算,使用不同计算设备处理不同负载。通过使用英特尔® 至强® 可扩展处理器、英特尔® Agilex™ FPGA 和英特尔® 傲腾™ 持久内存,借助软硬一体化、领域专用加速器设计,使快手的 LaoFe NDP 近数据架构在计算体系结构上实现创新,从而做到网络、存储、计算三重加速,为各个业务系统提供低延迟、高并发、高吞吐、低总体拥有成本的基础资源。


快手 LaoFe NDP 异构计算架构


在笔者看来,网络、存储和计算的三重加速真正体现出异构计算带来的价值。


在网络层面,LaoFe NDP 架构将 CPU 收发网络数据操作,卸载到 FPGA 上。Client 发送的请求包直接发送给 FPGA。相比 gRPC 基于 TCP/IP(网络协议栈),功能过于复杂,性能和延时方案无法保证。而使用基于 FPGA 实现了一套 SD-RDMA 协议,通过应用层添加字段的方式,保证了类似 gRPC 的可靠性传输,大幅降低了请求延时。


在存储层面,LaoFe NDP 架构将 CPU 存储操作也卸载到 FPGA 上。为了最大程度发挥 FPGA 的能力,快手基于通用 KV 存储场景定制了一套易于 FPGA 访问的 KV(Key-Value)引擎。同时,其支持 SSD/ 英特尔® 傲腾™ 持久内存 /DRAM 内存、基于 hash 的 Key-Value 存储引擎,能够有效加速存储性能。通过实战检验,使用 KV 查表的吞吐相比 CPU 方案提升 5 倍以上。


在计算方面,LaoFe NDP 的计算加速仰仗 FPGA 作为领域专用处理,可以更有效地并行处理数据,提供更高效的内存层次结构与定制化的执行单元,从而支持机器学习、深度学习和大数据等场景。英特尔® FPGA 具备富于弹性的可编程硬件能力,延时低且可精确控制,单位算力功耗低、片上内存大,适合于快手延时要求高、批处理比较小、并发性和重复性强的应用场景。


快手 LaoFe NDP 架构在英特尔软硬件优化下,最终实现了:一、系统吞吐显著提升,延时显著降低,参数服务器的吞吐性能提升了 5-6 倍,整体请求延时降低了 70%-80%,提供更好的用户体验;二、更好地控制 TCO,FPGA 的强大性能提供远超传统方案的吞吐能力,仅需部署少量的服务器就能满足特性的性能指标要求,替代比可达到 1:5,有效降低 TCO;三、降低性能抖动,基于 CPU 的软件方案常因需要进行高频率更新而出现性能抖动,而通过 FPGA 来处理负载,能大幅减少性能抖动。

异构计算的困境


通过快手的异构计算实践可以发现,异构计算在未来有很大的发展潜力和空间。不过,企业在采用异构计算前,还需认识到异构计算所存在的技术难题:


  • 一是异构计算产品需要面对不同的系统架构、指令集和编程模型,需要降低多样计算带给软件开发者的难度;

  • 二是异构计算芯片产品除了要在芯片设计层面实现突破之外,还需要解决在芯片制造和封装过程中不同结构之间的适配和升级问题;

  • 三是异构计算要实现性能的多样性合一,使其同时满足人工智能训练、推理、图像视频处理等各种不同的需求。


尤其是异构计算带来的硬件复杂性,对编程人员提出了严苛挑战。不同开发框架之间的性能表现、兼容性,以及学习成本一直是影响开发效率的主要因素之一,复杂的开发环境、无法同步更新的框架导致开发者要花费不少精力去自行解决问题。这些都依赖于生态链的建设。标准的制定与推广,语言、编译器、框架、运行库等的支持,都不是易事。


虽然这事不简单,但是厂商已有所行动,推出各种解决方案,其中,英特尔的 oneAPI 值得一提。作为统一的软件编程架构,oneAPI 支持多种异构计算单元,不仅有英特尔硬件,而且还包括其他厂商的硬件。同时,它提供开放、统一的编程语言 DPC++。并且,oneAPI 还提供基于 API 的高性能库,能在多种异构平台上运行并提供极高的性能,其中很多库将开源,为进一步扩展增加新功能提供可能。



如今,oneAPI 正在被越来越多的独立软件提供商、操作系统供应商、终端用户和学术界采用,它提供的跨架构的兼容性,也大大地提高了开发人员的生产力和创新能力。

写在最后


以前,是以计算为中心,指令控制流驱动计算;未来,将以数据为中心,数据流驱动计算。在进入以数据为中心的时代后,CPU、GPU、FPGA 等不再像以往一样可以独当一面,传统的通用架构已远不能满足当下的需求。唯有多种架构之间的组合方能应对处理海量、密集数据的工作负载需求。


如今,行业正转向以异构为基础的技术新生态,异构计算成为新的全球竞争点。纵观业界,主流芯片供应商都在大力布局异构计算,试图构建更完整的生态。


异构计算将越来越精细地拆分特性不同、要求不同的工作负载,然后逐渐统一化、标准化。未来,异构计算会根据不同的场景、数据种类和处理的延时以及带宽要求进行设计。在这个新的发展趋势下,除 CPU 和 GPU 外,将有更多种类的“PU”出现。英特尔的 XPU 战略在这样的背景和趋势下优势愈发显著。其不断完善的产品线横跨 CPU、GPU、FPGA 和 IPU 等领域,且秉持“软件优先”理念,通过 oneAPI 面向异构计算提供统一的、可扩展的编程模型,软硬并进。此外,在全新的 IDM 2.0 战略引领下,英特尔正在架构和制程方面加速迭代演进,携手合作伙伴,更好地应对未来海量、多变的异构计算需求。


想了解更多关于异构计算的知识?扫描下方海报二维码,观看英特尔联合国际学术期刊《科学》共同推出的“架构师成长计划”第六期《异构计算 数据中心“芯”变革》精彩回放,了解更多技术干货。



2022 年 9 月 23 日 15:0415
用户头像
万佳 InfoQ编辑

发布了 667 篇内容, 共 280.4 次阅读, 收获喜欢 1736 次。

关注

评论

发布
暂无评论
发现更多内容

如何设计一个牛逼的API接口

Java旅途

Spring Boot API

5张表的sql整懵阿里p7:你们能看明白自己写的啥吗?

小Q

MySQL 数据库 学习 调优 mycat

Vidyo整个产品架构是怎样的?

dwqcmo

音视频 集成架构 解决方案 智能硬件

《Java核心技术总结》+《面试题总结》PDF整理,阿里P8大牛熬了半个月肝出来的!

Java架构之路

Java 阿里巴巴 程序员 面试 编程语言

你掉进过“伪敏捷”的陷阱吗?

华为云开发者联盟

项目管理 软件 敏捷

阿里内部绝密《百亿级并发系统设计》实战教程,冒着被劝退的风险免费分享

Java架构之路

Java 阿里巴巴 程序员 面试 编程语言

大型互联网应用系统的技术方案和手段

饺子

看看专科程序员与本科程序员之间,到底有什么区别?

Java架构师迁哥

上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间

Java架构师迁哥

数据库技术丨GaussDB(DWS)数据同步状态查看方法

华为云开发者联盟

数据库 高可用

架构师训练营第一期-第四周学习总结

卖猪肉的大叔

极客大学架构师训练营

有符号类型引发的奇怪现象

jiangling500

MySQL-技术专题-SQL优化系列

洛神の殇

ARTS Week13

丽子

《Linux学习笔记》从常用命令、常用操作到网络管理、性能优化

Java架构之路

Java Linux 程序员 面试 编程语言

第四周学习代码系统架构总结

三板斧

阿里云服务器搭建

时间是一个人最好的证明

阿里云 服务器 域名

通证、通证经济与区块链

CECBC

区块链 通证经济

研发和测试在多国陆续展开 全球央行数字货币研发驶入快车道

CECBC

数字货币 金融

架构师训练营 1 期 - 第四周 - 系统架构

三板斧

极客大学架构师训练营

架构师训练营第四周作业

Shunyi

极客大学架构师训练营

浅析 Golang 垃圾回收机制

郭旭东

Go 语言

架构师训练营第 1 期第四周总结

Leo乐

极客大学架构师训练营

区块链将这样影响你的生产生活

CECBC

区块链 信息发展

架构师训练营第一期-第四周课后作业

卖猪肉的大叔

极客大学架构师训练营

京东区块链之供应链应用篇:溯源应用结合区块链能碰撞出什么火花?

京东科技开发者

区块链 供应链

Flink处理函数-6-4

小知识点

scala 大数据 flink

第四周作业

icydolphin

极客大学架构师训练营

本周学习总结

饺子

从格力直播看品牌商的渠道变革

boshi

数字化转型 品牌 直播带货 优化业务

Java 中的反射是什么

Rayjun

Java 反射

算力新生态,透视异构计算的机会和挑战_英特尔_万佳_InfoQ精选文章