10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

  • 2022-09-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-09-23 15:047126
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 382.1 次阅读, 收获喜欢 1805 次。

关注

评论

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

GK架构营模4作业

Ping

阿里内部最新“SpringCloudAlibaba学习笔记”(全彩第三版)限时开源

Java 架构 面试 微服务 Alibaba

一文带你掌握工作流引擎flowable所有业务概念

小鲍侃java

后端 引航计划

车载高速CAN(HighSpeed CAN)通信基本原理讲解

SOA开发者

PerfDog携手Imagination,助力开发者获取GPU关键数据

WeTest

等保测评一次多少钱,收费标准是怎样的?

行云管家

网络安全 等保 等保测评 等保2.0

垂直CRM,能否走到终局?

ToB行业头条

我国智能汽车产业环境与政策导向

SOA开发者

遇见乌镇 | VoneCredit洞见供应链金融新未来

旺链科技

世界互联网大会 供应链金融

三款Linux文件传输工具简单介绍-行云管家

行云管家

Linux 文件传输 IT运维

音视频编解码 --X264码率控制初探

Fenngton

音视频 ffmpeg 编码 码率控制 引航计划

国庆临近,字节后端开发3+4面,终于拿到秋招第一个offer

Java 架构 面试 后端 计算机

课程升级 | 极速构建知识体系,即学即用 Serverless

阿里巴巴云原生

阿里云 Serverless 云原生 活动 课程

AI专家一席谈:复用算法、模型、案例,AI Gallery带你快速上手应用开发

华为云开发者联盟

算法 模型 案例 AI Gallery 应用开发

金九银十面试如何得到面试官青睐?2021最新大厂Java面试真题合集(附权威答案)

Java 架构 面试 程序人生 编程语言

2021金九银十,啃完这35个Java技术栈,冲刺百万年薪不是梦

Java 架构 面试 程序人生 编程语言

vivo全球商城-营销价格监控方案的探索

vivo互联网技术

后端 服务器 监控系统 营销数字化 亿级架构设计

浅谈加密基础设施

I

基础设施 信息安全 加密 密码学 加密基础设施

@InjectMocks 使用

且听且吟

云原生时代,如何构建数字化转型架构?

博文视点Broadview

如何管理职场新人?

石云升

团队管理 管理 引航计划 内容合集 9月日更

应用开发中的存储架构进化史——从起步到起飞

Java 编程 架构 面试 后端

第5章-《Linux一学就会》- Linux基本操作和服务器硬件选购指南

学神来啦

Linux linux运维 linux学习 Linux教程

智能汽车的定义是什么?

SOA开发者

刷爆Leetcode!字节算法大佬进阶专属算法笔记:GitHub标星97k+

Java 架构 面试 程序人生 LeetCode

如何撬动企业数字化转型?智能客服是关键支点

ToB行业头条

🏆【SpringBoot技术专题】「FtpServer文件服务」教你如何基于Springboot开发一个”可移植“的轻量级文件服务项目系统!

码界西柚

Apache springboot ftp服务 9月日更 FtpServer

让数据库无惧灾难,华为云GaussDB同城双集群高可用方案正式发布

华为云开发者联盟

数据库 高可用 集群 华为云GaussDB 同城双集群

ThingMap一键城市2.0重新出发:快速生成三维城市

ThingJS数字孪生引擎

地图 物联网 可视化 数字孪生

以技术驱动云上创新增长,阿里云计算峰会上海完美收官

互联网 存储 云服务 科技 计算

如何加速云原生数据应用?这个开源项目备受关注

阿里巴巴云原生

阿里云 开源 云原生 Fluid

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