大数跨境

计算技术:元宇宙的能量

计算技术:元宇宙的能量 数组智控产业发展科技院
2022-11-20
2
导读:文章来源《元宇宙十大技术》人类的发展,需要直接或间接消耗煤、石油、天然气、太阳能、风能、水能等能源。元宇宙的

文章来源《元宇宙十大技术》

人类的发展,需要直接或间接消耗煤、石油、天然气、太阳能、风能、水能等能源。

元宇宙的发展也是一样,需要人类物理世界源源不断地提供“算力能源”。

宇宙是由能量构成的,元宇宙的地基则是由算力构建的。

算力,不仅支撑着数字人及其所在的虚拟世界的持续存在,还支撑着数字人的思考和行为(本质也是计算)。

第一节 什么是算力

算力,是数字经济时代的核心生产力,对推动科技进步、促进行业数字化转型以及支撑经济社会发展具有重要的作用。

算力与国家经济发展紧密相关,《2020 全球计算力指数评估报告》指出,算力指数平均提高 1 个百分点,数字经济和 GDP 将分别增长 0.33%和 0.18%。

元宇宙将是数字经济的主要场景和赛道,同时也是各种 IT 技术的集大成者。

元宇宙的发展,会极大地满足全球算力及 IT 基础设施的庞大需求。

2021 年 12 月,英特尔高级副总裁兼加速计算系统和图形部门负责人拉贾·科杜里表示:要想实现《雪崩》和《头号玩家》中天马行空的体验,需将现在的算力至少再提升 1000 倍。

他认为,元宇宙可能是继 Web 和移动互联网之后的下一个主要的互联网形态。元宇宙时代的计算,呈现出如下几个方面的多样性:

●计算平台的多样性。

计算任务可以运行在不同供应商的 CPU、GPU、DSA 等不同类型处理器上。

●计算位置的多样性。

计算任务可以运行在云端,也可以运行在终端,还可以运行在边缘端。

●计算交互的多样性。

元宇宙虚拟和现实结合,涉及不同层次不同类型的数据模型交互,也涉及各种类型的交互设备,还涉及各种不同的交互方式。

元宇宙时代超大规模的云数据中心、遍布各地的边缘数据中心,以及越来越普遍的终端智能设备,其算力都需要持续不断地增强。

一方面,芯片或设备的算力,要持续进步;

另一方面,芯片或设备要保持非常灵活的可编程性,使得芯片支持大规模落地成为可能。

此外,还要向前兼容,形成具有历史延续性的演进;

再通过建设数据中心,把芯片和设备大规模落地;

最后要通过云网边端协同,提高算力资源的利用率。

要想持续不断地增加算力,不可避免要建设更多的数据中心。

“东数西算”工程通过构建数据中心、云计算、大数据一体化的新型算力网络体系,将东部算力需求有序引导到西部,优化数据中心建设布局,促进东西部协同联动。

“东数西算”通过扩大规模的方式,大幅提升了算力。

但按照这种传统方式,仍无法达到支撑元宇宙所需的千倍以上的算力,主要原因如下:

●受成本、能耗等因素的影响,我们不可能无限制地扩大数据中心及服务器的规模。

●扩大数据中心和服务器规模会显著增加不同数据中心间、不同服务器间数据交互带来的性能损失,无法实现性能的线性增长。

●扩大规模会迅速增加更多的“东西向”网络流量,使得交换机数量、网络带宽都会进一步增加,推高网络的成本。

例如,在一次 OCP(开放计算项目)研讨会上,Meta 提到了使用 40 万兆(MB,可简写为 M)网络交换机,用于提升元宇宙体验,但这种交换机价格非常高昂。

●网络带宽增加的速度,难以满足“东西向”流量增长的需求,网络带宽会成为规模扩张的瓶颈。

为了更好地解决算力问题,更本质的做法是提升单个芯片或单个设备的算力。

数据中心对系统的通用性、灵活性要求很高,因此主流的计算平台依然是通用可编程的 CPU。

但不幸的是,基于 CPU 的摩尔定律已经失效,CPU 的发展达到瓶颈。

这迫使在元宇宙时代,不得不利用 GPU、DSA 甚至超异构等硬件加速的平台来提升综合算力。

这些“硬件加速”的计算平台,在提供更加强劲算力的同时,如何保持如 CPU 一样灵活的通用可编程性,成为行业面临的主要挑战。

只有确保了灵活的通用可编程性,芯片才能够大规模量产并降低成本,才能真正做到宏观总算力的显著提升。

第二节 元宇宙对计算形成了更大的挑战

“性能”和“算力”两个概念是一致的,区别在于“性能”是微观的概念,而“算力”是宏观的概念。元宇宙对计算的需求是巨大的,也是显而易见的。

站在某个计算芯片的角度,我们需要的是持续不断地提升性能。

然而,在元宇宙数以亿计的个体设备组成的超大规模系统里,计算则面临着更多、更大的挑战。

一、计算的任务:跨越架构和平台

ISA(指令集架构)位于软件和硬件之间,是一组标准定义的指令集合;

软件就是通过这些指令组合出的各种各样的程序,而 CPU 则是执行这些程序(指令流)的硬件。

如图 3-1 所示,当前流行的 CPU 架构主要有 x86(一般指英特尔 x86 芯片架构)、ARM(一个 32 位元精简指令集中央处理器架构)和 RISC-V(一个基于精简指令集原则的开源指令集架构)。

理论上,一个软件任务可以通过如下两种方式实现跨不同 CPU 架构平台的运行:

●静态编译:可以通过不同平台的编译器,把高级程序编写的软件源码进行编译,生成各自平台上不同的执行文件,然后实现软件在不同平台的运行;

●动态编译:在一个平台上已经编程生成的执行文件,在另一个平台上,通过实时工作的虚拟机(类似 Java 虚拟机),实现软件在新的平台动态运行。

图 3-1 基于 x86、ARM 和 RISC-V 架构的 CPU 硬件和软件

随着 CPU 的性能逐渐遭遇瓶颈,需要通过 GPU、FPGA(现场可编程逻辑门阵列)、DSA 和 ASIC(专用集成电路)等硬件加速的平台持续不断地提升性能。

英特尔 oneAPI(API:应用编程接口)是一个开放且标准的编程系统,支持开发者跨多种硬件架构开发应用,这些硬件就包括 CPU、GPU、FPGA、AI 加速器等。

各类处理引擎具有非常不同的特性,因此用于各自不同的场景。而 oneAPI 试图将它们统一在同一个模型下简化操作。

开发者面临的问题是日益庞大的数字世界提供的编程环境的数量也日益增多。

不同的编程环境开发的代码很难重用,并成为开发人员的障碍。

oneAPI 是通过统一的编程框架作为约束专有编程平台的解决方案。

英特尔 oneAPI 是一个非常好的思路,代表了未来软件跨越不同计算平台运行的发展趋势。

如图 3-2 所示,我们需要把 oneAPI 模型框架再增强一下,这样软件能跨越不同厂家不同硬件的平台:

不仅包括跨越同一处理器类型的不同架构,如 x86、ARM 和 RISC-V 等不同架构,也包括跨越 CPU、GPU、FPGA 和 DSA 等不同处理器类型,还包括跨越不同供应商的不同处理器类型、不同架构的平台。

图 3-2 软件跨越不同厂家、不同处理器类型的不同硬件架构

二、计算的位置:跨越云边端

没有云计算之前,算力资源是一个个孤岛:

如果算力资源配置比较多,就意味着资源浪费和利用率低;

如果算力资源配置比较少,就意味着无法支撑业务的弹性发展,丢失商业机会。

云计算通过资源整合和共享,用户按需购买,从而快速而弹性地获取计算资源,提升计算资源的利用率,并进一步降低用户获取算力的成本。

数以亿计的物联网和移动设备产生的数据和对服务的访问均呈指数级增长;与此同时,自动驾驶等场景对服务的实时性要求非常高。

场景的量变推动着计算模型的质变,传统集中式的云计算在向分布式的边缘计算转变。

在边缘计算模式下,部分计算和存储发生在网络边缘,即更靠近终端的位置。

终端的算力,也在持续提升。

在自动驾驶汽车领域,从英伟达发布的自动驾驶芯片平台和未来发展路线图可以看出:

●2018 年发布的 Parker 平台算力达到 1 TOPS(每秒钟一万亿次操作);

●2020 年发布的 Xavier 平台算力则高达 30 TOPS;

●预计 2022 年发布的 Orin 平台算力达到惊人的 254 TOPS;

●Atlan 平台算力则高达 1000 TOPS,其目标是能够用于 L4 和 L5 自动驾驶。

元宇宙时代,对算力的需求非常高。

如图 3-3 所示,如果我们把计算都集中在云数据中心,云端计算的压力肯定很大,所以需要有边缘数据中心,来承担一部分计算的压力;

更进一步的做法,就是把许多计算直接放在终端设备本地,来分散整体计算的压力。

图 3-3 跨不同云厂家的云、边、端协同

一个系统的任务到底是放在云、边还是端?

云、边和端又如何协同?

如何做到计算任务的弹性分配,并且能够灵活地在云、边和端之间跨平台迁移?

此外,还要让计算任务在不同厂家、不同形态的云数据中心、边缘数据中心以及不同类型、不同品牌的终端设备上灵活迁移。

当前,有一些值得关注和投入的技术和商业模式:

●CMSP(云管理服务提供商)实现跨公有云和混合云的运营模式,可以在不同的云场景弹性扩展资源。

●分布式云和算力网络等技术进一步整合各种边缘计算算力,进一步打破公有云和边缘云的界限,提高算力的利用率。

●充分利用终端计算的闲置资源,或去中心化计算。

三、计算的交互:跨越虚拟和现实

交互是影响用户体验最直接的因素。

2000 年,微软公司发明的智能手机,模仿了 PC 机上 Windows 系统的鼠标交互,通过触控笔实现类似鼠标点击一样的人机交互,用户体验不太好。

直到 2007 年,苹果公司发布了 iPhone,通过手指触摸实现全新的人机交互,最终实现了智能手机的大规模使用,开创了移动互联网时代。

同样,要想真正走进元宇宙时代,虚拟和现实的低成本的便捷交互,是决定用户体验的最直接因素。

虚拟和现实的交互呈现出如下特点:

首先,虚拟和现实的接口设备多种多样。

元宇宙时代,一方面需要把现实世界实时映射到虚拟世界,另一方面需要把虚拟世界再快速地反馈到现实世界。

例如,随着 AR 技术的发展,通过诸如 Meta Quest 2、微软 HoloLens、Magic Leap、Google Glass(谷歌眼镜)等设备实现物理世界和数字世界的交互。

还有其他一些交互技术,如 3D 建模、动作捕捉、脑机接口,等等。

其次,虚拟和现实交互的数据带宽要求非常高。

这些数据的输入、输出、低时延传输、快速处理及响应等各方面的要求都非常高。

例如,Meta Quest 2 显示器可提供 1832×1920 像素的分辨率、90 赫兹刷新率。

要达到沉浸感所需的视网膜级别的显示效果,需要 12540×6840 像素的分辨率,甚至最好在 16K 以上,且刷新率最好在 180 赫兹以上,这意味着需要 280.7Gbps 的数据传输带宽。

如此高带宽数据的输入、输出、传输、处理,都对整个计算和网络基础设施提出了非常高的要求,算力和网络带宽需要再提高到数十倍以上,才能为用户提供非常好的体验。

最后,输入、输出的模型格式、精度、交互的频次等的差异都很大。

元宇宙通过对现实世界的人或其他实体进行物理建模,以及通过传感器及历史数据等,在虚拟空间同步出同样的一个虚拟实体,形成数字人或其他实体;

反过来,我们把虚拟的数字人或其他实体,实时同步到机器人或者通过交互设备反馈到现实世界。

模型格式不一样,还要跨越不同厂家的不同类型的设备。

对一些常见的模型,需要形成统一的标准,并且对这些模型的处理能够针对性地进行性能和传输优化,进一步优化元宇宙的体验。

元宇宙时代,现实世界和虚拟世界的交互是高数据量的、实时而快速的、持续不断的。

元宇宙的计算,需要跨越不同的模型,跨越不同的设备,跨越不同的交互方式。

第三节 元宇宙时代计算呈现出的新特征

凯文·凯利的《失控》中提到了一个重要的概念“涌现”:众多个体的集合会涌现出超越个体特征的某些更高级的特征。

例如,通过把数量众多的计算机连接到网络,“涌现”出互联网;通过设计更加复杂的深度学习模型,“涌现”出 AI。

元宇宙时代,更大规模的云数据中心、更多的边缘数据中心、数以亿计的各类现实世界的设备连接到互联网,而更快、更宽的互联网络需要算力再提升好几个数量级。

这些现象和需求,都使得元宇宙时代的计算“涌现”出许多全新的特征。

一、软件实体和硬件平台分离

传统场景下,软件通常附着在硬件之上,两者是绑定的。

可以通过硬件抽象层实现平台的标准化,然后再部署操作系统和应用软件。

而在系统越来越复杂的情况下,软件的实体,如虚拟机、容器和函数,需要在不同的硬件上迁移,这就使得软件和硬件逐渐分开了。

如图 3-4 中的(a)所示,在计算机发展的初始阶段,软件是完全依赖硬件平台的。

比如,我们在 x86 平台编写的程序是无法在 ARM 平台运行的;

如果有个 I/O 设备,那么设备厂家必然会提供相应的驱动,让开发者来调用。

这就意味着软件完全受硬件的约束,需要考虑硬件的特点,有针对性地开发软件。

软件开发非常复杂,也非常有难度,为了优化这些问题,尽可能实现软件跨平台复用,于是出现了硬件抽象层。

如图 3-4 中的(b)所示,硬件抽象层用来尽可能地屏蔽硬件之间的差异,使得已经写好的软件无须改动,就可以在不同的平台流畅而稳定地运行。

例如:

●POSIX(可移植操作系统接口)是 IEEE(美国电气与电子工程师协会)为各种 UNIX 和 Linux 操作系统运行软件而定义的系统 API 标准。

●Java 虚拟机,实现了 Java 程序和运行平台之间的抽象层,使得标准的 Java 执行文件能够完全跨平台运行。

●操作系统和硬件驱动之间的硬件抽象层,负责屏蔽硬件差异性,给操作系统提供标准的驱动交互接口。

虽然硬件抽象层可以解决软件跨平台复用的问题,但无法解决软件跨平台移动的问题。

数据中心等场景需要每天 24 小时为客户提供稳定运行的服务。

但受限于硬件的一些特点,硬件本身会有一定概率发生故障。

如图 3-4 中的(c)所示,为了不影响软件的工作,就需要使软件实现跨硬件平台实时热迁移。

例如:

●计算机虚拟化。

通过 Hypervisor(虚拟服务器)在物理计算机上虚拟出一个新的计算机,在这个虚拟机上,可以安装操作系统和其他各种软件。

当运行的硬件服务器发生故障的时候,云管理系统会启动虚拟机迁移,把整个虚拟机迁移到新的正常运行的物理服务器上。

而在虚拟机的用户看来,自己的“服务器”则一直处于稳定运行状态。

●容器虚拟化。

通过容器实现操作系统虚拟化,通过 Kubernetes(容器集群管理系统)等管理软件,当一个容器实例运行出现问题的时候,可以实现完全自动化的容器实例在其他服务器上重新拉起。

在用户看来,自己的容器则一直是运行正常的。

●函数计算。

函数计算是一种 Serverless(无服务器架构)技术,是云计算的新一代计算范式。

函数计算相比计算机和容器虚拟化,是更高层次的虚拟化。

底层系统堆栈由云计算厂家提供并确保系统堆栈的高可用,通过一些事件触发并执行轻量级的函数计算程序。

函数计算是在拉起的时候,由管理系统决定其运行的硬件平台,可以做到完全的硬件无关。

元宇宙时代,需要实际运行的软件工作任务,跟支撑它的硬件平台解耦。

这样,就可以实现软件实体在一个数据中心内部的跨硬件平台自由“流动”,甚至能够实现跨云数据中心、边缘数据中心,甚至各种智能终端之间的跨越物理界限的自由“流动”。

图 3-4 软件对硬件的依赖和硬件抽象

与此同时,软件实现的硬件抽象层和虚拟机、容器的“外壳”(也是一种抽象)是要消耗一定的软件性能的。

这样,就需要在硬件层次对整个抽象层加速,尽可能提供非常好的平台一致性,给到实际运行的工作任务。

不同厂家、不同类型、不同架构的处理器平台,为软件提供一致的接口,使得软件可以非常方便地在不同处理平台之间“流动”。

不同的厂家通力合作,共建出标准的、开放的、符合元宇宙需求的一整套软硬件生态。

二、集中和分布共存

在芯片领域,SOC(片上系统)和 NOC(片上网络)是典型的集中式单系统。

而这样一个性能强劲的高性能 SOC 芯片,其内部通常包含多核 CPU、多核 GPU 以及其他 DSA/ASIC 级别的加速器,还有各种高速或低速的接口设备。

这些部件同时协同工作,芯片内部可以被看作是多个处理部件协同的分布式架构。

而整个芯片又作为一个集中的整体,承担产品和系统中的各类计算任务。站在终端、边缘端的视角,云计算是集中式的计算。

云计算通过超大规模的数据中心,集中为用户提供服务,数据的处理和存储都主要集中在数据中心的各种形态的服务器中。

但从云数据中心内部来看,各种分布式计算集群、分布式存储,以及每台服务器中的 CPU、GPU、DPU 等计算器件,其实又是完全分布式的协同工作。

终端是个体从服务器端获取服务。

很多终端和服务器端协作完成一些任务,这可以看作是分布式的协同计算。

例如,在功耗、成本敏感的物联网场景,节点只完成非常简单的功能,例如数据采集,然后把数据传输到云端处理、存储,甚至分析决策,最后把决策后的指令下发至终端执行。

终端节点只构成系统的“触角”,整个大的系统是由很多简单的微小系统组成。

然而,在汽车领域,按照现在的智能汽车发展趋势,计算已经从传统 ECU(电子控制单元)的分布式计算,向超高算力的集中式的自动驾驶计算演进。集中式的云计算服务无法覆盖所有场景,例如自动驾驶,需要快速分析数据并决策执行,随着数据量的快速增加,还需要更快速地响应,于是边缘计算开始流行。

边缘计算相比云计算是分布式的,在物理上更靠近终端的位置,能够更加及时高效地服务终端的请求;

而相比终端的本地计算,边缘计算则又是相对集中的,由边缘数据中心承担很多终端的服务器端服务。

元宇宙时代,计算的架构越来越多,设备的形态也越来越丰富,系统层次结构中越来越多地呈现出“集中和分布”并存甚至“融合”的特征。

三、微观的超异构计算

后摩尔时代,计算需求增长迅猛,以 AI 计算为例,据 OpenAI 博客分析,2012-2018 年,AI 算力需求总增长约 30 万倍。

因此,硬件系统逐渐出现各种各样的异构计算专用芯片。

凭借 GPU 中数以千计的高效能、小计算核心的并行计算所提供的灵活可编程能力,以及英伟达 CUDA(统一计算架构)丰富的平台生态,GPU 成为 AI 训练和推理的主流平台,GPU 相比 CPU,性能有了数量级的大幅度提升。

2022 年 3 月 22 日,英伟达首席执行官黄仁勋在 GTC 2022 大会上发布了拥有 800 亿个晶体管的 H100 GPU,以及由 256 个 H100 构成的英伟达 OVX(Omniverse 软硬一体机方案)SuperPOD。

此前不久,浪潮信息发布了与英伟达合作的业界首款元宇宙服务器 MetaEngine,单台元宇宙服务器可支持每秒 AIGC 2000 个数字场景。

DSA 是异构计算专用芯片中重要的一类,是针对特定场景定制的处理引擎或芯片,有接近于 ASIC 的极致的性能,同时具有一定程度的灵活可编程能力。

当前,随着 AI 模型越来越庞大,以及训练的数据量也越来越大,对 AI 芯片的算力也提出了新的要求。

有些 GPU 难以满足要求,于是,很多 AI 类的加速芯片开始考虑采用 DSA 架构。

但到目前来看,受限于 AI 算法的快速演进,DSA 架构的芯片由于其灵活性方面仍有所欠缺,芯片没有形成大规模的落地。

未来,算力需求持续扩大,计算设备的数量也会快速激增,与此同时,系统的复杂度会有数量级的提升。

为了应对这一挑战,我们可以集合 CPU、GPU 以及 DSA 各自的优势:

CPU 负责控制管理类的一些任务,GPU 负责需要一定灵活和弹性的应用层加速,而 DSA 则侧重底层基础设施的计算,即 DSA 要完成功能相对确定的计算。

当前,并行计算的主流架构如图 3-5 所示。

图 3-5 同构并行和异构并行计算架构

●图 3-5 中(a)为 CPU 同构并行。

常见的多核 CPU 和多 CPU 芯片互联即是同构并行计算。

CPU 由于其灵活通用性好,是最常见的并行计算架构。

但由于单个 CPU 核的性能已经到达瓶颈,并且单颗芯片所能容纳的 CPU 核数也逐渐到头,CPU 同构并行已经没有多少性能挖潜的空间。

●图 3-5 中(b)为 CPU+xPU 的异构加速并行架构。

一般情况下,GPU、FPGA 及 DSA 加速器都是作为 CPU 的协处理加速器的形态存在,不是图灵完备的。

因此,这些加速器都需要 CPU 的控制,CPU+xPU 成为典型架构。随着芯片工艺和封装的进步,单芯片所能支撑的设计规模越来越大,并且,CPU、GPU、FPGA,以及一些特定的算法引擎,都可以作为 IP 核,被集成到更大的系统中。

这样,构建一个更大规模的芯片设计成为可能。

如图 3-6 所示,超异构指的是由 CPU、GPU、FPGA、DSA、ASIC 以及其他各种形态的处理器引擎共同组成的、复杂的超异构芯片系统。

图 3-6 多种处理引擎共存的超异构并行计算

从系统的角度来看,传统 SOC 是单系统,而超异构是宏系统,是多个系统整合到一起的大系统。

传统 SOC 和超异构 SOC 的区别和联系如下:

●单系统还是多系统。

传统的 SOC 有一个基于 CPU 的核心控制程序,来驱动 CPU、GPU、外围其他模块以及接口设备等的运行,整个系统的运行是集中式管理和控制的。

而超异构 SOC 则是 HSOC(超系统芯片),由于其规模和复杂度,每个子系统其实就是一个传统 SOC 级别的系统,整个系统呈现出分布式的特点。

●以计算为中心还是以数据为中心。

传统 SOC 是以计算为中心,CPU 是由程序(指令流)来驱动运行的,然后 CPU 作为一切的“主管”再驱动外围的 GPU、其他加速模块、IO 模块运行。

而在超异构架构芯片中,由于数据处理带宽性能的影响,必须是以数据为中心,靠数据驱动计算。

相比传统基于 GPU 或 DSA 的异构计算架构,超异构架构需要实现 10 倍甚至 100 倍以上的性能提升。

并且在实现整体接近于 ASIC 的极致的性能的同时,超异构架构还要确保整个系统接近于 CPU 软件的通用可编程能力。

于是,为了应对元宇宙时代对算力的挑战,计算架构的计算就必须从同构的 CPU、异构的“CPU+GPU”,转换成“CPU+GPU+各类 DSA”的超异构计算。

通过“专业分工,协同工作”的方式,来实现既有更高算力又足够灵活的计算平台。四、宏观的跨平台融合

计算的跨平台融合是一件非常困难的事情,原因如下:

●之前,数据中心的计算几乎只基于一个平台:

x86 架构 CPU 服务器;

如今,ARM 架构 CPU 服务器也开始在数据中心得到应用;

而紧随其后的 RISC-V 架构 CPU 服务器的热潮也即将到来。

在桌面端的个人电脑领域,各个架构的市场也基本上是类似的格局。

●目前,在 AI 芯片领域,英伟达基于其 GPU 和 CUDA 的强强联合占据绝大部分市场,紧随其后的则是 AMD 和英特尔。

国内也有很多 AI 芯片的初创公司,如燧原、壁仞、昆仑、天数智芯、鲲云、算能等,其 GPU 产品即将挺进这一竞争异常激烈的领域。

●针对特定场景的 DSA 的类型众多。

任何一个性能敏感的领域或场景都可能存在实现一个 DSA 专用处理芯引擎或芯片的可能。

即使是同一场景,不同厂家的实现也有非常大的差别。

●终端 SOC 架构的很多处理模块都是定制的 ASIC 设计。

只要有任何一个主要的处理模块架构不一样,即使其他 90%以上的设计都完全一样,却仍然是两个不同的 SOC 架构。

这样,SOC 架构就呈现出更复杂的多样性。

元宇宙时代,为了更高的算力,需要从架构上压榨尽可能多的价值,超异构计算成为发展的必然选择。

超异构架构的跨平台面临如下几个方面的挑战:

●首先,要支持软件的热迁移。

通过各类虚拟化(虚拟机、容器等)技术,实现软件运行实体在不同的平台迁移;

●其次,跨 CPU、GPU、DSA 等处理引擎很难实现。

一个软件任务可以在 CPU 上运行,也可以在 GPU、DSA 上运行;

●最后,最难实现的是跨不同厂家、不同架构的处理器。

跨越架构,可以在 x86 CPU 运行,可以在 ARM CPU 运行,也可以在英伟达 GPU 运行,还可以在某个特定厂家的特定 DSA 架构处理引擎运行。

元宇宙时代,为了更好地支撑上层软件,需要开放的平台,实现软件实体原生地跨越不同的硬件,从而实现软件实体完全自由的跨平台“流动”。

第四节 元宇宙需要创新的计算技术

云和边缘数据中心的服务器,以及智慧化的终端设备是整个互联网的基本节点,通过部署在全球各地的不同层级的交换机和路由器联系在一起。

服务器或者终端设备是一个基本的系统,包含芯片、主板、板卡、电源以及机箱等硬件,也包含运行于硬件之上的软件,还包含根据场景而运行的各种算法和策略,以及要进行处理和存储的数据,等等。

站在整个互联网的视角,一旦和宏观的规模相联系,需求就不单单是个体系统内的业务场景,还包括个体系统的外延约束。

需要从更宏观的高度,系统性地思考业务场景,并落实到个体系统的设计及实现中去。

一、工艺创新:支撑更大规模的计算

元宇宙对算力的需求,是当前算力的千倍万倍。

如果我们真的满足了这一需求,对算力的需求就停滞了吗?

不会,到时候,也许会有多元宇宙和多层嵌套的元宇宙,或者其他更加魔幻的新场景等着我们去满足。

要想实现持续不断的算力提升,工艺进步是最主要的推动力量。

台湾积体电路制造公司(简称 TSMC)的 5 纳米工艺已经实现量产,3 纳米工艺已经在路上,2 纳米、1 纳米工艺也都被纳入未来几年的规划中。

并且,TSMC 已经开始在攻关 0.1 纳米工艺,半导体工艺即将进入亚纳米(埃米)时代。

此外,在存储领域,近些年来还兴起了 3D 封装技术,使得集成电路从二维进入三维。

此外,如图 3-7 所示的 Chiplet(芯粒)机制的出现,把多个芯片裸 DIE 集成到一起,从 3D 到 4D,都进一步增强了单位面积的晶体管集成度。

工艺持续进步、3D 堆叠以及 Chiplet 多 DIE 互联,使得芯片从 2D 发展到 3D,再到 4D。

这些技术的进步,意味着芯片可以容纳更多的晶体管,也意味着芯片的规模越来越大。

未来,量子门级电路将代替现在的 CMOS(互补金属氧化物半导体)工艺的门级电路。这样,当前的半导体工艺将平移到量子计算时代。

上层构建的芯片和软件生态,有了量子门级电路的强力工艺支撑,可以更加蓬勃发展。

图 3-7 基于 Chiplet 封装的多 DIE 单芯片

资料来源:cadence.com

二、架构创新:支撑软件和硬件深度融合

随着云计算的发展,云数据中心也已经发展到了非常大的规模,每个数据中心拥有数以万计甚至十万计的服务器。

边缘数据中心的规模要小一些,服务器数量通常在数百台或者上千台,但由于数据中心数量众多,整体的规模也非常庞大。

超大规模的服务器数量,使得系统逐渐走向软硬件融合。

CPU 性能遇到瓶颈时,为了帮助 CPU“减负”,让 CPU 专注于更有价值的工作,就需要把一些任务卸载到硬件中加速。

那么,哪些任务适合卸载?

我们给出两个标准:一个是这个任务性能敏感,消耗非常多的 CPU 资源;

另一个是这个任务被大规模部署,在很多台服务器上都存在。这样的任务,就需要为其做针对性的性能优化。

如图 3-8 所示,服务器上运行的各类软件可以看作是一个非常复杂的并且分层的系统,在 CPU 性能瓶颈和庞大的服务器规模的推动下,我们可以认为,软硬件融合的过程其实就是系统不断卸载的过程。

图 3-8 软硬件融合和 CPU 软件系统不断卸载

软硬件融合并不改变系统层次结构和组件的交互关系,但打破软硬件的界限,通过系统级的协同设计,可达到整体最优的效果。

在传统架构下,系统分层非常清晰,下层是硬件,上层是软件;

而在软硬件融合的系统架构下,整个系统分层分块,每个组件是软件还是硬件,或软硬件协同,都是有可能的。

这样就形成了“软件中有硬件,硬件中有软件,软硬件融合成一体”的效果。

从宏观上看,越是上层的组件,相对越灵活,软件的成分越多;越是下层的组件,相对越固定,硬件的成分越多。庞大的规模加持,使得云计算等复杂计算系统的底层工作任务逐渐稳定并且逐步卸载到硬件。

我们也可以通过软硬件融合的一些优化技术,使得“硬件”更加灵活,功能也更加强大,这样就可以使得更多的层次功能向“硬件”加速转移。

软硬件融合是为了应对算力需求最高、系统规模最大、成本最敏感、灵活性要求最高的云计算数据中心场景的各种复杂挑战而逐渐形成的技术理念和一整套技术体系。

基于软硬件融合的超异构混合计算,可针对算力需求再提供多个数量级的复杂场景。未来,在自动驾驶、5G/6G 核心网、边缘计算以及元宇宙等场景,对算力的需求都会更加强劲,面对如此多的复杂系统场景,软硬件融合也有了更多的用武之地,其价值也会进一步凸显。

三、开放的接口:支撑跨平台应用

在 RISC-V 出现之前,CPU 的 ISA 都是封闭的体系:

只有英特尔、AMD 和威盛三家公司能做 x86 架构 CPU 芯片;ARM 的架构授权也需要付出非常大的代价,而且随着 ARM 指令集版本的升级,新的架构授权需要重新谈判;

行业里还有 MIPS、POWER 等很多不同的 ISA 架构。

CPU ISA 多种多样,用户在一个平台上写成的程序都难以在其他平台上运行,更不用说跨不同的平台迁移了。

这就意味着,大量的重复工作难以把各种架构芯片的优势都充分利用起来。

RISC-V 是美国加州大学伯克利分校开发的第五代 RISC 架构。

要创建一个“面向处理器的 Linux”,CPU 领域需要行业标准的开源 ISA,如果许多组织使用相同的 ISA 设计处理器,那么更大的竞争可能会推动更快的创新。

理想的情况是,如果未来能够形成以 RISC-V 为主流的行业生态,那么没有了跨平台的损耗和稳定性风险,大家可以把精力专注在持续优化 CPU 微架构以及更多上层软件的创新上。

如图 3-9 中(a)所示,传统硬件定义软件的时代,一定是先设计好芯片,然后芯片厂家开发好软件驱动和框架,之后软件开发人员再基于芯片以及驱动和框架来开发上层的软件。

而如今,行业进入了软件定义一切的时代,如图 3-9 中(b)所示,用户的工作任务已经存在,只不过其形态通常是运行于 CPU 的软件,用户的诉求更多的是寻求更高性能的其他硬件加速引擎或处理器来更好地提升性能,但并不希望更改自己的工作任务的业务逻辑。

这样,就需要硬件不但能够实现非常好的功能加速,还能够提供足够开放通用甚至弹性的接口,来适配用户的业务软件。

而 AI 加速芯片则是一个非常典型的案例。

AI 的算法还没有完全定型,AI 芯片也还在快速发展,目前还没有形成标准的 AI 芯片硬件访问接口,以及统一的 AI 框架。

而这些都是阻碍 AI 芯片大规模落地的本质原因。在元宇宙时代,为了实现软件实体可以在不同的硬件平台自由地迁移,需要利用各种虚拟化技术。

而虚拟化是有代价的,为了使虚拟化不影响硬件原生的性能,需要实现硬件虚拟化,即需要把硬件接口直接暴露给 VM(虚拟机)、容器等,这也意味着不同的服务器的各类设备、加速器接口需要实现一致性的、标准的并且开放的接口,才好更好地让软件自由迁移。

图 3-9 硬件定义软件和软件定义硬件

【声明】内容源于网络
0
0
数组智控产业发展科技院
以AI技术为底层能力,聚焦智慧园区、城市公共安全、数智警务、健康医疗、能源电力、科研实验及平安校园等领域,提供从感知到决策的全流程软硬件一体化的国产装备智能体产品解决方案。
内容 986
粉丝 0
数组智控产业发展科技院 以AI技术为底层能力,聚焦智慧园区、城市公共安全、数智警务、健康医疗、能源电力、科研实验及平安校园等领域,提供从感知到决策的全流程软硬件一体化的国产装备智能体产品解决方案。
总阅读2.5k
粉丝0
内容986