编者按
之前文章中,我们介绍过复杂计算的概念,今天又给出了一个新的概念:融合计算。两者的区别在哪里?复杂计算是对需求的描述,而融合计算是对解决方案的描述。很多计算解决方案,聚焦具体算法、具体场景,而忽略了变化、迭代,以及平台和生态的建设:
- “不谋万世者,不足谋一时”。计算的软硬件演进非常快,我们在考虑计算解决方案的时候,不能仅考虑是否满足当前要求,至少需要考虑未来五年、十年是否可以持续满足业务的需求。“不谋全局者,不足谋一域”。并且,计算不仅仅是AI计算,也不仅仅是某个特定特征或领域的计算,计算是要以一个通用而综合的形态,满足几乎所有场景的需求。
今天这篇文章,我们展望一个足够通用、综合、全面、更长生命周期的理想化的计算体系:融合计算。
1 专用硬件or通用硬件?
算力中心的硬件是预配置的,算力中心运营商在购买硬件时,并不确定这些硬件具体会运行什么计算任务。因此,需要以不变应万变,优先考虑足够通用的、综合性的硬件。此外,站在算力中心运营管理的视角,需要尽可能的减少硬件的型号(简化管理,提高硬件资源利用率,降低成本),最理想情况是:硬件规格是一致性的,只有一种型号的硬件,然后通过虚拟化实现差异化的“软件运行平台”。
云计算/算力中心的理想化目标,就是:
综合的、通用的硬件和基础设施;
灵活、高效且低损耗的虚拟化,来实现资源的池化和灵活重组;
面向各类计算场景的、丰富多彩的多种不同规格的“软件运行平台”(软件运行平台指的是虚机、容器、函数等软件运行环境;多种规格的软件运行平台,可精确匹配软件的差异性,满足系统性能要求的条件下,实现尽可能高的硬件资源利用率)。
2 复杂计算
按照虚拟化的层次,虚拟化可以分为计算机虚拟化、操作系统虚拟化和函数虚拟化。综合这三类虚拟化的共性价值:
虚拟化按照一定时间或空间的粒度,把资源切分和组合;
虚拟化屏蔽硬件架构/软件接口的差异性,为上层软件提供一致性的硬件/软件;
虚拟化为上层软件系统提供多种下层资源不同比例组合的运行平台;
上层软件系统和下层硬件/软件系统解耦,上层软件系统作为运行实体,可以创建/销毁、运行/挂起、复制、迁移等;
多系统隔离/共存:资源共享的同时,数据隔离、性能隔离、故障隔离、安全隔离;
提升系统灵活性,提升资源利用率,提升硬件负载均衡性,提升软件高可用性。
以VM为例,假设有100台服务器,一台物理的服务器虚拟出10台VM,1000个逻辑的机器VM分属于50个不同大小的私有集群。
复杂系统的多集群、多系统和动态共存体现在:
硬件集群:供系统调度的一组硬件设备的集合,可以从数台到数千台,甚至上万到百万台的规模,也可以超大规模到跨算力中心的千万级甚至更多计算设备;
软件多系统:通过虚拟化机制,实现单个硬件上的多个不同规格的软件系统共存;
软件多系统集群:一组软件系统组成软件集群,多组软件集群混合交叉部署在一组硬件集群之上;
动态性:宏观的看,这些硬件集群和软件集群的配置一直处于频繁的变更中。
因此,我们可以得到复杂计算的定义:①基于一组硬件集群,②运行多软件系统集群的、 ③动态的、 ④交叉混合计算。展开说明:
单个硬件支持多个不同规格软件系统的计算。
单个硬件集群支持多个软件系统集群的计算,并且软件系统集群交叉混布。
数以万计、百万计甚至更多计算设备的超大规模,完全动态的、非常频繁的软硬件配置变更。
硬件需要足够的一致性(尽可能少的型号和规格),在一致性硬件的基础上实现软件运行平台的差异性。
尽可能满足所有场景的、足够通用的、综合性的计算平台和系统。
3 算力的融合
目前,算力中心通常包括四个方向:
通用计算(主要基于CPU服务器);
超级计算(基于巨型计算机的高性能计算);
智能计算(基于GPU、AI加速等芯片的异构服务器);
分布式存储(独立的分布式存储体系,甚至存储还分为热存、温存和冷存三个独立的硬件基础设施)。
目前,许多算力中心是特色的,仅面向这四类计算中的某一种;而有些超大规模的算力中心是相对综合的,包含了上述四类计算的两种、三种,甚至全部四种,但这四种不同方向的计算,通常是物理分割的各自独立的区域。上面这些做法,跟云计算的发展理念是相悖的。云计算通过资源池化可以实现资源的动态共享,提升资源的利用率,进而降低成本。按照云计算的理念,应该是在通用而综合的云服务体系(IaaS/PaaS/SaaS)之上,构建性能、延迟、成本、安全等方面满足要求的弹性的各类计算集群。
4 不仅仅是AI计算,而是综合的计算
如果把AI计算比作“主菜”,那么综合计算则是一桌“宴席”。
计算的位置是云计算、边缘计算和终端计算;而AI计算是业务层次的计算。
AI很重要,但围绕着AI,还有很多其他类型的计算。
以AI为主要计算的AI+业务场景越来越多;但仍然有很多计算任务,不需要AI的参与,或者AI计算量占比较低。
综合的计算:通过云计算、边缘计算、终端计算的方式,为所有的计算任务提供承载。包括AI计算任务,也包括其他计算任务。这些计算任务并行不悖的混合运行在云、边或端。
5 融合系统的特征
宏观的系统只有一个:通过算力网络,把分散在各地的云计算数据中心/算力中心、边缘算力中心,以及形形色色的终端计算设备,连成了一个超级巨大的系统。这个系统,我们称它为融合系统。融合的系统有哪些基础特征呢?这里我们总结如下。
1) 需求的未知
系统场景一直在快速变化:上层软件场景层出不穷,两年一个新热点,已有的热点仍在快速演进。
宏观大系统,硬件资源是预先准备好的。在购买和部署的时候,不知道具体的资源会给到哪个用户,也不知道用户在此资源上会运行哪些任务。
传统的芯片设计,需要先理解场景,然后根据需求设计芯片。现在的挑战是:一方面,场景需求不确定,不但芯片公司不了解,客户自己也“不了解”;另一方面,芯片的研发和生命周期很长。
复杂融合的系统和芯片设计,需要“无的放矢”。
2) 全面而综合
不管是云计算数据中心系统,还是云网边端万物互联系统,亦或是云宇宙虚实融合系统,宏观的系统,只有“一个”。
千千万不同用户的需求形形色色、多种多样;并且,用户的需求一直处于快速的变化中;此外,新增的用户和新增的需求,也会不断增加。
面对未知的需求,系统都要能够支持。系统需要有包罗万象的能力,任何事情都能干。
3) 专业而高效
通常情况下,“专业的人做专业的事”。言下之意是:专才只能做本领域的事情,其他领域的事情并不擅长。
与此同时,通才什么事情都能做,但做每个领域的事情,都不够高效。
对复杂融合的宏观大系统来说,需要既通又专:系统不仅仅要能做所有事情,并且做任何事情都要足够专业而高效。
4) 超级并发
- 数以万计的用户,数以亿计的用户任务,而系统只有“一个”。千千万用户的需求需要时刻满足,用户的工作任务需要快速得到处理。系统需要在同一时刻,处理数以亿计的各种类型的用户任务。
5) 无处不在
系统覆盖非常广泛的地域:算力无处不在,算力资源唾手可得。
在任何地方,任何时刻,为用户的任何工作任务,都能提供算力和相关资源支撑。
以最合适的形态,最合适的方式,最合适的价格,给用户更好的体验,为用户创造更大的价值。
6) 快速演进
上层软件应用层出不穷,系统需求快速变化。
同一领域,不同用户的需求具有差异性;同一用户,业务需求快速迭代。
宏观的看,用户以及用户需要运行的任务,一直处于不断的变化中。
复杂而融合的系统,需要持续快速演进,才能适应上层业务需求的不断变化。
6 融合计算
前面文章我们介绍过宏观总算力的概念,这里简单总结一下。
要想提升宏观的实际总算力,有三个途径:
方法一,Scale Up方式,提升单芯片的性能;
方法二,Scale Out方式,提升芯片落地的规模/数量;
方法三,则是提高算力利用率。
算力提升,是一个复杂而庞大的系统工程。不仅需要各个相关领域的持续优化,还需要跨领域的协同创新。需要从数据中心多层次挖潜,整体协同优化。优化的主要方向有:
工艺和封装:更先进的工艺、3D集成,以及Chiplet封装等。
芯片实现(微架构):通过一些创新的设计实现,如存算一体、DSA架构设计以及各类新型存储等。
系统架构:比如开放精简的RISC-v,异构计算逐渐走向异构融合计算,以及驾驭复杂计算的软硬件融合等。
系统软件、框架、库:基础的如OS、Hypervisor、容器,以及需要持续优化和开源开放的各类计算框架和库等。
业务应用(算法):业务场景算法优化、算法的并行性优化等;以及系统的灵活性和可编程性设计;系统的控制和管理、系统的扩展性等。
硬件设备:包括服务器、交换机等,多个功能芯片的板卡集成,定制板卡和服务器,服务器电源和散热优化。
数据中心:网络可维护性、高速网络、网络平台化等;基础设施:如绿色DC,液冷、PUE优化等;运营和管理:如超大规模DC运营管理,跨DC运营和管理调度等。
更宏观的系统:如高性能的城域网、互联网,云网边端深度协同和融合等。
计算,既是宏观的,也是系统的。因此,这里我们给出一个综合的概念:融合计算。
融合计算 = 异构融合 x 软硬件融合 x 云边端融合
融合计算是在三个维度融合基础上的再融合:
- X轴,异构融合。通过异构融合计算,把各类异构算力的价值发挥到极致。Y轴,软硬件融合。通过核心的系统层软件(KubeCASH管理系统),融合软硬件堆栈,实现更加通用的计算,从而使得芯片的规模可以快速扩大。同时,通过开源开放,兼容已有的客户业务软件生态,能降低客户门槛,进一步实现大范围落地。Z轴,云边端融合。跨算力中心、跨不同云运营商、跨云边端融合的计算。
(正文完)