介绍一种基于超异构计算的通用处理器GP-HPU

本文章主要介绍综合的、融合的基于超异构计算的通用处理器gp-hpu(general purpose hyper-heterogeneous processing unit)。
1 不同处理器类型的分类和协同
我目前有个基本的思考框架,来把各种pu进行划分:系统是由分层分块的模块组成的,这样我们可以大致上把系统分为三部分,如上图所示。
各类pu分析如下:
cpu,中央处理器,是最核心的处理器。目前其他各种处理器,号称取代cpu的核心地位,这些表述是不对的:你只是代替cpu干脏活累活,一切的控制和管理依然是cpu来完成。
各类加速器芯片。通过cpu+xpu的异构计算架构,如gpu、fpga加速器、各类ai芯片(谷歌tpu、graphcore ipu、npu、bpu等)以及其他各种加速芯片,这类芯片没法单独运行,需要有cpu的协作,构成cpu+xpu的异构计算的方式运行。
dpu。目前,大家对dpu的理解是,dpu主要负责系统i/o的处理。不管是网络i/o还是远程存储i/o,都需要走网络,因为dpu被不少人认为是i/o加速的处理器。更深一层的理解,是dpu是作为基础设施处理器的存在,负责整个系统底层工作的处理。
soc,系统级芯片。把整个系统的所有处理放在一个芯片里,有各种加速引擎负责性能敏感的工作任务,cpu负责一些基本任务的处理和整个系统的控制和管理。
不管叫什么pu,逃不开这四个类型。
2 场景特点:综合、通用以及资源预备
许多ai芯片或系统落地面临的一个主要问题是“我好不容易做了一盘饺子,可用户需要的是一桌菜肴”。也即是说,客户需要的是综合性的系统解决方案,而ai只是其中的一部分,甚至非常小的一部分。
具体的终端应用场景包罗万象,但云端和边缘端,却都是清一色的服务器来提供服务端的运行以及和终端的协同。这些服务器,可以服务各行各业、各种不同类型的场景的服务端工作任务的处理。云和边缘服务器场景,需要考虑服务端系统的特点(微服务化功能持续解构,并且还和多租户、多系统共存),对系统的灵活性的要求远高于对性能的要求,需要提供的是综合性的通用解决方案。
在云和边缘数据中心,当csp投入数以亿计资金,上架数以万计的各种型号、各种配置的服务器的时候,严格来说,它并不知道,具体的某台服务器最终会售卖给哪个用户,这个用户到底会在服务器上面跑什么应用。并且,未来,这个用户的服务器资源回收之后再卖个下一个用户,下一个用户又用来干什么,也是不知道的。
因此,对csp来说,最理想的状态是,存在一种服务器,足够通用,即不管是哪种用户哪种应用运行其上,都足够高效快捷并且低成本。只有这样,系统才够简单而稳定,运维才能简单并且高效。然后要做的,就是把这种服务器大规模复制(大规模复制意味着单服务器成本的更快速下降)。
服务器都是相对通用,服务器上目前大芯片就三个位置,也就是我们通常所说的数据中心三大芯片的位置:cpu、业务加速的gpu以及基础设施加速的dpu。大家要做的,就是自己芯片的定位,以及同其他各种厂家的各种芯片来竞争这三个位置。
有些专用的芯片,用在特定领域,需要设计专门的服务器,这种方案都流离在整个云和边缘计算主流体系之外的,落地门槛很高,也很难大规模落地。
3 超异构处理器是什么?
系统持续演进:
第一阶段,性能要求不高,cpu能够满足要求。目前数据中心大量服务器依然是只有cpu处理器。
第二阶段,性能敏感类任务大量出现,不得不进行异构加速。如ai训练、视频图像处理,hpc等场景。这类场景,目前的状况主要:nvidia gpu+cuda为主流,fpga faas非主流,ai类的dsa落地较少(包括谷歌tpu,也不算成功)。
第三阶段。dpu的出现,cpu、gpu和dpu共同构成数据中心的三大处理芯片。
第四阶段,再融合。
为什么不是独立多芯片?为什么需要融合单芯片?融合单芯片是有诸多优势的:
融合有利于计算的充分整合,进一步提升数据计算效率;
系统成本跟主要芯片的数量是直接相关的,融合型单芯片可以进一步降低成本;
融合系统,内部功能划分和交互统一构建,相比三芯片方案,可以显著降低彼此功能和交互的各种掣肘(相互拖累);
大部分(80%-90%)场景是相对轻量级场景,通过超异构的单芯片可以覆盖其复杂度和系统规模;
chiplet加持,可以通过多die单芯片的方式,实现重量级场景的覆盖。
超异构处理器,可以认为是由cpu、gpu、各类dsa以及其他各类处理器引擎共同组成的,cpu、gpu和dpu整合重构的一种全系统功能融合的单芯片解决方案。
3.1 为什么叫超异构处理器?
首先,不能叫超融合处理器。超融合的概念是云计算领域一个非常重要的概念,大致意思是说在小规模集群能够把云计算的iaas层的服务以及云堆栈os完整部署,可以提供给企业和私有云场景的云计算解决方案,并且因为和公用云堆栈os是同一的体系,可以实现混合云的充分协同。
超异构处理器和超融合没有必然联系,可以支持小集群的超融合,也可以支持大集群的不“融合”。
nvidia对dpu的未来愿景:数据量越来越大,而数据在网络中流动,计算节点也是靠数据的流动来驱动计算,计算的架构从以计算为中心转向了以数据为中心。
所有的系统本质上就是数据处理,那么所有的设备就都可以是data processing unit。所以,未来以dpu为基础,不断地融合cpu和gpu的功能,dpu会逐渐演化成数据中心统一的处理器(只是,目前没有叫超异构hpu这个名字罢了)。
不管名称具体叫什么,这个处理器,一定是基于多种处理引擎混合的(超异构计算)、面向宏系统场景的(msoc,micro-soc)、数据驱动的(dpu,data processing),一个全新的处理器类型。
4 超异构处理器和传统soc的区别
严格来说,超异构处理器也是属于soc的范畴。但如果只是称之为soc,那无法体现超异构处理器和传统soc的本质区别。这样,不利于我们深刻认识超异构处理器的创新价值所在,以及在支撑超异构处理器需要的创新技术和架构方面积极投入。
如下表格为超异构处理器和传统soc的对比:
5 超异构处理器,是否可以极致性能的同时,还足够“通用”?
每一种处理器(引擎)都有其优势,也都有其劣势:
cpu非常通用,能够干几乎所有事情。但劣势在于,其性能效率是最低的。
dsa的性能足够好,劣势在于只能覆盖特定的领域场景,其它领域场景完全没法用。
gpu,介于两者之间。能够覆盖的领域场景比dsa多、比cpu少,性能比cpu好但比dsa差。
复杂的宏系统,存在“二八定律”。比如,在服务器上,永远少不了的虚拟化、网络、存储、安全类的任务,以及很多服务器都需要的文件系统、数据库、ai推理等。
因此,我们可以把系统计算当做一个塔防游戏:
在最前端,主要是各类dsa。他们的性能很好,负责处理算力需求强劲的任务。这些任务占整个计算量的80%。
中间是gpu,性能也不错,覆盖面也不错。则负责处理剩余20%中的80%的计算量。
而cpu的任务,就是兜底。所有“漏网之鱼”都由cpu负责处理。
这个思路,也对应我们第一部分介绍的系统的三类任务划分。
按照这个思路,我们再通过一些软硬件融合的系统设计,提供更多的通用性、灵活性、可编程性、易用性等能力,然后再不断的集成新的性能敏感任务的加速。
基本上,这样的通用超异构处理器,可以在提供极致性能兼极致灵活性的同时,可以覆盖大部分云、边缘和超级终端的场景。
6 超异构处理器可以用在哪里?
超异构处理器hpu相比传统soc,最核心的特点是宏系统,需要支持虚拟化和多租户多系统共存,需要支持资源、数据和性能隔离。
因此,超异构处理器主要用在云计算、边缘计算以及自动驾驶超级终端等复杂计算场景:
云端重量级服务器。首先,hpu可以当做dpu来使用;更长远的,可以通过chiplet方式实现hpu对重量级场景的覆盖。
云端轻量级服务器。可以实现hpu单芯片对目前以cpu为主的多个芯片的集成,并且性能显著提升。
边缘计算服务器。类似云端轻量服务器,可以通过单芯片集成的hpu实现所有计算的全覆盖。
超级终端。以自动驾驶为典型场景,目前也是逐渐地从分布式的ecu、dcu向集中式的超级终端单芯片转变。这将是hpu在终端场景的典型应用。
总结一下,超异构处理器的核心价值在于确保整个系统如cpu一样极致灵活性的同时,还可以提供相比目前主流芯片数量级的算力提升。可以用在云计算、边缘计算、超级终端等各类复杂计算场景。
系统越复杂,超异构处理器的价值越凸显!


ESP8266泳池温度监控器MQTT的制作
捷德为长安汽车爆款SUV提供数字车钥匙解决方案
2020年我国5G建设是“飞速快跑”
目前LED显示屏市场变得越来越大,应用越来越广泛
基于80C196MC的步进电机恒转矩
介绍一种基于超异构计算的通用处理器GP-HPU
开关模式LED驱动电路:CN5610应用电路
5g在工业互联网应用中的特征是什么?
任天堂探讨欲发布一款可通过底座连接电视的高清便携式游戏机
不同的Verilog代码功耗与面积(PPA)差距能有多大?
MIMXRT1021CAG4B GPIO口复位值详解
UltraSoC宣布提供业界首款RISC-V处理器跟踪IP产品
Linux编程可以给你的程序开后门
远心镜头和普通镜头谁更有优势?
Counterpoint:联发科正加快在旗舰智能手机市场中的渗透
对于电缆生产行业,它对测径仪的需求是什么
科大讯飞再添A.I.学习利器,新品扫描词典笔正式发布
高电流功率转换解决方案
TUV莱茵绿色能源创新与可持续循环经济发展论坛在沪举办
2016年中国品牌彩电出货量达到8360万台 首超韩国跃居世界第一