《大芯片面临的共同挑战.docx》由会员分享,可在线阅读,更多相关《大芯片面临的共同挑战.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、最近一直思考:何谓“大芯片” ?大芯片的标准是什么? CPU、GPUs AL DPU以及HPU等各种超大规模的大芯 片,其底层逻辑到底是什么?于是有了这篇文章的思考,抛 破引玉,与大家讨论。1什么是大芯片?1.1 依据操作系统标准来划分这样,我们对大芯片就可以有一个最直观的标准:NO.名称操作系统评价领域1IOT节点(芯片)无OS嵌入式设备,低端 MCU,程序简单。如loT等嵌入式领域2IOT设备(芯片)RTOS高性能嵌入式设备, 通常是高端MCU,支 持多核多线程,程序 较复杂。如物联网、智慧城市、 工业互联网等领域3智能终端 (芯片)Linux/Windows 等OSAP.:.桌面机、平板
2、电脑、手 机等4超级终端/ 服务器 (芯片)支持虚拟化,Linux /Windows 等Server版本OS可扩展处理器,需要 支持虚拟化和多租 户,需要资源/性能隔 离等安全机制。自动驾驶终端,云和 边缘数据中心,通信 核心网等C购软硬件融合需要支持操作系统和虚拟化(虚拟化包括虚机、容器、函数等不同层次虚拟化); 需要支持虚拟化资源切分;需要支持系统、资源和性能隔离; 需要支持软件跨硬件平台,包括硬件接口抽象和热迁移等。大芯片,需要把很多传统软件层次的能力在硬件层次进行支持。如可编程性、扩展性、适应性、软件跨平台和高可用等。1.2 各类引擎/处理器的作用各种各样的场景的应用程序;而指令越复杂
3、,引擎所能覆盖的领域和场景就会越来越小。CPUGPUDSA宽度代表场景覆盖,高度代表性能软硬件融合如上图所示: CPU性能最差,但几乎可以覆盖所有的计算场景,是最通用的处理器;DSA覆盖某个特定领域,性能可以做到很好。但覆盖的领域如果算法更新迭代 快或者领域的范围较小不足以支撑大算力芯片的大范围落地的话这样的DSA 芯片在商业上就很难成立。 GPU介于两者之间。CPU软件,是通过基础的指令组合出来所需要的业务逻辑;而为了提升性能, 硬件加速本质上是将业务逻辑固化成硬件电路。而将业务逻辑固化成电路,虽 然提升了性能,但会约束芯片本身的场景覆盖。目前,很多算力芯片的设计陷 入了一个怪圈:越优化性能
4、,场景覆盖越狭窄;场景覆盖越狭窄,芯片出货量 越低;芯片出货量低,无法覆盖芯片的一次性研发成本,商业逻辑不成立,后续的持续研发难以为继。 以AI为典型场景,目前AI芯片落地难的本质:很多AI芯片特别强调深度理 解算法,然后把算法融入到芯片中。但受限于AI类算法多种多样,并且算法 都在快速的迭代。这导致AI芯片一直无法大规模落地,芯片数以亿计的研发 成本难以摊薄。因此,从目前来看,AI芯片在商业逻辑上无法成立。AI芯片已经榨干了目前芯片所能达到的性能极限;未来,L4/L5级别的自动驾 驶芯片需要算力十倍百倍的提升;而要想达到元宇宙所需的良好体验,则需要 算力千倍万倍的提升。如何在确保芯片的场景覆
5、盖如CPU 一样通用全面,并 且还能够十倍百倍甚至千倍万倍的快速性能提升,是大算力芯片需要直面的挑 战。3.3挑战三:业务的横向和纵向差异性业务的横向差异指的是不同客户之间相近业务的细节差异性;而纵向差异指的 是单个用户业务的长期迭代的差异性。不同用户的业务存在差异,即使同一大公司内部,不同的团队对相同场景的业 务需求也是不完全一致的。并且,即使同一客户,受限于软件的快速更新迭代, 其业务逻辑更新也会很快,显著的快于硬件芯片的更新迭代(软件迭代通常在 3-6个月,而芯片迭代则是2-3年,还要考虑芯片4-5年的生命周期)。针对横向和纵向的差异性,目前行业有几种显著的做法:一些芯片大厂,针对自身对
6、场景的理解,提供自认为最优的业务逻辑加速方案 给到用户。但站在用户的视角,这样会丧失自身的差异性和创造性。用户需要 修改自身的业务逻辑,这个风险也非常的高;并且,会对芯片公司形成强依赖关系。一些大客户。针对自身差异化场景,自研芯片。可以满足自身差异化的竞争能 力,但大用户内部也是由许多不同的小团队组成,不同团队业务场景仍然存在 差异性;并且,单个业务纵向的长期迭代差异依然是需要考虑的。定制芯片在 商业上是可行的,但需要考虑技术层面的通用芯片设计。第三方通用的解决方案。授人以鱼,不如授人以渔,通过通用的设计,确保在每个领域,都能够实现一定程度上的软硬件解耦。芯片公司提供通用的硬件平台,让用户通过
7、编程的方式实现业务差异化让用户掌控一切。3.4挑战1芯片的一次性成本过高$580M S5422MSOMSOM65 nm40nmS70.3M$51.3M28nm22 nm16nmVenfication一 Vahdation二Prototype10nms 二Architecture5nm潮随件融管3在先进工艺的设计成本方面 知名半导体研究机构Semiengingeering统计了不同工艺下芯片所需费用(费用包括了): 16nm节点则需要1亿美元;7nm节点需要2.97亿美元;到了 5nm节点,费用高达5.42亿美元;3nm节点的研发费用,预计将接近10亿美元。就意味着,大芯片需要足够通用,足够大范
8、围落地,才能在商业逻辑上成立。做一个基本的估算:在数据中心场景,则需要50万以上的销售量,才能有效摊薄研发成本。在数据中心领域,这个门槛非常高。3.5 挑战五:宏观算力要求芯片能够支撑大规模部署性能和灵活性是一对矛盾,很多性能优化的芯片设计方案,显著的提升性能的 同时,也显著的降低了芯片的通用性、灵活性和易用性,同时降低了芯片的场 景和用户覆盖。从而导致芯片落地规模很小。芯片落地规模小,单芯片再高的性能,都相当于无源之水,没有了意义。因此,一个综合性的芯片平台,需要考虑芯片性能提升的同时,也要考虑如何 提高芯片的宏观规模落地:需要考虑芯片的场景覆盖;需要考虑芯片的用户覆 盖;需要考虑芯片的功能
9、横向和纵向的差异性覆盖。只有兼顾了性能和更多用户和场景覆盖,才能实现大芯片的规模化部署,才能 显著的提升宏观算力。3.6 挑战六:计算平台的融合0S/+虚拟化0S/+虚拟化0S+虚拟化软 件计算节点I微服务微月嫔客户端最他鼐I、 .一一.硬件抽象层终端设备(超异构SOC)边缘服务器(超异构SOC)网络节点湾可编程+高性能(超异构交换芯片)云端服务器 (CPU+GPU+DPU 或超异构SOC)I I .险软硬件融合算力需要池化,并且,算力不仅仅是数据中心基于x86 CPU的算力池化,算力池化,需要:算力需要跨不同的CPU架构,比如能够把x86、ARM、RISCv等主流架构的算力整合到一个算力池;
10、算力需要跨不同类型的处理引擎。比如把CPU、GPU、FPGA、DSA的算力整合到一个算力池;算力还需要跨不同厂家的硬件平台,算力需要把不同Vendor提供的算力资源 都能够整合到一个算力池; 算力需要跨不同位置,算力可以部署云、边、端甚至网络,可以把这些算力整 合到一个算力池。云网边端融合,就是把所有的算力资源整合到一起,真正实现跨云网边端自适 应的软件运行。挑战在于,如何构建统一的开放的硬件平台和系统堆栈。3.7 挑战七:生态建设的门槛大芯片一定需要平台化,一定需要开发框架并形成开发生态。而框架和生态门 槛高,且需要长期积累,对小公司来说是一件非常难的事情。RISC-v CPU已经如火如荼,
11、很多公司,特别是一些初创小公司,大家都非常 认可RISC-v的开源开放的理念和价值,众人拾柴火焰高,大家共同推动RISC- v开放生态的蓬勃发展。未来,计算进一步走向异构和超异构计算,架构和平台越来越多,此时,开源 开放已经不是可选项,而是成为必选项。因为,如果不是开源开放,那就会导 致算力资源完全的碎片化,何谈算力池化,何谈云网边端融合。开源开放,是大芯片平台和生态建设的必然选择。3.8 挑战八:(用户视角)宏观跨平台的挑战,没有平台依赖 站在芯片厂家视角,给客户提供芯片以及配套的驱动软件,然后有SDK等开 发工具包,用户基于此开发自己的应用程序,这样就万事大吉。但站在用户的 视角,问题可不
12、是这样。用户的软件应用和硬件平台是完全脱离的。我们以VM计算机虚拟化为例。用户的VM需要在不同的硬件平台上能够实时热迁移,这样就对硬件平台的一致性就有了要求。通常,硬件一致性是通过 虚拟化来完成的,虚拟化给上层的VM抽象出标准的硬件平台,使得VM可以 跨不同架构的硬件服务器运行。随着CPU性能的瓶颈,虚拟化相关堆栈逐渐 下沉到了硬件加速,这样,就需要把硬件接口直接暴露给业务VM ,那么就需 要硬件架构/接口原生支持一致性。硬件架构/接口原生支持一致性,换个表述,就是不同厂家的芯片平台提供的 是相同的架构和接口,使得软件可以方便的跨不同厂家的硬件平台迁移。如果 某个厂家提供的是私有架构/接口的硬
13、件平台,那么用户就会对平台形成强依 赖关系,并且如果选择的个性化平台越多,使得用户自己的数据中心变成割裂 的各自不同的资源池碎片,这样云的整个运营管理变得非常的复杂和困难。应用层不可加速部分应用层可加速部分基础设施层A软硬件融合上图是在计算机(服务器)上运行的系统的功能层次划分,大体上分为两个层 次: 支撑应用的基础设施层,比如网络、存储、虚拟化、文件系统、数据库等;应用层。应用层也可以再划分。很多应用性能敏感,需要通过硬件加速。因此, 可以把应用再划分为两部分:a.应用可加速部分,相比基础设施,应用可加速部分的更新变化会更大,因此需 要一些相对灵活弹性的加速平台,如GPU、FPGA等,而AS
14、IC等则不是很合 适。b.应用不可加速部分,应用多种多样,应用本身还会经常性的优化更新,因此只 适合CPU这样的足够通用灵活的运行平台。CPU如果整个系统对性能的要求不高,CPU可以胜任。那么最好的做法就是,不管 是基础设施层还是应用层可加速部分和不可加速部分,统统都放在CPU中完 成。然而,由于基于CPU的摩尔定律失效,CPU逐渐无法胜任系统的所有计算任 务,引发了连锁反应。所以才有了上面图中的三个分类,以及针对性的各种硬件加速平台。 不管如何优化改进,CPU作为最核心的处理引擎(可能是独立CPU芯片,也 可能是嵌入式CPU Core ),依然扮演着最核心的作用。未来,CPU主要负责应用层不
15、可加速部分的计算以及整个系统的控制和管理。 虽然CPU最终不是计算的主力,但它依然是管理和控制的核心。GPUGPU比较适合应用层的弹性加速,一方面因为GPGPU的通用计算能力,在场 景覆盖和性能提升方面很好的达到了平衡。再加上CUDA等开发框架/生态的 加持,使得GPU成为应用层可加速部分当之无愧的主力运行平台。DPUDPU定位基础设施层的(加速)处理,如虚拟化、网络、存储、安全以及laaS 服务融入等。DPU需要很多ASIC/DSA层次的加速引擎,以及嵌入式CPU的 协同,来更好的做好基础设施层的工作,以此来更好的支撑CPU和GPU的上 层工作。DPU可以说是整个系统中的老黄牛,做的是最辛苦
16、最艰难的事情,但其价值 体现却低于CPU和GPU0目前DPU面临的困境主要体现在: 做的事情非常复杂。受性能需求的约束,需要把业务逻辑变成电路,DPU的开 发其难度和工作量(相比CPU和GPU )非常的高。 其价值又相对较低。DPU通常定位成CPU的助手,负责卸载CPU的一些繁 重的相对价值含量低的工作。因此,其价值定位低于CPU和GPU。 被动协同。DPU需要协同CPU和GPU的工作,但这些协同通常是被动的。 DPU具体落地需要CPU和GPU的参与,这使得DPU具有非常大的落地门 槛。 客户需求差异性和业务迭代,需要DPU尽可能的贴近用户需求,把用户的深层次需求融入到芯片。但这样做会导致场景
17、碎片化,DPU能覆盖的场景偏小。而大芯片的研发成本又非常的高,场景覆盖不足以撑起一颗芯片的商业化落地。AI芯片CPUCPUGPU/FPGA/DSADPUAI芯片,也称为AI-DSA ,和GPU处于同一位置,一般来说,在小小的服务器物理空间里,加速卡通常只有一种类型,也即AI和GPU是互斥的关系,大家共同竞争同一个物理卡槽。CPU + xPU的异构计算通常分为三类: CPU+GPU、 CPU+FPGA和CPU+DSA。 如果对通用性要求高,对覆盖场景要求高,则通常选择GPU。比如AI训练场 景,虽然GPU并不是效率最高的平台,但目前AI训练算法更新迭代很快,比 较适合GPU这样的平台,而不是AI
18、-DSAO如果对性能要求高,并且算法相对确定,则比较适合DSA架构,比如一些编解码的VPU。以及AI推理场景。 FPGA则介于两者之间。AI-DSA虽然用途很广,并且性能敏感,但云、边缘以及自动驾驶等超级终端 场景,是更加综合性的场景,AI是计算加速的领域之一,因此,独立的AI芯 片其落地规模必然是远少于GPU这种更加灵活弹性的计算平台的,也更少于 CPU和DPU的落地场景规模。HPU重量场景:独立三芯片重量场景:独立三芯片轻量场景:集成单芯片HPU 是超异构处理器(Hyper-heterogeneous Processing Unit),把 CPU、 GPU和DPU的功能再集成在一起,是一个
19、功能综合的融合芯片: Chiplet封装技术的成熟,使得多种架构混合的超异构计算成为可能,为超异 构处理器HPU提供了很好的工艺和封装基础。 包括企业服务器、边缘服务器以及存储服务器等诸多场景,占到整个服务器规 模的90%左右,这类服务器场景相对轻量的计算,集成的单芯片足够。 而云计算的业务服务器,是绝对重量的场景,需要CPU、GPU和DPU三类独立芯片组成大系统。这类场景只占服务器规模的10%左右。超异构计算需要创新的架构:需要明确的是,HPU不能是简单的CPU、GPU和DPU三者集成,而是要重新优化整个系统的数据交互,让交互更加充分并 且高效(更高的带宽,更低的延迟等)。2大芯片的底层逻辑
20、2.1 各种各样的领域和场景,本质都是计算云计算laaS层有基础的四大类服务: 首先是计算。这里的计算是狭义的计算,通常指的是我们提供给用户的计算环 境或平台,而网络、存储安全等则是用户不可见的计算。 一个个的计算机通过网络连接在一起的大系统,计算的节点是计算机(或服务 器),网络的节点也是计算机。计算和网络,通常是界限分明的。但各自走向 瓶颈之后发现,可以通过计算的方式解决网络的问题(许多网络设备和系统在 逐渐云化);计算,也越来越多的需要网络设备的参与,网络设备也成为计算 集群的一部分。 在万物互联的大系统里,存储,其实都可以看做是临时并持久的存储。比方说 内存(memory ),在计算机
21、某个任务运行的时候它的内存数据和程序是持久 的,当关机的时候它又是临时的角色。也包括本地存储(local Storage ),他 在服务器上来说是持久的,但在跟整个数据中心分布式存储来说,他又是本地 的暂存。存储,是计算的输入、输出,以及中间结果的暂存。 安全,贯穿计算、网络、存储的方方面面,可以认为,安全是一个环境和机制, 在约束着计算、网络和存储的方方面面。 而虚拟化,则是整个架构的组织方式,把这四大件的软硬件更好组织起来的方 式,来灵活的、方便的为大家提供各种计算、网络、存储和安全服务。以数据为中心,靠数据流动驱动计算: 但不能把数据为中心的计算封装到网络数据流中,因为计算依然需要暴露给
22、用 户,用户掌控一切;以数据为中心的计算,依然要把数据流驱动的计算暴露给上层的用户应用,为 了更好的性能,需要做到软件定义一切,硬件加速一切。一切系统的运行都是以计算为基础的,系统的运行可以简单归结为输入、计算, 然后输出。不管是狭义的计算,或者是虚拟化、网络、存储、安全等,都可以 归结到广义计算的范畴。一切皆计算(或一切皆为计算)!2.2 宏观算力由性能、规模和利用率组成宏观总算力二性能x数量(规模)x利用率。算力是由性能、规模、利用率三部分共同组成的,相辅相成,缺一不可: 有的算力芯片,可能可以做到性能狂飙,但较少考虑芯片的通用性易用性,然 后芯片销量不高落地规模小,那就无法做到宏观算力的
23、真正提升。 有的算力提升方案,重在规模投入,摊大饼有一定作用,但不是解决未来算力 需求数量级提升的根本。 有的解决方案,通过各种资源池化和跨不同的边界算力共享,来提升算力利用 率,但改变不了目前算力芯片性能瓶颈的本质。性能、规模、利用率,宏观微观,牵一发而动全身。管中窥豹终有偏,既要考 虑多种因素协同设计,更要宏观的统筹算力问题。2.3 核心矛盾:性能和灵活性性能和灵活性是大芯片中最核心的矛盾:计算 范式核心 器件算力 (CPU基准)通用性 (%)优势问题第一代CPU1100极度灵活可编程。效率最低,性能已经瓶颈。第二代GPGPUX10+10相比CPU的性能优势,相比DSA/ASIC的 通用灵
24、活性,应用领域更加广泛。效率相比DSA/ASIC不高,性能即将到顶。ASICX100+1理论上板致性能灵活性最低,完全定制的方案,用户难以差 异化,难以大规模。第三代DSAX100+5接近于ASIC的极致性能,一定的可编程 能力,资源利用率高。应用的算法多种多样,快速迭代o这导致应 用层(如Al) DSA依然难以大规模落地。第四代CASHX1000+1001、性假相比DSA,性能再提升10+倍。2、灵活性.接近于CPU的通用灵活性。工资派效4 接近DSA的资源效率。&iftiHMU可驾驭广田蟒将存辑叫人 5x架构超异构。X生态。开放的平台生态,融合主流开源软件:匹口 CPU灵活性很好但性能较差
25、,在数据中心场景,如果性能满足,通常的服务器 主力计算芯片,仍然是CPU。很不幸的是,CPU到了性能瓶颈。 GPU ,能够兼顾好性能和灵活性,在很多异构计算场景得到广泛应用。 ASIC受限于其非常低的灵活性,在数据中心等复杂计算场景,完全不可用。 DSA虽然灵活性相比ASIC有所提升,但仍然无法满足应用加速对灵活性的要 求,例如AI训练场景,DSA落地就存在困境,这一场景目前还主要是GPU的 天下。但DSA相比ASIC有所提升的灵活性,比较好满足一些基础设施层的算 法加速,如网络DSA场景和一些AI推理场景。CASH (软硬件融合架构),是我们定义的一种超异构计算架构,通过多种处 理引擎混合协
26、作,实现团队作战,优势互补,以此达到性能和灵活性的兼顾。3大芯片面临的共同挑战3.1挑战一:复杂大系统,对灵活性的要求高于对性能的要求 有一个非常经典的问题:终端非常流行SOC ,但为什么数据中心服务器却依然 是CPU打天下?越是复杂的场景,对系统灵活性的要求越高。CPU作为云计算场景的主力计算平台有其合理性,主要体现在四个方面: 硬件的灵活性。软件应用迭代很快,支持软件运行的硬件处理引擎要能够很好 地支持这些迭代。CPU因为其灵活的基础指令编程的特点,是最适合云计算的 处理引擎。 硬件的通用性。云计算厂家购买硬件服务器,很难预测这些硬件服务器会运行 哪类工作任务,最好的办法是采用完全通用的服
27、务器。CPU由于其绝对的通用 性,成为云计算场景最优的选择。 硬件的利用率。云计算的基础技术是虚拟化,通过虚拟化把资源切分,实现资 源共享,以此提高资源利用并降低成本。只有CPU能够实现非常友好的硬件 级别的虚拟化支持,从而实现更高的资源利用率。而其他硬件加速平台,(相 对的)资源利用率很难做到很高,这就约束了其性能优势。 硬件的一致性。在云计算数据中心,软件和硬件是需要相互脱离的。同一个软 件实体会在不同的硬件实体迁移,同样的同一个硬件实体也需要运行不同的软 件实体。这对硬件平台的一致性提出了很高的要求。在性能满足要求的情况下,CPU当仁不让的就成了数据中心计算平台的最佳 选择。可惜的是,目前,CPU的性能无法满足要求了。在CPU性能不满足要求的情 况下,就需要创新的硬件来进行性能加速。如何在整个系统保持跟传统CPU接 近的通用性、灵活性、可编程性、易用性的约束条件下,实现性能显著提升, 成为了重要的挑战。3.2挑战二:如何数量级的提升综合性能?我们之前都讲过,性能和单位指令的复杂度是正相关的。指令越简单,性能相对越低;指令越复杂,性能相对越好。但指令简单,我们就可以随心所欲组合