0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

复杂系统和复杂计算概述

中科院半导体所 来源:软硬件融合 作者:Chaobowx 2022-11-24 18:14 次阅读

编者按

算力网络的概念逐渐深入人心,算力网络的愿景是“让算力无处不在,唾手可得”。这个愿景非常的令人向往。

在本篇文章中,我们提到两个概念:复杂系统和复杂计算。复杂系统指的是多个系统融合而成的宏系统;复杂计算,则是复杂系统的计算范式。

1 从宏观算力讲起

什么是性能?什么是算力?这两个概念是统一的,性能是微观的概念,而算力是宏观的概念。

性能和算力的关系,如下面这个简化公式:总算力 = 芯片性能 x 芯片数量 x 算力利用率。

这三个参数,也对应了算力优化的微观、中观和宏观的三个层次:

微观层次,即单芯片的性能,主要是通过工艺进步、Chiplet封装以及架构和微架构创新来提升。

中观层次,芯片要能够支持大规模落地。这里讲一个反面案例,由于AI算法众多并且快速多变,AI芯片落地存在困难,难以大规模量产。无法量产的芯片,对宏观算力的提升,没有多大意义。

最后是宏观层次,算力的利用率。我们有了这么多芯片,但如果是孤岛,有的系统性能不够用,而大部分系统的算力又严重浪费,那就没有充分利用这些算力资源。有过统计,云计算,算力利用率通常在6%左右,要是有办法,把算力资源利用率提升到90%以上,这将是非常巨大的价值。要提升利用率,在芯片层面也要做很多的工作,宏观上也要做很多的工作。

对宏观算力影响最大最直接的,就是算力的利用率。需要把宏观的遍布在云网边端的所有计算的资源,连成一个宏大的资源池,统一调度。

2 从虚拟化到资源池化

eed93950-6bdf-11ed-8abf-dac502259ad0.png

按照虚拟化层次,虚拟化分为计算机虚拟化、操作系统虚拟化和函数虚拟化。综合这三类虚拟化的共性价值:

虚拟化按照一定时间或空间的粒度,把资源切分和组合;

虚拟化屏蔽架构/接口差异性,为上层软件提供一致性的硬件/软件;

虚拟化为上层软件系统提供多种下层资源不同比例组合的运行平台;

上层软件系统和下层硬件/软件系统解耦,上层软件系统作为运行实体,可以创建/销毁、运行/挂起、复制、迁移等;

多系统隔离/共存:资源共享的同时,数据隔离、性能隔离、故障隔离、安全隔离;

提升系统灵活性,提升资源利用率,提升硬件负载均衡性,提升软件高可用性。

eefc2f8c-6bdf-11ed-8abf-dac502259ad0.png

以VM为例,假设有100台服务器,一台物理的服务器虚拟出10台VM,1000个逻辑的(或虚拟的)VM分属于50个不同大小的私有集群(通过VPC)。

多集群多系统动态共存体现在:

硬件集群:供系统调度的一组硬件设备的集合,可以从数台到数千台,甚至百万台的规模;

软件多系统:通过虚拟化机制,实现单个硬件上的多个不同规格的软件系统共存;

软件多系统集群:一组软件系统组成软件集群,多组软件集群混合交叉部署在一组硬件集群之上;

动态性:宏观地看,这些硬件集群和软件集群的配置一直处于频繁的变更中。

ef1385ec-6bdf-11ed-8abf-dac502259ad0.png

很多加速芯片,专注于特定领域:只考虑局部,而没有考虑全局。

数据中心硬件是预配置的,购买时不确定运行什么软件;以不变应万变,优先考虑足够通用的、综合性的硬件。

ef249e9a-6bdf-11ed-8abf-dac502259ad0.png

此外,站在云计算公司的运营管理视角,需要尽可能地减少硬件的型号,最理想情况是:硬件规格是一致性的,只有一种型号的硬件,然后通过虚拟化机制实现“软件运行平台”的差异性。

从虚拟化到资源池化:

虚拟化是池化的基础:虚拟化侧重于硬件个体,池化侧重宏观整体;

虚拟化:把资源切分成合适的粒度,再通过虚拟化实例的创建和迁移实现资源的调度;

资源池化的微观机制是虚拟化,通过云操作系统堆栈,甚至跨云网边端的操作系统堆栈,实现虚拟化资源的统一管理、使用和回收等;

微观的虚拟化实现了软件运行平台的高可用,宏观的资源池化实现硬件资源的高利用率;

可被池化的(显式可见的)底层硬件资源包括CPU、内存、GPU/DSA等加速器、存储等。

3 复杂系统的宏观特征

我们先了解一下,复杂计算面向的系统具有哪些宏观的特征呢?

第一,系统要干什么,不知道。传统我们做芯片和系统设计,通常是要去理解场景,然后根据场景的需求来设计我们的芯片和系统。现在的挑战是,场景的需求是完全不确定的,不但芯片公司不了解,客户自己也“不了解”。未来,需要“无的放矢”。

第二,由于系统要什么不清楚,也因此系统要包罗万象,啥都能干。

第三,系统干任何事情,都要足够专业而高效。我们通常说“专业的人做专业的事”。言下之意就是说:专业的人只能做本专业的事情,而通才则意味着在每个领域都不够高效。那么复杂计算的系统,则要求:既通又专(啥都能干,干啥都高效)。

第四,系统要“三头六臂”,同时能做好千千万不同领域和场景、不同客户诉求的工作。

第五,系统提供的算力等资源无处不在,唾手可得。在用户最需要的地方,最需要的时刻,随叫随到;并且,以最合适的形态,最合适的方式出现;还给用户创造更多的价值,给用户更好的体验。

最后,关键的一点,系统要持续演进,适应用户需求的快速变化。

当然,这并不是说单个芯片的能力能够支撑如此强大的系统。而是要发挥数以千计万计的个体芯片协同甚至融合的能力,来共同支撑宏观大系统的更强大的能力。

4 复杂计算的定义

复杂计算的定义:①基于一组硬件集群,②运行多系统集群的、 ③动态的、 ④交叉混合计算。展开说明:

单个硬件支持多个不同规格系统的计算;

单个硬件集群支持多个系统集群的计算,并且系统集群交叉混布;

数以万计甚至百万级的计算设备规模,完全动态的、非常频繁的软硬件配置变更;

硬件需要足够的一致性(尽可能少的型号和规格),在一致性硬件基础上实现软件平台的差异性;

尽可能满足所有场景的、足够通用的、综合性的计算平台和系统。

5 复杂计算的场景

5.1 从云计算来,到云网边端去

ef34e566-6bdf-11ed-8abf-dac502259ad0.png

云计算行业的朋友,看到复杂系统和复杂计算的概念,肯定会说,这不就是云计算吗?没错,复杂计算的确是从云计算的基础特征中提取出来的。

云计算的这些基础的特征,在边缘计算、软件定义的网络计算、超级终端计算等场景,都有类似的特征存在。

我们试图归纳总结这些特征,把它提炼成复杂计算这个概念,用这个概念:

从个体视角看,指导底层的芯片的功能定义和系统架构的设计;

从宏观视角看,指导宏观算力资源和其他相关资源的统筹,为全局资源的池化、编排等提供能力支持,并且进一步提升宏观算力的利用率。

5.2 云计算场景

ef564f4e-6bdf-11ed-8abf-dac502259ad0.png

云计算主要是由IaaS、PaaS和SaaS组成的分层服务体系。云计算的各种XaaS服务,本质上是系统堆栈逐步由云运营商接管的过程。用户只需要关心自己最核心的应用/功能即可。

5.3 边缘计算场景

ef6f9f94-6bdf-11ed-8abf-dac502259ad0.png

CDN(Content Delivery Network,内容分发网络)是一种利用最靠近用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,提供高性能、可扩展性及低成本的网络内容传递服务。

efd820d2-6bdf-11ed-8abf-dac502259ad0.png

边缘计算和CDN有很多相似之处,均通过DNS修改调用地址,提供类似缓存的机制,做到客户端无感。

CDN和边缘计算的本质区别在于:

CDN是只读模式,不管是服务器推送静态内容或者动态内容;

边缘计算同样需要支持多租户多系统运行,其系统堆栈跟云端有一定相似(可复用)之处。

5.4 超级终端场景

eff0711e-6bdf-11ed-8abf-dac502259ad0.png

北京时间2022年9月21凌晨,NVIDIA GTC 2022秋季发布会上,CEO黄仁勋发布了其2024年将推出的自动驾驶芯片。因为其2000TFLOPS的性能过于强大,英伟达索性直接把它全新命名为Thor,代替了之前1000TOPS的Altan。

f0004062-6bdf-11ed-8abf-dac502259ad0.png

Thor SoC能够实现多域计算,它可以为自动驾驶和车载娱乐划分任务。通常,这些各种类型的功能由分布在车辆各处的数十个控制单元控制。制造商可以利用Thor实现所有功能的融合,来整合整个车辆,而不是依赖这些分布式的ECU/DCU。

f0180558-6bdf-11ed-8abf-dac502259ad0.png

超级终端与传统终端最大的区别在于:支持虚拟化,支持多系统运行,支持微服务。手机、平板、个人电脑等传统AP是一个系统:部署好OS,上面运行各种应用,软件附属于硬件而存在。而自动驾驶等超级终端,需要通过虚拟化将硬件切分成不同规格,供不同形态的多个系统运行,并且各个系统之间需要做到环境、应用、数据、性能、故障、安全等方面的隔离。

自动驾驶汽车,通常需要支持五个主要的功能域,包括:动力域、车身域、自动驾驶域、底盘域、信息娱乐域,每个域会占用一个或多个VM。

5.5 未来,更多的场景需要复杂计算

f0320430-6bdf-11ed-8abf-dac502259ad0.png

芯片工艺越来越先进,能支撑的系统规模越来越大;上层的软件应用,层出不穷,已有的应用持续快速演进。系统从单个系统变成了多个系统混合甚至融合的复杂系统。

系统越来越复杂,支持系统计算的硬件也越来越复杂;复杂的系统越多,需要复杂计算覆盖的场景也就越多。

6 复杂计算的挑战

底层计算的资源主要是CPU、内存、网络和存储等I/O,以及GPU、DSA等加速器。复杂计算的核心挑战在于:如何把种类繁多并且架构/接口不一致的资源汇集成池。

个体的硬件,需要支持非常好的扩展性。个体硬件包括各种异构的处理器资源,可以形成小的资源池;并且支持数以万计的个体资源连成一片,形成更大的资源池。

硬件个体需要支持系统的连接和融合,根据程度的高低,分为四个阶段:

阶段一,孤岛。所有设备各自独立的工作;

阶段二,互联。把设备连到一起,设备和设备之间可以通信

阶段三,协同。C/S架构是典型的协同;有了协同,也就有了云网边端。

阶段四,融合。协同通常是静态的,随着时间推移,初始任务划分不一定能适应系统的发展;融合代表着动态以及更多自适应性;协同代表着多个系统的协同,而融合代表了多个系统融合成一个大系统。

站在宏观大系统的视角,云服务器、边缘服务器、终端设备,以及网络设备,都是一致性的硬件。通过软件编排,选择尽可能最优的资源,组成最适合软件运行的逻辑平台。

算力芯片是水滴,算力网络是海洋。我们要思考的是,这滴水如何设计的更好,更好地融入到这片海洋,让海洋更加浩瀚宏大。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 加速器
    +关注

    关注

    2

    文章

    791

    浏览量

    37716
  • DSA
    DSA
    +关注

    关注

    0

    文章

    48

    浏览量

    15116
  • CDN
    CDN
    +关注

    关注

    0

    文章

    311

    浏览量

    28760
  • vpc
    vpc
    +关注

    关注

    0

    文章

    17

    浏览量

    8482

原文标题:什么是复杂计算?

文章出处:【微信号:bdtdsj,微信公众号:中科院半导体所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    业务复杂度治理方法论--十年系统设计经验总结

    复杂度量公式        子模块的复杂度cp乘以该模块对应的开发时间权重值tp,累加后得到系统的整体复杂度C 这里的子模块复杂度 c
    的头像 发表于 09-05 14:11 928次阅读
    业务<b class='flag-5'>复杂</b>度治理方法论--十年<b class='flag-5'>系统</b>设计经验总结

    旨在满足复杂物联网要求的无线MCU

    电子发烧友网站提供《旨在满足复杂物联网要求的无线MCU.pdf》资料免费下载
    发表于 08-28 09:26 0次下载
    旨在满足<b class='flag-5'>复杂</b>物联网要求的无线MCU

    为什么电路要设计得这么复杂

    电路设计的复杂性主要源于以下几个方面: 功能需求:电路需要实现特定的功能,如信号处理、数据传输、控制等。为了实现这些功能,电路必须包含相应的电子元件和连接,这自然增加了设计的复杂性。 性能要求:电路
    的头像 发表于 08-21 17:32 333次阅读

    CISC(复杂指令集)与RISC(精简指令集)的区别  

    Instruction Set Computers,复杂指令集计算集)和RISC(Reduced Instruction Set Computers)是两大类 主流的CPU指令集类型,其中CISC以Intel,AMD
    发表于 07-30 17:21

    复杂电磁环境模拟系统设计方案

    智慧华盛恒辉复杂电磁环境模拟系统的设计方案是一个综合性的工程任务,涉及多个方面的考虑和技术实现。以下是一个基于现有技术和应用需求的设计方案概述: 智慧华盛恒辉系统目标
    的头像 发表于 07-17 17:06 363次阅读

    分库分表后复杂查询的应对之道:基于DTS实时性ES宽表构建技术实践

    1 问题域 业务发展的初期,我们的数据库架构往往是单库单表,外加读写分离来快速的支撑业务,随着用户量和订单量的增加,数据库的计算和存储往往会成为我们系统的瓶颈,业界的实践多数采用分而治之的思想:分库
    的头像 发表于 06-25 18:30 814次阅读
    分库分表后<b class='flag-5'>复杂</b>查询的应对之道:基于DTS实时性ES宽表构建技术实践

    PCB与PCBA工艺复杂度的量化评估与应用初探!

    , 不知道如何区分普通和复杂的PCB和 PCBA的设计,并采用什么样的方式来处理。 基于上述考虑, 我们参考了业 界已有的作法, 设计了一个PCB 和 PCBA的工艺复杂计算公式以解决这 方面
    发表于 06-14 11:15

    复杂环境下,车载中控系统如何助力指挥车高效运作

    复杂多变的环境中,讯维车载中控系统通过其先进的技术和强大的功能,为指挥车的高效运作提供了重要支持。以下是几个方面的表现: 一、强大的信息感知与处理能力 在复杂环境下,信息的获取和处理至关重要。讯维
    的头像 发表于 03-06 16:15 330次阅读

    对干如下所示复杂网络的电路该如何分析?

    在面对如下图所示的复杂网络的电路,该怎么分析?在如此多的器件组成的电路图无处下手。
    发表于 01-26 22:00

    复杂电气电路图的查看方式

    对于许多初学者来说,看懂复杂的电路图可能是一项挑战。但是,通过掌握一些方法和技巧,你可以快速提高自己的读图能力。
    的头像 发表于 01-23 09:22 1175次阅读
    <b class='flag-5'>复杂</b>电气电路图的查看方式

    AUTOSAR架构中复杂驱动设计

    复杂驱动(Complex Driver,CDD)是一种不受 AUTOSAR 标准化约束的软件实体,它可以通过 AUTOSAR 接口和/或基础软件模块 API 进行访问 AUTOSAR 组件或者被 AUTOSAR 组件访问。
    的头像 发表于 12-21 10:13 4120次阅读
    AUTOSAR架构中<b class='flag-5'>复杂</b>驱动设计

    如何在复杂电网环境中检测开关电源使用?

    如何在复杂电网环境中检测开关电源使用?
    发表于 12-09 13:44

    降低Transformer复杂度O(N^2)的方法汇总

    首先来详细说明为什么Transformer的计算复杂度是 。将Transformer中标准的Attention称为Softmax Attention。令 为长度为 的序列, 其维度为 , 。 可看作Softmax Attention的输入。
    的头像 发表于 12-04 15:31 1060次阅读
    降低Transformer<b class='flag-5'>复杂</b>度O(N^2)的方法汇总

    如何降低SigmaDSP音频系统复杂度的情形

    电子发烧友网站提供《如何降低SigmaDSP音频系统复杂度的情形.pdf》资料免费下载
    发表于 11-29 11:13 0次下载
    如何降低SigmaDSP音频<b class='flag-5'>系统</b><b class='flag-5'>复杂</b>度的情形

    缓冲ADC系列消除了信号调理的复杂

    电子发烧友网站提供《缓冲ADC系列消除了信号调理的复杂性.pdf》资料免费下载
    发表于 11-22 10:55 0次下载
    缓冲ADC系列消除了信号调理的<b class='flag-5'>复杂</b>性