CN118210634A - 服务器系统、服务器系统的资源调度方法、芯片及芯粒 - Google Patents

服务器系统、服务器系统的资源调度方法、芯片及芯粒 Download PDF

Info

Publication number
CN118210634A
CN118210634A CN202410538814.4A CN202410538814A CN118210634A CN 118210634 A CN118210634 A CN 118210634A CN 202410538814 A CN202410538814 A CN 202410538814A CN 118210634 A CN118210634 A CN 118210634A
Authority
CN
China
Prior art keywords
computing
resource
resource pool
server system
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410538814.4A
Other languages
English (en)
Inventor
王恩东
高显扬
黄家明
赵伟康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202410538814.4A priority Critical patent/CN118210634A/zh
Publication of CN118210634A publication Critical patent/CN118210634A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Power Sources (AREA)

Abstract

本申请实施例提供了一种服务器系统、服务器系统的资源调度方法、芯片及芯粒,其中,该服务器系统包括:多元计算资源池、数据存储资源池、交换模块和控制模块,其中,多元计算资源池包括通用计算资源池和异构计算资源池,其中,通用计算资源池包括一组通用计算单元,异构计算资源池包括一组异构计算单元,多元计算资源池通过服务器系统内部的缓存一致性总线经由交换模块与数据存储资源池相连;数据存储资源池中包含允许被多元计算资源池中的多元计算资源所共享的数据存储资源;控制模块,用于对多元计算资源池中的多元计算资源进行算力调度、以及将数据存储资源池中的数据存储资源动态调配给多元计算资源池中的多元计算资源。

Description

服务器系统、服务器系统的资源调度方法、芯片及芯粒
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种服务器系统、服务器系统的资源调度方法、芯片及芯粒。
背景技术
算力是指计算机设备或计算/数据中心处理信息的能力,更广义上讲,其可以指计算资源,例如,通用算力、异构算力。相关技术中,为了融合多元异构算力,通常采用通用算力核心作为通用处理单元和调度核心,异构算力核心作为从核实现面向特定应用的加速计算。这些异构融合处理器采用主从的工作模式,异构算力从核具有相同架构,通过统一的操作系统,对给定的工作负载进行调度。
然而,当多元算力核心融合更多的异构算力单元,在这些算力单元内部存在指令集强相关的部分,核心间的指令集差别比较大,很难实现多种指令集架构核心协同计算。由此可见,相关技术中的多元算力融合方案,存在算力的可扩展性差的问题。
发明内容
本申请实施例提供了一种服务器系统、服务器系统的资源调度方法、芯片及芯粒,以至少解决相关技术中的多元算力融合方案存在算力的可扩展性差的问题。
根据本申请实施例的一个方面,提供了一种服务器系统,包括:多元计算资源池、数据存储资源池、交换模块和控制模块,其中,所述多元计算资源池包括通用计算资源池和异构计算资源池,其中,所述通用计算资源池包括一组通用计算单元,所述异构计算资源池包括一组异构计算单元,所述多元计算资源池通过所述服务器系统内部的缓存一致性总线经由所述交换模块与所述数据存储资源池相连;所述数据存储资源池中包含允许被所述多元计算资源池中的多元计算资源所共享的数据存储资源,其中,所述多元计算资源池中的多元计算资源包括所述通用计算资源池中的通用计算单元和所述异构计算资源池中的异构计算单元;所述控制模块,用于对所述多元计算资源池中的多元计算资源进行算力调度、以及将所述数据存储资源池中的数据存储资源动态调配给所述多元计算资源池中的多元计算资源。
根据本申请实施例的另一个方面,还提供了一种服务器系统的资源调度方法,包括:所述服务器系统包括:多元计算资源池、数据存储资源池、交换模块和控制模块,其中,所述多元计算资源池包括通用计算资源池和异构计算资源池,其中,所述通用计算资源池包括一组通用计算单元,所述异构计算资源池包括一组异构计算单元,所述多元计算资源池通过所述服务器系统内部的缓存一致性总线经由所述交换模块与所述数据存储资源池相连;所述数据存储资源池中包含允许被所述多元计算资源池中的多元计算资源所共享的数据存储资源,其中,所述多元计算资源池中的多元计算资源包括所述通用计算资源池中的通用计算单元和所述异构计算资源池中的异构计算单元;所述方法包括:通过所述控制模块对所述多元计算资源池中的多元计算资源进行算力调度、以及将所述数据存储资源池中的数据存储资源动态调配给所述多元计算资源池中的多元计算资源。
根据本申请实施例的又一个方面,提供了一种芯片,包括:通过所述芯片的片上缓存一致性总线进行互连的多元计算资源、片上内存和控制核心,其中,所述多元计算资源包括通用计算资源和异构计算资源,所述通用计算资源包括一组通用处理器,所述异构计算资源包括一组异构加速处理器;所述片上内存允许被所述通用计算资源中的通用处理器和所述异构计算资源中的异构加速处理器所共享;所述控制核心,用于对所述通用计算资源中的通用处理器和所述异构计算资源中的异构加速处理器进行算力调度。
根据本申请实施例的又一个方面,提供一种芯粒,通过所述芯粒内的片内缓存一致性总线进行互连的一组核心和内存控制器,其中,所述一组核心包括控制核心和多元处理器核心,其中,所述多元处理器核心包括一组通用处理器核心和一组异构加速处理器核心,所述一组核心中的核心具有私有缓存,并共享指定缓存、以及通过所述内存控制器所控制的内存;所述控制核心,用于对所述一组通用处理器核心中的通用处理器核心和所述异构加速处理器核心中的异构加速处理器核心进行算力调度。
通过本申请,以服务器内部缓存一致性总线互连和交换为核心,对算力和资源进行池化,并且,将多元计算单元和系统资源进行硬件解耦(交换模块和控制模块等可以按需进行更换)和弹性组合,服务器系统包括:多元计算资源池、数据存储资源池、交换模块和控制模块,多元计算资源池包括通用计算资源池和异构计算资源池,通用计算资源池包括一组通用计算单元,异构计算资源池包括一组异构计算单元,多元计算资源池通过服务器系统内部的缓存一致性总线经由交换模块与数据存储资源池相连;数据存储资源池中包含允许被多元计算资源池中的多元计算资源池(如通用计算单元、异构计算单元)所共享的数据存储资源;同时,通过控制模块对多元计算资源池中的多元计算资源进行算力调度、以及将数据存储资源池中的数据存储资源动态调配给多元计算资源池中的多元计算资源,由于通过服务器系统内部的缓存一致性总线经由交换模块实现多元算力协同,同时可以借助交换模块的扩展能力,进行算力的扩展,可以达到提高算力可扩展性的技术效果,从而解决相关技术中的多元算力融合方案存在算力的可扩展性差的问题,达到提高算力可扩展性的技术效果。
附图说明
图1是根据本申请实施例的一种可选的服务器设备的硬件结构框图。
图2是根据本申请实施例的一种可选的服务器系统的结构框图。
图3是根据本申请实施例的另一种可选的服务器系统的结构框图。
图4是根据本申请实施例的一种可选的一机多芯系统内存解耦与池化的示意图。
图5是根据本申请实施例的一种可选的一机多芯系统多主机共享存储资源池化的示意图。
图6是根据本申请实施例的一种可选的一机多芯系统顶层架构的示意图。
图7是根据本申请实施例的一种可选的一机多芯单节点服务器的示意图。
图8是根据本申请实施例的一种可选的多芯计算模块的示意图。
图9是根据本申请实施例的一种可选的一机多芯标准化接口的示意图。
图10是根据本申请实施例的一种可选的一机多芯多节点模块化服务器的示意图。
图11是根据本申请实施例的一种可选的系统级一机多芯融合架构服务器的示意图。
图12是根据本申请实施例的一种可选的内存资源池顶层架构的示意图。
图13是根据本申请实施例的一种可选的CXL总线交换单元的示意图。
图14是根据本申请实施例的一种可选的内存资源管理引擎的示意图。
图15是根据本申请实施例的一种资源管理模块资产信息展示与管理模块的示意图。
图16是根据本申请实施例的一种管理系统动态分配和调度资源的示意图。
图17是根据本申请实施例的一种可选的管理控制系统的示意图。
图18是根据本申请实施例的一种可选的管理软件的示意图。
图19是根据本申请实施例的一种可选的一机多芯系统融合管理的示意图。
图20是根据本申请实施例的一种可选的多核处理器DVFS电压调节方式的示意图。
图21是根据本申请实施例的一种可选的多层次功耗管理机制的示意图。
图22是根据本申请实施例的一种可选的一机多芯多核协同和统一调度操作系统架构的示意图。
图23是根据本申请实施例的一种可选的一机多芯系统资源调度设计方案的示意图。
图24是根据本申请实施例的一种可选的一机多芯系统资源调度分配流程的示意图。
图25是根据本申请实施例的一种可选的二维网格状结构的示意图。
图26是根据本申请实施例的一种可选的三维网格状结构的示意图。
图27是根据本申请实施例的一种可选的服务器系统的资源调度方法的流程示意图。
图28是根据本申请实施例的一种可选的芯片的结构框图。
图29是根据本申请实施例的另一种可选的芯片的结构框图。
图30是根据本申请实施例的一种可选的芯粒的结构框图。
图31是根据本申请实施例的另一种可选的芯粒的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
作为数字经济发展的新一代生产力,算力可以为推动各行各业数字化转型注入新动能。算力是指计算机设备或计算/数据中心处理信息的能力,更广义上讲,其可以指计算资源,例如通用算力、异构算力等,这里,通用算力可以是CPU(Central Processing Unit,中央处理器),而异构算力可以是GPU(Graphics Processing Unit,图形处理单元)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application SpecificIntegrated Circuit,应用特定集成电路)等。
随着云计算、人工智能、大数据等数字经济核心技术应用的加速发展,新场景和新需求不断涌现,推动算力规模和应用场景快速增长,计算产业正面临多元化、巨量化、生态离散化的趋势与挑战。多样化的场景需要更高效、更多样、更灵活的算力的支撑,但是目前从芯片到算力的转化依然存在巨大鸿沟,多元算力(例如,前述通用算力、异构算力等)价值未得到充分释放。面对多元算力的挑战,共建算力产业体系,释放多元算力价值,是新型算力基础设施建设的重要技术方向。
不同算力平台的技术方案、系统架构、软件平台、硬件设备、服务保障存在很大差异。例如,X86架构是数据中心的主流CPU架构,生态完善,应用复杂指令集,适合重负载业务的复杂基础设施环境,但日趋复杂的指令系统使得CPU效率和通用性下降,系统复杂性增加。例如,ARM架构(一种微处理器架构)CPU单位面积内核心数更多,适合低功耗、高并发计算业务(如云游戏、分布式数据库、容器化部署、分布式存储等)。又例如,Power(Performance Optimization With Enhanced Reduced Instruction Set Computing,以加强的精简指令集计算实现性能优化)架构在高端服务器领域具有性能优势,在软硬件可靠性、可用性、可维护性上技术领先,适合高性能计算等关键主机业务场景。
针对CPU平台的特点及多样化应用场景,在硬件设计层面,当前的应对措施主要是定制不同规格、不同型号的服务器。然而各平台CPU会迭代发展多代,并且每一代CPU有单路、双路、四路等多种产品形态,有多种配置的内存、存储、异构加速器、管理器件设计,平台设计组合繁多。硬件紧耦合的设计方式给数据中心的资源利用、管理和运维带来诸多困难,导致能耗浪费、升级扩容成本高等问题,影响系统性能充分释放。
在另一方面,随着人工智能和大数据等计算机应用的发展,其对算力的需求迅猛增长,通用CPU在海量处理计算、海量数据/图片时遇到越来越多的性能瓶颈,如计算并行度不高、带宽低、延时过高等,传统以CPU为计算核心的服务器架构已无法满足当今的需求,因此新一代服务器架构的设计面临着全新的挑战。为了高效处理各种计算任务,不同类型的异构加速处理器如GPU、FPGA、ASIC等应运而生。计算架构正逐渐突破以CPU为中心的架构体系,“CPU+异构加速器”的异构计算架构成为当今人工智能、高性能计算等场景下的主流服务器架构。不同的异构加速处理器各有特点,适配于不同的计算模型,其中CPU+GPU的组合更加适合通用场景,是目前的主流选择,CPU+ASIC/FPGA的组合方式因其在推理训练等专用场景中的优异表现而同步发展,呈现百花齐放的态势。
然而,当前异构计算加速芯片面临硬件系统接口、互连协议不统一,软件生态互不兼容的挑战,严重制约了异构算力基础设施的部署和应用开发,多元算力从“能用”到“好用”并创造价值,还需要持续不断进行创新。
为了提高系统算力,相关技术中采用的是同构多核设计,通过多核并行运算满足算力要求,但是同构多核在多元化需求场景下没有优势。面对多元化应用场景和异构算力日益增长的需求,部分处理器实现了同指令集的异构多核(多核有不同寄存器类型,寄存器数量,寄存器描述等),多核通过动态共享单元实现多核的数据流监控、性能监控、延时和带宽调优、电源管理等功能,任务调度器根据每个任务的性能需求以及核的处理能力,对该任务使用的处理器进行静态调度或者动态调度分配。但是这些芯片仍然是拥有同一套指令集的相似的核心架构,无法满足多元异构和不同指令集架构核心(处理器核心)协同工作场景的需求。
在多元异构融合方面,相关技术中通常采用通用处理器(CPU)作为通用处理单元和调度核心,异构加速器核心作为从核实现面向特定应用的加速计算。这些异构融合处理器采用主从的工作模式,异构算力从核具有相同架构,通过统一的操作系统,对给定的工作负载进行调度,可以优化计算性能和效能。但是当多元算力核心融合更多的异构算力单元,如不同厂商的GPU、FPGA、ASIC领域专用加速等,在这些计算芯片内部存在指令集强相关的部分,核心间的指令集差别比较大,很难实现多种指令集架构核心协同计算。
此外,相关技术中领域/场景越来越碎片化,不同厂商的异构处理器的引擎架构越来越多,也需要构建高效的、标准的、开放的生态体系,充分协同利用多元异构计算和多指令集处理器,满足多样化应用需求,提高系统效能。
为了至少部分解决上述技术问题,在本实施例中,以应用为导向,以系统架构设计为核心,通过“系统-部件-芯片-软件”多层次协同设计,提供了高性能、高效能的服务器,实现对多元算力的统一管理和调度,充分发挥出多元化算力的体系优势,使得算力好用和易用,可以推动人工智能技术普及应用,加快算力发展。这里,通过上述多层次协同设计,可以通过一机多芯的设计来实现多芯计算融合架构,这里,多芯可以是指多个芯片,一机多芯是指一个服务器主机多个芯片。
根据本申请实施例的一个方面,提供了一种服务器系统,该服务器系统可以与服务器设备对应。图1是根据本申请实施例的一种可选的服务器设备的硬件结构框图。如图1,服务器设备可以包括一个或多个(图1中仅示出一个)处理器101(处理器101可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器102,其中,上述服务器设备还可以包括用于通信功能的传输设备103以及输入输出设备104。本领域普通技术人员可以理解,图1的结构仅为示意,其并不对上述服务器设备的结构造成限定。例如,服务器设备还可包括比图1中更多或者更少的组件,或者具有与图1不同的配置。
存储器102可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的服务器系统的资源调度方法对应的计算机程序,处理器101通过运行存储在存储器102内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备103用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应方提供的无线网络。在一个实例中,传输设备103包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备103可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例中的服务器系统可以如图2,该服务器系统可以包括:多元计算资源池201、数据存储资源池202、交换模块203和控制模块204。
这里,多元计算资源池201通过服务器系统内部的缓存一致性总线(内部总线)经由交换模块203与数据存储资源池202相连。多元计算资源池201包括通用计算资源池和异构计算资源池,该通用计算资源池包括一组通用计算单元,该异构计算资源池包括一组异构计算单元。可选地,多元计算资源池中的通用计算单元可以为中央处理器(CPU),多元计算资源池中的异构计算单元可以包括以下至少之一:图形处理单元(GPU),现场可编程门阵列(FPGA),应用特定集成电路(ASIC),还可以是其他类型的通用计算单元或者异构计算单元。其中,缓存一致性总线(Cache Coherence Bus)是一种特殊的硬件机制,通过服务器内部缓存一致性总线,可以在多处理器系统中维护各个处理器核心的缓存数据一致性。
数据存储资源池202中包含允许被多元计算资源池201中的多元计算资源所共享的数据存储资源,数据存储资源可以是用于进行数据存储的系统资源,可以是共享内存、存储设备等,还可以是其他的能够进行数据存储的系统资源。除了数据存储资源池201中的数据存储资源以外,对于多元计算资源池201中的多元计算资源,其可以包含私有数据存储资源,例如,私有缓存等,本实施例中对此不做限定。这里,多元计算资源池201中的多元计算资源可以包括:通用计算资源池中的通用计算单元,异构计算资源池中的异构计算单元。
控制模块204,用于对多元计算资源池201中的多元计算资源进行算力调度、以及将数据存储资源池202中的数据存储资源动态调配给多元计算资源池201中的多元计算资源。这里,交换模块203和控制模块204可以是通过板级解耦方式(是指在印刷电路板的层面上所采取的解耦方式,这里的印制电路板可以是服务器主板)对服务器主机进行模块化设计得到的,其可以包括一个或多个控制器,例如,管理控制器。对应地,多元计算资源池201可以被集成为多元计算模块,而数据存储资源池202可以被集成为数据存储模块,通过上述模块化设计,可以实现异构算力的硬件解耦;通过开放的一致性互连、交换实现多元算力协同;而异构核心共享如数据存储资源等系统资源,实现算力和资源池化。需要说明的是,资源模块解耦是通过物理形式进行实现,各个模块可以单独按需更换。传统的服务器都是设计成一体的,不能实现解耦。
交换模块203可以包括一组交换单元,交换单元可以包括一个或多个交换芯片。不同类型的数据存储资源或者其他系统资源,可以采用不同的交换单元与多元计算资源池201相连。例如,数据存储资源池202中的数据存储资源为CXL(Compute Express Link,计算快速链路)内存,对应的交换芯片可以是CXL交换芯片。
需要说明的是,通过服务器系统内部的缓存一致性总线经由交换模块203实现多元算力协同,同时可以借助交换模块203的扩展能力,进行算力的扩展,可以达到提高算力可扩展性的技术效果。多元计算模块。控制模块进行算力调度所调度的可以是通用计算单元和异构计算单元中的至少之一,而数据存储资源动态调配给的多元计算资源可以是通用计算单元和异构计算单元中的至少之一。
通过本实施例中的服务器系统,服务器系统包括:多元计算资源池、数据存储资源池、交换模块和控制模块,其中,多元计算资源池包括通用计算资源池和异构计算资源池,其中,通用计算资源池包括一组通用计算单元,异构计算资源池包括一组异构计算单元,多元计算资源池通过服务器系统内部的缓存一致性总线经由交换模块与数据存储资源池相连;数据存储资源池中包含允许被多元计算资源池中的多元计算资源所共享的数据存储资源,其中,多元计算资源池中的多元计算资源包括通用计算资源池中的通用计算单元和异构计算资源池中的异构计算单元;控制模块,用于对多元计算资源池中的多元计算资源进行算力调度、以及将数据存储资源池中的数据存储资源动态调配给多元计算资源池中的多元计算资源,解决了相关技术中的多元算力融合方案存在算力的可扩展性差的问题,提高了算力的可扩展性。
在一些示例性实施例中,如图3所示,服务器系统还包括:I/O(Input/Output,输入输出)设备模块301,其中,I/O设备模块301通过服务器系统内部的缓存一致性总线经由交换模块203与多元计算资源池201相连,I/O设备模块也称I/O模块。
数据存储资源池201可以包括内存资源池和存储资源池,内存资源池可以包括一组共享内存,而存储资源池可以包括一组存储设备。内存资源池被集成为内存模块,存储资源池被集成为存储设备模块,这里的交换模块203、I/O设备模块301、内存模块和存储设备模块可以均为硬件模块,不同的硬件模块可以通过对应的接口(可以是标准化定义的接口)与其他模块相连。通过标准化接口后,资源模块解耦可以通过物理形式进行实现,各个模块可以更便捷单独按需更换。
多元计算资源池可以被集成为多元计算模块,该多元计算模块可以是多芯计算模块,多芯计算模块可以是包含多个芯片的计算模块。多芯计算模块内部可以仅保留核心部件(例如,服务器主板上的CPU等处理器和内存可以作为核心组成多芯计算模块)。多芯计算模块可更换为不同处理器平台,也可兼容单路和双路等不同系统。
可选地,多元计算模块可以通过一组预设接口与服务器系统中除了多元计算模块以外的其他模块进行连接,其他模块包括以下至少之一:交换模块,控制模块,与不同的模块进行连接所使用的预设接口可以是相同的,也可以是不同的。
例如,一机多芯系统设计整体架构如图4所示,实现异构算力的硬件解耦;通过开放的一致性互连、交换实现多元算力协同;异构核心共享内存、共享I/O资源,实现算力和资源池化;设计管理调度单元(前述控制模块的示例)实现系统启动和资源按需动态调度,设计系统管理单元实现整系统资源、拓扑、电源和功耗管理、状态监控等管理功能。在软件层面,形成底层硬件强相关的驱动和编程接口统一框架,并在操作系统层面实现异构核心kernel间通信,使得操作系统在不同ISA(Instruction Set Architecture,指令集架构)核心运行实例下依然拥有全局状态;上层应用对底层硬件无感知,应用可以自动选择最优映射,进行算力调配。这里,在图4中,多芯计算模块可以包括多个计算单元(可以包括通用计算单元,也可以包括异构计算单元),交换模块可以包括多个交换单元,计算单元和交换单元之间通过缓存一致性总线(内部总线)相连,而内存模块(全局内存模块)包括一组共享内存(细粒度共享内存),共享内存通过内存控制器经由缓存一致性总线与交换单元相连。
在系统层面,内存是计算机系统核心部件,内存容量与带宽直接影响系统计算性能,目前,计算机系统本地内存受到并行总线和系统空间限制,无法实现按需扩容与动态调配,导致内存带宽和容量的扩展无法匹配CPU核心数快速增长的需求。随着串行缓存一致性总线的出现,给多芯共享内存提供了低延时的访问路径以及缓存一致性保证。系统级共享内存,可基于串行缓存一致性总线及其高性能交换,实现低延时、高带宽、高容量内存资源远端扩展与物理池化,通过软件定义实现远端内存动态分配和细粒度地址空间共享,并通过软硬件适配和优化满足多样化算力对共享内存的需求,减少不同计算平台业务迁移的损耗,提高整体计算效能,如图5所示。
在系统级存储层面,目前的主机系统性能扩展受限于系统互连带宽,各级存储之间的性能不匹配,I/O资源利用率低,一机多芯系统实现存储设备资源解耦,通过内部总线高性能交换和软件定义系统设计实现存储设备资源池化,解除存储设备与计算单元之间物理链路层面的绑定关系,可灵活调整交换网络的端口配置和资源分配路径,细粒度划分共享资源池,实现存储设备资源的按需弹性分配和多主机共享,如图6所示。在图6中,通用计算模块中的CPU可以是来自不同平台的CPU,交换模块中可以包括一组交换芯片(Switch,即,SW),共享内存与内存控制器(Mem.Ctrl)可以采用DDR(Double Data Rate,双倍数据速率)技术相连。
通过本实施例,通过对多元计算资源、内存资源和存储设备资源等进行模块化设计,同时,多元计算模块通过标准接口与其他模块进行连接,可以提高多元计算资源在不同平台之间的可迁移性,同时提高服务器系统构建的灵活性。
在一些示例性实施例中,服务器系统还包括:散热模块,用于对服务器系统中的至少部分设备进行散热;供电模块,用于为服务器系统进行供电;网络模块,用于进行服务器系统的网络连接。
为了提供提高服务器运行的安全性,服务器系统还包括:散热模块,用于对服务器系统中的至少部分设备进行散热。为了保证服务器系统的正常运行,服务器系统还包括:供电模块,用于为服务器系统进行供电。为了使得服务器系统能够联网,服务器系统还包括:网络模块,用于进行服务器系统的网络连接。对应地,上述的其他模块还包括以下至少之一:散热模块,供电模块,网络模块。
这里,散热模块可以是散热风扇,这里,服务器系统可以包括基板管理控制器,这里的散热风扇可以是插入到基板管理控制器上的智能外设。前述的服务器系统中的至少部分模块可以是位于基板管理控制器上的。
例如,如图7所示,对于一机多芯单节点服务器解耦设计,通过多芯计算模块、存储模块(存储设备模块)、管理模块(可以是前述控制模块,也可以是与控制模块不同的另一模块)、I/O设备模块等板级解耦方式实现服务器主机模块化设计。不同模块之间进行标准化设计与互连,通过多芯计算模块的更换实现不同处理器平台的灵活切换,实现主机系统按需设计、异步升级、敏捷交付。多芯计算模块的示意如图8所示,其可以适配多种处理器平台(也即,计算平台、CPU平台),这里,服务器主板上的CPU和内存可以作为核心组成多芯计算模块,CPU可以是X86、ARM、MIPS(Microprocessor without interlocked piped stages,无内部互锁流水级的微处理器)、Power等不同的CPU平台;多芯计算模块对外提供PCIe(Peripheral Component Interconnect express,一种高速串行计算机扩展总线标准)/CXL、供电、管理等标准接口,与图7中的单节点服务器各单元进行连接。
这里,单节点服务器异步升级的方式可以是更换存储设备模块、多芯计算模块、散热模块、管理模块、I/O设备模块等。经过标准化定义后,相比于已有服务器,一机多芯系统架构可以实现硬件的解耦设计,可以通过更换各单元实现异步升级和按需设计。
对于一机多芯弹性架构,通过硬件解耦和标准化接口定义,实现异构计算单元与存储资源(存储设备资源)、I/O资源(I/O设备资源)、内存资源的模块化设计,通过统一的管理、网络、供电和散热组成主机系统,软件定义系统设计灵活提供多元算力。其标准定义顶层架构如图9所示,MPPM(Multi-platform Processing Module,多芯计算模块)通过标准接口与以下模块进行一致性互连:SDM(Storage Device Module,存储设备模块),IODM(I/ODevice Module,IO设备模块),GMM(Global Memory Module,全局内存模块),并通过SM(Switching Module,交换模块)实现资源的共享与动态调配。
此外,如图9所示,UCM(Unified Management Module,统一控制模块)负责多元算力核心调度与协同。整个系统通过UNM(Unified Network Module,统一网络模块),UMM(Unified Management Module,统一管理模块),UPM(Unified Power Module,统一供电模块)和UTM(Unified Thermal Module,统一散热模块)等基础模块进行系统级融合,整体实现系统级一机多芯系统架构。
参见图9,多芯计算模块与各模块进行连接所使用的接口分别为:SDMI(StorageDevice Module Interface,存储设备模块接口),IODMI(I/O Device Module Interface,I/O设备模块接口),GMMI(Global Memory Module Interface,全局内存模块接口),UCMI(Unified Management Module Interface,统一控制模块接口),UMMI(UnifiedManagement Module Interface,统一管理模块接口),UNMI(Unified Network ModuleInterface,统一网络模块接口)。
这里,一机多芯设计在服务器系统架构层面将多元计算模块和系统资源进行硬件解耦和弹性组合,通过标准化接口定义和系统统一管理实现底层硬件差异化设计与集成。系统设计以高性能服务器内部缓存一致性总线互连和交换为核心,通过软件定义系统设计实现多元算力协同计算和资源按需调配,通过操作系统和软件协同创新实现多元算力融合和负载均衡。通过软硬件协同设计,实现芯片、部件、系统、软件融合和高效协同工作。面向算力异构多元化的特点,一机多芯系统可以快速、高效地组合多元算力,灵活适配调优,充分发挥多元算力优势;实现在关键器件和部件性能受限的条件下,通过系统架构的创新提高系统性能,缓解数据中心瓶颈问题。上述方案可以发散至数据中心级多元异构融合模块化设计中。
需要说明的是,交换模块可以是PCIe/CXL等服务器内部总线交换模块,用于CPU资源的扩展;统一控制模块负责多元算力核心调度与协同,其与前述的管理调度单元是一致的,统一控制模块为标准化定义。
通过本实施例,多元计算模块通过标准接口与散热模块、供电模块和网络模块进行连接,可以保证多元计算模块的正常运行,提高多元计算模块运行的安全性以及联网功能。
在一些示例性实施例中,多元计算模块的数量为多个,多个多元计算模块与服务器系统的主机进行插卡式连接,不同的多元计算模块之间通过服务器系统内部的缓存一致性总线进行连接。对应的服务器可以是一机多芯多节点模块化服务器。
一机多芯多节点模块化服务器的示例如图10所示,其具备部署便捷、灵活扩展性、高密度、更高的性能功耗比等优势,多节点模块化服务器形态通过插卡式多芯计算模块适配多种计算平台,通过标准化接口及高速信号背板设计、资源模块解耦、统一的管理与散热进行系统集成。多芯计算模块之间可以通过开放的内部缓存一致性总线维护全局缓存一致性。
一机多芯系统级服务器主机如图11所示,面向多样化应用需求,改变以CPU为中心的设计,通过硬件解耦、一致性高速互连等关键技术,以内部总线交换为核心,解耦重构整机服务器,在系统层面实现多种通用处理器平台与DPU(Data Processing Unit,数据处理单元)、GPU、FPGA等异构加速单元的协同计算,实现大规模计算资源、内存资源、异构加速资源、存储资源的硬件解耦及池化与异步迭代。通过软件定义系统设计,实现算力资源协同动态调度。整系统中的主机与资源池,通过统一管理、散热、供电进行系统集成,形成异构高算力、I/O资源和内存资源可按需拓展,资源灵活调度分配的高性能主机。整系统可在多种应用场景灵活提供多元算力,实现在关键部件、器件受限的条件下,以应用需求为导向,通过系统级架构关键技术创新融合多元算力、提高计算性能。
通过本实施例,多个多元计算模块与服务器系统的主机进行插卡式连接,不同的多元计算模块之间通过服务器系统内部的缓存一致性总线进行连接,可以提高多元计算模块与不同计算平台之间的适配能力,同时提高数据处理的便捷性与可靠性。
在一些示例性实施例中,与前述实施例中类似的,数据存储资源池包括内存资源池和存储资源池,其中,内存资源池包括一组共享内存,存储资源池包括一组存储设备。而控制模块,还用于将内存资源池中的共享内存以及存储资源池中的存储设备动态分配给多元计算资源池中的多元计算资源。
例如,对于一机多芯服务器系统,通过系统解耦设计和标准化定义,实现数据中心多平台多指令集异构核心的算力融合,资源按需灵活调配,系统统一调度与管理,满足多元化场景需求。一机多芯可以作为数据中心算力供给单元的标准,从芯片到系统设计充分释放多元算力价值,支撑大规模数据中心可持续性扩展。
通过本实施例,通过控制模块对内存资源和存储资源进行按需灵活调配,可以满足多元化场景需求。
在一些示例性实施例中,服务器系统还包括内存控制器,一组共享内存是连接到一个或多个内存控制器上的,每个共享内存仅连接到一个内存控制器上。可选地,一组共享内存可以包括一组CXL内存,一组CXL内存为内存控制器所下挂的内存,对应地,交换模块中,通过CXL总线与一组CXL内存所属的内存控制器相连的交换单元为CXL总线交换单元。一组CXL内存进行资源池化得到的是CXL内存池化系统,其是基于CXL总线型网络构建的。面向多场景大内存应用需求,CXL内存池化系统以内部CXL总线交换单元为核心,解耦重构服务器存储架构,实现内存资源重组与异步迭代,最大化扩展系统内存;通过软件定义系统设计,灵活配置调整系统拓扑方案,实现内存资源按需扩展,提升数据中心内存资源利用率,降低数据中心存储机柜空间和能耗占用。CXL内存资源池的顶层架构可以如图12所示。
在图12中,内存资源池单元(即,内存资源池)通过CXL互联总线与CXL总线交换单元相连,CXL总线交换单元通过CXL互联总线与通用计算单元相连,通用计算单元包含CPU核心和私有内存。
可选地,CXL内存池化系统基于CXL2.0 switch(交换机,交换单元的一个示例)设计,实现内存资源的多主机共享与资源灵活分配。通用计算模块可适配多种平台服务器,CXL总线交换模块(如图13)支持CXL2.0协议,对外提供32个高速接口,每个高速接口可以支持32GT/s,x16带宽,支持上下行任意配置。内存资源池模块(即,内存模块)可以支持CXL2.0协议,可对外扩展64根DDR5(DDR 5 Synchronous Dynamic Random Access Memory,双倍数据速率第五代同步动态随机存取存储器) RDIMM(Registered Dual-Inline-Memory-Modules,注册式双列直插内存模块)。所有单元均可以通过CDFP(400 Gigabit Dual-FlexParallel,400吉比特双柔性并行)高速线缆互联。
示例性地,CXL总线交换模块的一组规格可以如下:19寸2U标准机箱,深度:700mm;宽度:435mm;高度:87mm,支持L型托轨上架;单颗CXL Switch 256 lane(逻辑通道或信道),16 X16 port(端口),可配置上下行,整机可支持2颗CXL Switch,可配置为16路上行,16路下行;整机可出32个CDFP x16 port,支持CXL 2.0;使用CPU模块进行带内管理,基板管理控制器进行系统管理;支持2个CRPS(Common Redundant Power Supplies,通用冗余电源)电源,1+1冗余;风扇支持N+2转子冗余,支持热插拔,支持功耗监控;外部线缆:CDFP DAC(Direct Attach Cable,直接连接电缆)线缆互联。
可选地,一组CXL内存被划分为多个内存分区,多个内存分区中的内存分区允许分配给多元计算资源池中的多元计算资源。而交换模块包括:一组CXL交换芯片,其中,多元计算资源池中的多元计算资源通过服务器系统内部的缓存一致性总线经由一组CXL交换芯片与一组CXL内存所属的内存控制器相连。
这里,内存资源池中的内存资源可以是由内存资源管理引擎进行管理的,该内存资源管理引擎属于控制模块或者管理模块。需要说明的是,控制模块或者管理模块可以是服务器上的某个或某些处理器核心,其可以位于基板管理控制器上,也可以独立于基板管理控制器,无论是何种形式或者变形,只要能够符合本实施例中的系统架构即可。
在高效能CXL交换模块中,CXL交换芯片实现内存池化系统的资源解耦,内存资源管理引擎对CXL交换芯片进行统一管理并对外提供交互接口,使得内存资源池中的CXL设备(CXL内存)可以实现统一管理,完成内存资源的识别、管理与动态分配,内存资源管理引擎的整体技术方案的一个示例可以如图14所示。参见图14,内存资源管理引擎可以实现以下功能:内存资源识别与资产信息展示;设备分区与动态分配信息。
对于内存资源识别与资产信息展示,内存资源管理引擎调用专用通信协议接口从CXL交换芯片获取所有内存信息完成内存资源识别,同时上层管理软件提供网络API接口。内存资源管理引擎不仅提供网络API接口,还提供可视化界面,用户通过浏览器访问管理引擎,查看内存资源列表与系统拓扑。可视化界面提供列表展示与图形展示两种展示方式,列表展示主要包括:设备内存资源列表(包括设备资产信息、设备分区信息、设备内存分配关系等),计算单元列表(包括计算单元基本信息、计算单元位置信息、计算单元资源列表等)以及端口资源列表(例如,端口基本属性、端口配置信息、端口预留资源信息等)。图形化展示具体功能如图15所示,图形化界面上展示了主机、交换机、存储器、设备和控制单元之间的连接关系。
内存资源主要包括内存的厂商信息、设备类型、设备分区信息、内存资源的分配状况。在端口资源列表部分,主要包括端口基本属性、端口资源预留状态、端口分配关系。内存资源管理引擎获取并展示内存控制器的信息,主要包括:内存控制器所在的位置;内存控制器所分配的内存资源状况;内存控制器设备链路健康状态。管理引擎通过WEB GUI接口,提供内存资源的图像化展示与管理,用户可以通过拖拽等形式在互联拓扑视图中完成资源的动态分配,设备链路实时监控。
对于设备分区与动态分配信息,内存资源管理引擎通过网络连接到各个内存控制器,与各内存控制器上的资源管理控制器进行互联。各内存控制器上的资源管理软件负责监控本内存控制器的内存资源使用情况,内存资源管理系统引擎负责整系统的内存资源监控和调度,如图16所示。
示例性地,参见图16,某一计算单元(通用计算单元或者异构计算单元)扩展内存处于长期空闲状态可回收到资源池,内存资源管理引擎控制启动扩展内存热移除流程;计算单元扩展内存热移除流程结束,通知管理引擎更新系统状态;内存资源管理引擎分配内存至另一计算单元(通用计算单元或者异构计算单元)并准备热添加流程;计算单元热添加扩展内存流程结束,通知内存资源管理引擎更新系统状态。
设备分区信息即内存资源的划分情况。一个内存控制器可下挂多根内存,同一内存控制器下的所有内存资源可被任意划分为若干区间,即,系统中同一内存控制器下挂的不同内存条可以被分配给同一或不同的计算单元。内存的划分情况可被资源管理系统感知并监控,资源管理系统提供可视化交互调整设备分区。
内存资源的动态分配是指内存资源管理引擎可以动态将内存动态的从某一计算单元迁移至另一计算单元,且整个操作系统保持在线,无需计算单元的重启不会影响到正在运行的业务,且全流程可在管理引擎的WEB界面实时监控。上述功能基于CXL设备的热插拔基本属性,无需内存额外功能支持。
通过本实施例,通过内存控制器下挂CXL内存(CXL设备),多元计算资源池中的多元计算资源通过服务器系统内部的缓存一致性总线经由一组CXL交换芯片与一组CXL内存所属的内存控制器相连,可以提高对CXL内存控制的便捷性。
在一些示例性实施例中,服务器系统还包括:管理模块,其中,管理模块用于进行服务器系统以下至少之一的管理:设备管理,带内管理,带外管理,安全管理,管理模块与控制模块是相同的模块或者不同的模块。管理模块可以是前述的统一管理模块,其与控制模块可以是相同的模块,也可以是不同的模块。
这里,管理模块可以属于管理控制系统,管理控制系统主要负责整机系统的管理控制,从管理层次上看,以高效能CXL交换单元的基板控制器为核心,通过网络管理控制器和高密度内存扩展单元中的基板控制器,实现整机系统集中管理控制,管理控制系统架构如图17所示,管理控制系统包括:通过LAN(Local Area Network,局域网)相连的TOR(Topof Rack,机架顶部)网络交换机,管理控制器、高性能CXL交换单元和高密度内存扩展单元。
管理控制器可以包括:处理器,PCH(Platform Controller Hub,平台控制器集线器) ME(Management Engine,管理引擎),CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件),BIOS(Basic Input/Output System,基本输入输出系统) ROM(Read-Only Memory,只读存储器),基板管理控制器,其中,处理器与PCH ME通过PECI(PlatformEnvironment Control Interface,平台环境式控制接口)总线相连,而BIOS ROM通过SPI(Serial Peripheral Interface,串行外围设备接口)总线与PECI总线和基板管理控制器相连,CPLD通过I2C(Inter-Integrated Circuit,集成电路)总线或JTAG(Joint TestAction Group,联合测试工作组)与基板管理控制器相连,PCH ME通过LPC(Low Pin Count,低引脚数量)、ESPI(Enhanced Serial Peripheral Interface,增强型串行外围设备接口)、VGA(Video Graphics Array,视频图形阵列)或者USB(Universal Serial Bus,通用串行总线)与基板管理控制器相连。
高性能CXL交换单元可以包括:CXL内存交换芯片,CPU和基板管理控制器,其中,CXL内存交换芯片和CPU通过带外管理总线相连,CPU和基板管理控制器通过SGMII(SerialGigabit Media Independent Interface,串行千兆介质独立接口)相连。
高密度内存扩展单元可以包括:内存DIMM/E3,内存控制芯片和基板管理控制器,其中,DIMM(Dual In-line Memory Module,双列直插式内存模块)/E3(ECC,ErrorChecking and Correcting,错误检查与纠正)和内存控制芯片通过DDR或者I2C总线相连,内存控制芯片和基板管理控制器通过I2C总线的DOE(Data Object Exchange,数据对象交换)专用命令接口相连。
其中,管理控制器、高性能CXL交换单元和高密度内存扩展单元的基板管理控制器均可通过带外管理总线与电压传感器、温度传感器、功耗传感器或者其他传感器相连。
管理控制系统主要包括节点管理、内存监控管理和故障诊断等功能模块,软件架构图如图18所示,其中,管理控制器所具备的功能包括健康状态监控、部件故障侦测、运行状态管理、部件故障诊断、资产管理、部件故障上报等,高性能CXL交换单元所具备的功能包括整机拓扑发现、内存资源拓扑、散热管理、整机运行状态管理、内存资产管理、日志管理、整机系统健康状态监控、总体内存故障管理、固件管理等,高密度内存扩展单元所具备的功能包括内存在位监控、内存故障侦测、内存传感器监控、内存故障诊断、内存资产信息监控、内存故障上报等。
其中,对于节点管理,内存池化存储服务器系统整机框架下,管理模块之间通过以太网进行互联,高性能CXL交换模块的基板管理控制器统筹监控上游控制器及下游内存扩展单元,实现整机拓扑发现、节点运行状态、整机系统健康状态监控。
对于内存监控管理,基板管理控制器通过带外管理总线向内存控制器发送DOE专用命令接口,获取每根内存的在位、资产信息、传感器及故障诊断信息,形成池化内存的整体资源拓扑。设计可视化页面,集中展示整体内存池资源状态,包括所有内存的监控状态和资源分配利用情况。
对于池化内存故障诊断,与传统本地内存不同,扩展内存通过CXL内存控制器与主机解耦,CXL内存控制器作为内存读写的主控单元掌握了基于ECC的内存纠错信息,基板控制器与CXL内存控制器建立专用的DOE通信协议,收集内存故障信息,实现内存条级的精确故障侦测。
通过本实施例,将管理、安全和控制功能从计算单元分离,可以兼容不同的算力平台和管理平台,提多元计算模块的兼容性。
在一些示例性实施例中,与前述实施例中类似的,服务器系统还包括:输入输出设备模块,其中,输入输出设备模块通过服务器系统内部的缓存一致性总线经由交换模块与多元计算资源池相连;散热模块,用于对服务器系统中的至少部分设备进行散热;供电模块,用于为服务器系统进行供电;网络模块,用于进行服务器系统的网络连接。已经进行过说明的,在此不做赘述。
可选地,管理模块支持多套接口对不同的模块进行管理。对应地,多元计算资源池中的多元计算资源、内存资源池中的共享内存、存储资源池中的存储设备、交换模块、输入输出设备模块、散热模块、供电模块以及网络模块分别通过以下至少之一的总线连接到管理模块上对应的接口:系统管理总线,电源管理总线,高速外围组件互连总线,计算快速链路总线,通用异步收发器总线,集成电路总线,串行外围设备接口总线。
例如,在管理方面,如图19所示,一机多芯系统设计可以将计算单元和管理模块进行解耦合,并进行标准化定义,将管理、安全和控制功能从计算单元分离。这样可以兼容不同的算力平台和管理平台,支持多套接口多芯统一管理,满足不同应用场景需求。各个模块可通过以下至少之一的总线与统一管理模块相连:SMBUS(System Management Bus,系统管理总线),PMBUS(Power Management Bus,电源管理总线),PCIe总线,CXL总线,UART(Universal Asynchronous Receiver/Transmitter,通用异步接收/发送器)总线,I2C总线,SPI总线。
通过本实施例,管理模块支持多套接口对不同的模块进行管理(即,支持多套接口多芯统一管理),可以满足不同应用场景需求。
在一些示例性实施例中,管理模块可以用于执行多种管理功能,可以包括但不限于以下至少之一:对服务器系统进行拓扑识别,得到服务器系统的系统拓扑信息,其中,系统拓扑信息包括服务器系统中的系统节点的节点参考信息,服务器系统中的系统节点与服务器系统中的系统设备对应,节点参考信息包括以下至少之一:节点类型,上电状态,健康状况;对服务器系统的系统设备的设备资产信息进行管理;对服务器系统的系统设备进行上下电控制,以使服务器系统的系统设备按预设顺序进行上下电;在服务器系统上电或者服务器系统的主机重启的过程中,自动检测复位信号进行系统复位。
这里,管理模块可以实现算力分配与管理,多芯计算模块的电压调节和功耗管理,保证系统高效能设计;实现资源利用率、I/O吞吐量、资源健康状态的监控,实现协同上下电、资源和拓扑的集中管理,保障系统可用性;实现硬件资源按需快速部署和自动管理、资源关键信息监控与故障管理,故障智能化定位与恢复,保障计算系统可靠性。
关于功耗管理,基于对电压和频率调节的DVFS(dynamic voltage frequencyscaling,动态电压频率调节)技术在处理器及其系统的功耗管理设计中成为主流。DVFS的基本工作原理是通过监控处理器的工作负载判断其对计算能力的不同要求,根据预设控制策略动态的调整各个处理器中各个模块工作的电压和频率,在保证性能的同时,降低电压和频率,从而达到减少处理器功耗的目的。
图20为三种多核处理器DVFS电压调节方式。分别为片外调节,片上全局调节和片上独控调节。片外调节技术电源转换效率较高,稳定的时间较长,通常有几十微秒,调节效率较低。片内调节可以把电压稳定时间缩短到几十到几百纳秒,但是片内调节需要把电压调节模块集成在处理器内部,增大了芯片面积,提高了设计复杂性。随着多核处理器核心数量的增加以及异构核心集成技术的发展,各个核心独立控制所带来的芯片面积开销大并且设计难度逐渐增大,因此在独控与全控基础上又提出了分区控制调节技术。分区控制调节是将多核处理器内部划分为多个区域,各个区域执行同一种电压和频率调控策略,以达到设计开销和功耗的平衡。
对于系统级功耗管理则通常需要使用软硬件协同的方法搭建多层次功耗管理机制,如图21所示。系统级多层次功耗管理可以分为高效能基础设施设计与支撑技术、低功耗编译技术以及细粒度功耗运行管理三个层次:高效能基础设施设计与支撑技术是指在系统级硬件层面,除在各类处理器芯片中部署DVFS等节能技术外还需要从系统功耗整体出发对供电和散热模块进行节能设计,使其始终运行在高转化效率,实现高效电能变换和高效散热;低功耗编译优化管理是在处理器的底层操作层面上的能耗优化,通过优化指令的编译,降低处理器的取指令和译码能耗;细粒度功耗管理是从软件层面利用操作系统的细粒度资源分配、释放和加载机制,感知各计算单元的工作状态,控制空闲的计算单元进入睡眠,并在需要使用时控制其切换为工作状态,从而实现能耗的控制。
一机多芯系统管理模块可以负责统一管理工作,通过标准化服务接口,对外提供运维能力,实现一体化监控、故障预警、可视化管理等,一机多芯系统融合管理架构如图16。其功能可以包括但不限于以下至少之一:拓扑识别,支持拓扑视图查看,可查看节点概要信息,如节点类型、上电状态、整体健康状态等;资产信息管理,支持逐级查看设备信息,可通过Web(World Wide Web,万维网)/Redfish(红鱼)页面查看设备详细信息,例如,设备资产信息、高速接口连接状态等;协同控制,支持集中上下电控制,各单元按顺序上下电;支持系统复位功能,在上电过程、主机重启过程中自动检测复位信号进行复位;支持资源重新分配后的复位控制等。
通过本实施例,通过管理模块进行拓扑识别、资产信息管理、协同控制等,可以提高管理模块对于服务器系统的管理能力,提高系统的可控性。
在一些示例性实施例中,服务器系统的操作系统包括多个操作系统核心,多个操作系统核心中的操作系统核心与多元计算资源池中的多元计算资源对应,多个操作系统核心中的操作系统核心编译和运行在对应的指令集架构指令集下,服务器系统通过指定系统软件为服务器系统的操作系统中的运行应用进行算力调度。
为了充分发挥异构多核的性能,适应多种应用场景,需要保证应用能够在多核心之间进行自由迁移,但是应用在不同指令集异构多核之间进行迁移是待解决的问题。负载迁移与资源调度在下列场景中应用:操作系统做负载均衡,进程被迁移到静态或者轻负载的核心;根据不同的负载类型,迁移到不同的指令集架构的核心上;功耗状态改变,需要处理一些进程的迁移来实现功耗控制;某核心过热时,迁移进程至其他核心等。
在本实施例中,服务器系统的操作系统(可以是基板管理控制器上的操作系统)包括多个操作系统核心(kernel),多个操作系统核心中的操作系统核心与多元计算资源池中的多元计算资源对应,各操作系统核心编译和运行在对应的ISA指令集下。服务器系统通过指定系统软件为服务器系统的操作系统中的运行应用进行算力调度,指定系统软件所调度的算力是多元计算资源池中的多元计算资源池。这里,整个系统通过统一的系统软件,面向应用实现算力按需均衡调度,可以降低应用在不同的指令集架构的核心上迁移的难度,提高应用在不同的指令集架构的核心上迁移的可能性。
例如,对于一机多芯系统,操作系统包含多kernel,每个kernel编译和运行在特定ISA指令集下,整个系统通过统一的系统软件,面向应用实现算力按需均衡调度。
通过本实施例,服务器系统通过统一的系统软件面向应用实现算力按需均衡调度,可以保证算力调度的合理性,提高应用在不同的指令集架构的核心上迁移的可能性。
在一些示例性实施例中,服务器系统还包括调度核心,指定系统软件用于通过调度核心上的调度系统为服务器系统的操作系统中的运行应用进行算力调度,多个操作系统核心上的操作系统为私有操作系统,多个操作系统核心通过核间通信总线相连,核间通信总线用于多个操作系统核心进行核间通信。
在本实施例中,在操作系统层面,实现多个操作系统核心间通信协同,这样整个系统在不同ISA核心运行实例下,依然拥有全局状态,通过统一的调度核心,并应用响应的调度技术,可以为应用在不同指令集异构多核之间进行迁移提供保证。
例如,参见图22,在操作系统层面,实现kernel间通信协同,这样整个系统在不同ISA核心运行实例下,依然拥有全局状态。在此基础上,通过统一的调度核心,应用先进调度技术,实现应用程序对底层硬件无感知,通过操作系统及调度系统协作使得应用可以自动选择最优映射,实现多指令集异构多核系统性能提升。
通过本实施例,通过统一的调度核心基于应用进行算力调度,可以提高算力调度的合理性和及时性,为应用在不同指令集异构多核之间进行迁移提供保证。
在一些示例性实施例中,在一机多芯系统设计中,系统资源的发现、管理、弹性调整是关键,控制模块作为资源动态调整的核心管理单元,控制高性能交换单元以实现资源拓扑自动发现、资源灵活自动切换,可选功能如下:资源识别与展示,提供网络接口与可视化Web界面进行资源列表与拓扑展示,包括异构计算资源单元信息、I/O端口信息等;资源动态分配,通过设备的热移除、热插入、热复位等技术,实现秒级的异构计算单元的动态分配与调整;负载均衡,基于负载均衡的优化调度算法,动态均衡调配物理资源,实现细粒度存储资源按需调配,最大化释放异构计算算力;专家模板,根据业务需求、资源状态和性能指标等参数,实现对异构算力资源的专家模板描述和动态切换接口,使应用可以依据专家模板申请资源,同时提供网络接口与可视化Web界面实现专家模板的可视化应用。这里,专家模板中描述了资源切换的规则,即,在什么情境下配置多少资源,提前定义好规则,而动态切换接口是指换场景后,系统可以根据专家模板进行动态切换接口。
可选地,控制模块,还用于接收资源调度请求方发送的资源动态调度请求,其中,资源调度请求方为多元计算资源池中的通用计算单元,资源动态调度请求用于请求对指定资源类型的系统资源的资源状态进行调整,指定资源类型的系统资源为以下至少之一:多元计算资源池中的异构计算单元,数据存储资源池中的数据存储资源;响应于接收到的资源动态调度请求,对目标系统资源的资源状态进行调整,其中,目标系统资源的资源类型为指定资源类型。
在本实施例中,控制模块可以对基于接收到的资源动态调度请求进行服务器系统的系统资源的调度。相应地,控制模块,还用于接收资源调度请求方发送的资源动态调度请求。资源调度请求方为多元计算资源池中的一个通用计算单元,资源动态调度请求用于请求对指定资源类型的系统资源的资源状态进行调整,指定资源类型的系统资源为以下至少之一:多元计算资源池中的异构计算单元,数据存储资源池中的数据存储资源。如果资源动态调度请求所请求的是对指定系统资源的资源状态的调整,则资源动态调度请求可以携带有指定系统资源的资源信息(例如,释放指定的系统资源);如果资源动态调度请求所请求的不是对指定系统资源的资源状态的调整,则资源动态调度请求可以携带有指定资源类型的类型信息(例如,申请分配异构计算单元)。这里,服务器系统中的系统资源的资源状态可以包括多种,例如,空闲状态、占用状态等。
可选地,控制模块,还用于响应于接收到的资源动态调度请求,对目标系统资源的资源状态进行调整,其中,目标系统资源的资源类型为指定资源类型,与前述实施例中类似的,目标系统资源可以是资源动态调度请求中所指定的特定系统资源,也可以是在接收到资源动态调度请求之后,基于指定资源类型所确定的系统资源。
通过本实施例,由控制模块基于接收到的资源动态调度请求对特定资源类型的系统资源的资源状态进行调整,可以提高系统资源调度的便捷性。
在一些示例性实施例中,资源动态调度请求为资源分配请求,该资源分配请求用于请求为资源调度请求方分配指定资源类型的系统资源。除了指示指定资源类型以外,还可以指示所请求的系统资源的资源量、系统资源所需满足的其他要求。
对应地,控制模块,还用于响应于接收到的资源分配请求,从服务器系统未分配的指定资源类型的系统资源中,确定出为资源调度请求方分配的系统资源,得到目标系统资源,并将目标系统资源分配给资源调度请求方。这里,未分配的系统资源的资源状态可以为空闲状态,已分配的系统资源的资源状态可以为占用状态。
通过本实施例,通过响应于接收到的资源分配请求为通用计算节点分配特定资源类型的系统资源,可以提高系统资源分配的便捷性。
在一些示例性实施例中,控制模块,还用于向交换模块发送资源配置请求,以在交换模块中配置资源调度请求方和目标系统资源之间的关联关系。
在本实施例中,多元计算资源池中的通用计算单元通过交换模块与数据存储资源池中的数据存储资源、多元计算资源池中的异构计算单元相连,在交换模块中保存有与其相连的通用计算单元以及为通用计算单元分配的系统资源之间的关联关系。在交换模块中保存上述关联关系不仅可以方便进行数据转发,同时也便于管理模块等进行网络拓扑构建等。
为了保证交换模块保存的关联关系的及时性和准确性,控制模块,还用于在将目标系统资源分配给所述资源调度请求方的情况下,向交换模块发送资源配置请求,以在交换模块中配置资源调度请求方和目标系统资源之间的关联关系。
通过本实施例,由控制模块基于所分配的系统资源配置交换模块上对应的关联关系,可以提高信息配置的及时性和准确性。
在一些示例性实施例中,资源动态调度请求可以为资源释放请求,该资源释放请求用于请求释放为资源调度请求方分配的目标系统资源。资源释放请求中可以携带有目标系统资源的资源信息,以便控制模块确定出待释放的目标系统资源,目标系统资源的资源信息可以是目标系统资源的资源标识,也可以是能够标识出目标系统资源的信息。
对应地,控制模块,还用于响应于接收到的资源释放请求,向交换模块发送资源位置获取请求,以获取目标系统资源的资源物理位置。这里,交换模块可以基于其端口所连接的系统资源或者其他信息,确定出目标系统资源的资源物理位置,并将目标系统资源的资源物理位置返回给控制模块。
控制模块,还用于根据获取到的资源物理位置,向目标系统资源发送复位信号,以对目标系统资源进行复位。这里,对目标系统资源进行复位可以包括断开与资源调度请求方的关联关系,还可以包括请求其他无效信息(即,与源调度请求方相关、且与后续的资源分配无关的信息)。
通过本实施例,通过与交换模块交互获取待释放的系统资源的资源物理位置,并基于获取到的资源物理位置进行资源释放,可以提高资源释放的准确性。
在一些示例性实施例中,目标系统资源,还用于响应于接收到的复位信号,在目标系统资源上运行的进程结束之后,执行复位操作,并在复位完成之后,向控制模块发送用于指示目标系统资源复位完成的指示消息。
在本实施例中,对于目标系统资源,在接收到复位信号之后,可以直接执行复位操作,此时,如果存在正在运行的进程,复位操作的执行可以会导致正在运行的进程的中断,从而导致出现系统错误。
为了提高系统运行的安全性和可靠性,目标系统资源可以在其上运行的进程结束之后,执行复位操作,并在复位完成之后,向控制模块发送指示消息,以指示目标系统资源复位完成。复位之后的目标系统资源可以再分配给其他计算单元。
例如,对于一机多芯系统,交换单元是连接多元计算模块和系统资源池的关键基础设施,系统通过控制高性能交换单元实现资源拓扑自动发现、资源灵活调度,并为数据中心监控管理平台(监控管理平台是比前述的管理平台更上一层的、数据中心级别的管理平台)提供标准接口以实现资源集中调度和管理。系统资源调度整体软硬件设计方案如图23所示,得益于高性能交换单元强大的资源扩展能力(交换模块的能力是扩展),以高性能交换单元为核心,实现一机多芯系统服务器系统中多元算力单元和设备的识别与拓扑信息、资产信息的展示。
参见图23,一机多芯系统可以包括:接口层,功能层,驱动层和硬件层,其中,在硬件层,多元计算资源池包括:通用计算单元资源池(即,通用计算资源池)和异构计算单元资源池(即,异构计算资源池),其中,通用计算单元资源池中包括通用计算单元1至n1,异构计算单元资源池中包括异构计算单元1至n2。数据存储资源池包括内存资源池和存储资源池(即,存储设备资源池),其中,内存资源池中包括内存1至内存n3,存储资源池包括存储设备1至存储设备n4。通用计算单元资源池、异构计算单元资源池、内存资源池和存储资源池之间通过交换单元(高性能交换单元)相连。
交换单元通过驱动层的多种接口连接到功能层,多种接口可以包括但不限于:UART总线,I2C总线。功能层可以具备以下至少之一的功能:端口配置,资源识别,资源信息展示,资源信息管理,资源动态分配,负载均衡,故障监控,日志管理。而接口层可以通过Restful(Representational State Transfer,表现层状态转移)、GUI(Graphical UserInterface,图形用户界面”)等API(Application Programming Interface,应用程序编程接口)接口连接上层管理软件、GUI界面等。
这里,系统资源调度分配流程如图24所示,通过系统管理接口实现对通用、异构等多芯计算模块、系统资源进行按需分配、动态伸缩和资源释放等操作。用户可以根据负载需求调用系统资源与算力进行匹配,或者调用异构算力与通用算力进行匹配,在应用停止的时候,用户可以释放资源回到资源池(例如,通过Restful接口或者GUI界面,发送指令,系统进行释放),以便于资源高效流转和充分利用。
参见图24,通用计算单元可以发起资源动态调度请求,例如,释放某异构计算单元或其他系统设备,将其分配至其他计算单元,保证该设备相关进程结束。而统一管理和控制模块,响应于接收到的资源动态调度请求,将该设备热移除,并且,管理模块想交换单元发送请求,获取该设备物理位置,从而确定出设备物理位置。管理单元向该设备发送复位信号,该设备复位完成,向管理模块发送复位完成指示。管理模块可以将复位完成的设备热分配给其他计算单元。
通过本实施例,待释放的系统资源在其上运行的进程结束之后再进行复位,可以保证系统运行的安全性和可靠性。
在一些示例性实施例中,多元计算资源池中的多元计算资源之间的互连拓扑结构可以按照需要进行配置。例如,一机多芯系统的多芯计算模块的互连网络结构在多元计算资源的数量少时可以采用Bus总线结构或者crossbar总线(交叉开关总线)结构,在多元计算资源的数量多时或者考虑到架构后期的扩展性时,可以选用Mesh(网格状结构)结构,即,多元计算资源池中的多元计算资源之间的互连拓扑结构为网格状结构。多元计算资源池中的多元计算资源之间的互连拓扑结构所采用的网格状结构可以由一种或多种,可以包括但不限于以下至少之一:二维网格状结构,三维网格状结构。
作为一种可选的实施方式,多元计算资源池中的多元计算资源之间的互连拓扑结构所采用的网格状结构可以为二维网格状结构(二维Mesh结构),例如,十字网格状结构,十字网格状结构的节点为多元计算资源池中的多元计算资源(例如,处理器核心),十字网格状结构的节点仅与同行或者同列的相邻节点连接。
例如,在十字网格状结构中,代表处理器核心的节点只与其同行或同列的相邻节点连接,这种方法拓扑简单、可扩展性好=、寻径方便,是一种可选的片上互连网络结构。是理性地,Mesh网络结构如图25所示,处理器核心位于网络交叉节点位置。
作为另一种可选的实施方式,多元计算资源池中的多元计算资源之间的互连拓扑结构所采用的网格状结构可以为三维网格状结构,三维网格状结构的节点为多元计算资源池中的多元计算资源,三维网格状结构的节点仅与横向或者纵向的相邻节点连接。
这里,当处理器核心数较多时,二维Mesh结构(例如,上述十字网络结构)中边缘的处理器核心之间相同通信时路径较长,传输延时会大大增加。为改善二维Mesh结构中较远处理器核心节点之间的传输时延,在二维Mesh结构的基础上可拓展出三维Mesh结构,如图26所示。三维Mesh结构甚至是更高维度的Mesh结构能够极大降低Mesh结构的网络直径、降低传输时延。
通过本实施例,多元计算资源池中的多元计算资源之间的互连拓扑结构采用二维网格状结构,可以提高网络拓扑的简要性以及可扩展性,而多元计算资源池中的多元计算资源之间的互连拓扑结构采用三维网格状结构,可以降低网格状结构的网络直径以及降低传输时延。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
根据本实施例中的另一个方面,还提供了一种由前述实施例中的服务器系统执行的服务器系统的资源调度方法,该服务器系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图27是根据本申请实施例的一种可选的服务器系统的资源调度方法的流程示意图,如图27所示,该流程包括如下步骤:步骤S2701,通过控制模块对多元计算资源池中的多元计算资源进行算力调度、以及将数据存储资源池中的数据存储资源动态调配给多元计算资源池中的多元计算资源。服务器系统通过控制模块执行上述步骤的方式可以参考前述实施例,在此不做赘述。
通过上述步骤,通过模块化得到的控制模块对多元计算资源池中的多元计算资源进行算力调度、以及将数据存储资源池中的数据存储资源动态调配给多元计算资源池中的多元计算资源,解决了相关技术中的多元算力融合方案存在算力的可扩展性差的问题,提高了算力可扩展性。
在一些示例性实施例中,通过控制模块对多元计算资源池中的多元计算资源进行算力调度、以及将数据存储资源池中的数据存储资源动态调配给多元计算资源池中的多元计算资源,包括:通过控制模块接收资源调度请求方发送的资源动态调度请求,其中,资源调度请求方为通用计算资源池中的通用计算单元或者异构计算资源池中的异构计算单元,资源动态调度请求用于请求对指定资源类型的系统资源进行调度,指定资源类型的系统资源为以下至少之一:通用计算资源池中的通用计算单元,异构计算资源池中的异构计算单元,数据存储资源池中的数据存储资源;响应于接收到的资源动态调度请求,通过控制模块对目标系统资源进行调度,其中,目标系统资源的资源类型为指定资源类型。
在本实施例中,控制模块对多元计算资源和数据存储资源进行调度可以是基于多元计算资源池中的多元计算资源(例如,通用计算单元)的资源动态调度请求执行的,资源动态调度请求可以是资源分配请求、资源释放请求或者其他能够实现对多元计算资源和数据存储资源中的至少之一进行调度的请求。
控制模块响应于接收到的资源动态调度请求,对目标系统资源进行调度的方式与前述实施例中类似。在资源动态调度请求为资源分配请求或者资源释放请求的情况下的处理流程与前述实施例中类似。在此不做赘述。
通过本实施例,由控制模块基于接收到的资源动态调度请求对特定资源类型的系统资源的资源状态进行调整,可以提高系统资源调度的便捷性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本实施例中的又一个方面,还提供了一种芯片,该芯片可以用于实现前述的服务器系统,例如,前述一机多芯系统,已经进行过说明的不再赘述。
图28是根据本申请实施例的一种可选的芯片的结构框图,如图28所示,该芯片包括多元计算资源2801、片上内存2802和控制核心2803。多元计算资源2801、片上内存2802和控制核心2803通过芯片的片上缓存一致性总线进行互连。
多元计算资源2801包括通用计算资源和异构计算资源,通用计算资源包括一组通用处理器,异构计算资源包括一组异构加速处理器。通用处理器与前述通用计算单元对应,异构加速处理器与前述异构计算单元对应。片上内存2802允许被通用计算资源中的通用处理器和异构计算资源中的异构加速处理器所共享。控制核心2803用于对通用计算资源中的通用处理器和异构计算资源中的异构加速处理器进行算力调度。
可选地,芯片还包括:输入输出设备,其中,输入输出设备允许被多元计算资源中的通用处理器和异构计算资源中的异构加速处理器所共享。通用计算资源中的通用处理器为中央处理器,异构计算资源中的异构加速处理器包括以下至少之一:图形处理单元,现场可编程门阵列,应用特定集成电路。
例如,一机多芯芯片模组设计如图29所示,在微尺度上实现通用计算资源、异构加速计算资源协同,通用计算资源和异构加速计算资源共享片上内存(芯片上的内存),各解耦单元间通过片上一致性互连总线协同运作,实现多芯粒的融合,通过统一的控制核心实现算力调度。
通过本实施例所提供的芯片,该芯片包括:通过芯片的片上缓存一致性总线进行互连的多元计算资源、片上内存和控制核心,其中,多元计算资源包括通用计算资源和异构计算资源,通用计算资源包括一组通用处理器,异构计算资源包括一组异构加速处理器;片上内存允许被通用计算资源中的通用处理器和异构计算资源中的异构加速处理器所共享;控制核心,用于对通用计算资源中的通用处理器和异构计算资源中的异构加速处理器进行算力调度,解决了相关技术中的多元算力融合方案存在算力的可扩展性差的问题,提高了算力可扩展性。
根据本实施例中的又一个方面,还提供了一种芯粒,该芯粒可以用于实现前述的服务器系统,例如,前述一机多芯系统,已经进行过说明的不再赘述。
图30是根据本申请实施例的一种可选的芯粒的结构框图,如图30所示,该芯粒包括一组核心3001和内存控制器3002。一组核心3001和内存控制器3002通过芯粒内的片内缓存一致性总线进行互连。
一组核心3001包括控制核心和多元处理器核心,其中,多元处理器核心包括一组通用处理器核心和一组异构加速处理器核心,一组核心中的核心具有私有缓存(例如,L1级缓存和L2级缓存),并共享指定缓存(例如,L3级缓存)以及通过内存控制器所控制的内存。控制核心,用于对一组通用处理器核心中的通用处理器核心和异构加速处理器核心中的异构加速处理器核心进行算力调度。
可选地,芯粒还包括:I/O控制器,其中,I/O控制器所控制的I/O设备被通用计算资源中的通用处理器和异构计算资源中的异构加速处理器所共享。一组通用处理器核心中的通用处理器核心为中央处理器核心,一组异构加速处理器核心中的异构加速处理器核心包括以下至少之一:图形处理单元核心,现场可编程门阵列核心,应用特定集成电路核心。
需要说明的是,前述实施例中芯片(芯片模组)是以芯片维度进行描述,芯片内部集成不同的计算核心,而芯粒的维度更小,是指芯片内部的芯粒(die)上就进行了多元异构计算核心的集成。一机多芯可以是芯片级的、服务器级的、整机柜级的,一个机柜可以是一台服务器。
例如,一机多芯芯粒设计如图31所示,在芯粒内集成不同的核心,多核心拥有私有缓存,并共享L3级缓存(Cache)、内存和I/O设备。各单元通过芯粒内总线进行连接,可实现多核集群、主从多核、多核协同,统一调度等多种系统运行方式,实现不同业务运行在不同的核心和操作系统上,面向应用需求,最优化系统设计。
通过本实施例所提供的芯粒,该芯粒包括:通过芯粒内的片内缓存一致性总线进行互连的一组核心和内存控制器,其中,一组核心包括控制核心和多元处理器核心,其中,多元处理器核心包括一组通用处理器核心和一组异构加速处理器核心,一组核心中的核心具有私有缓存,并共享指定缓存、以及通过内存控制器所控制的内存;控制核心,用于对一组通用处理器核心中的通用处理器核心和异构加速处理器核心中的异构加速处理器核心进行算力调度,解决了相关技术中的多元算力融合方案存在算力的可扩展性差的问题,提高了算力可扩展性。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (22)

1.一种服务器系统,其特征在于,
包括:多元计算资源池、数据存储资源池、交换模块和控制模块,其中,
所述多元计算资源池包括通用计算资源池和异构计算资源池,其中,所述通用计算资源池包括一组通用计算单元,所述异构计算资源池包括一组异构计算单元,所述多元计算资源池通过所述服务器系统内部的缓存一致性总线经由所述交换模块与所述数据存储资源池相连;
所述数据存储资源池中包含允许被所述多元计算资源池中的多元计算资源所共享的数据存储资源,其中,所述多元计算资源池中的多元计算资源包括所述通用计算资源池中的通用计算单元和所述异构计算资源池中的异构计算单元;
所述控制模块,用于对所述多元计算资源池中的多元计算资源进行算力调度、以及将所述数据存储资源池中的数据存储资源动态调配给所述多元计算资源池中的多元计算资源。
2.根据权利要求1所述的服务器系统,其特征在于,
所述服务器系统还包括:输入输出设备模块,其中,所述输入输出设备模块通过所述服务器系统内部的缓存一致性总线经由所述交换模块与所述多元计算资源池相连;
所述数据存储资源池包括内存资源池和存储资源池,其中,所述内存资源池被集成为内存模块,所述存储资源池被集成为存储设备模块;
所述多元计算资源池被集成为多元计算模块,其中,所述多元计算模块通过一组预设接口与所述服务器系统中除了所述多元计算模块以外的其他模块进行连接,所述其他模块包括以下至少之一:所述交换模块,所述控制模块。
3.根据权利要求2所述的服务器系统,其特征在于,
所述服务器系统还包括:
散热模块,用于对所述服务器系统中的至少部分设备进行散热;
供电模块,用于为所述服务器系统进行供电;
网络模块,用于进行所述服务器系统的网络连接;
其中,所述其他模块还包括以下至少之一:所述散热模块,所述供电模块,所述网络模块。
4.根据权利要求2所述的服务器系统,其特征在于,
所述多元计算模块的数量为多个,多个所述多元计算模块与所述服务器系统的主机进行插卡式连接,不同的所述多元计算模块之间通过所述服务器系统内部的缓存一致性总线进行连接。
5.根据权利要求1所述的服务器系统,其特征在于,
所述数据存储资源池包括内存资源池和存储资源池,其中,所述内存资源池包括一组共享内存,所述存储资源池包括一组存储设备;
所述控制模块,还用于将所述内存资源池中的共享内存以及所述存储资源池中的存储设备动态分配给所述多元计算资源池中的多元计算资源。
6.根据权利要求5所述的服务器系统,其特征在于,
所述服务器系统还包括内存控制器,其中,所述一组共享内存包括一组CXL内存,所述一组CXL内存为所述内存控制器下挂的内存,所述一组CXL内存被划分为多个内存分区,所述多个内存分区中的内存分区允许分配给所述多元计算资源池中的多元计算资源;
所述交换模块包括:一组CXL交换芯片,其中,所述多元计算资源池中的多元计算资源通过所述服务器系统内部的缓存一致性总线经由所述一组CXL交换芯片与所述一组CXL内存所属的内存控制器相连。
7.根据权利要求5所述的服务器系统,其特征在于,
所述服务器系统还包括:
管理模块,其中,所述管理模块用于进行所述服务器系统以下至少之一的管理:设备管理,带内管理,带外管理,安全管理,所述管理模块与所述控制模块是相同的模块或者不同的模块。
8.根据权利要求7所述的服务器系统,其特征在于,
所述服务器系统还包括:
输入输出设备模块,其中,所述输入输出设备模块通过所述服务器系统内部的缓存一致性总线经由所述交换模块与所述多元计算资源池相连;
散热模块,用于对所述服务器系统中的至少部分设备进行散热;
供电模块,用于为所述服务器系统进行供电;
网络模块,用于进行所述服务器系统的网络连接;
其中,所述多元计算资源池中的多元计算资源、所述内存资源池中的共享内存、所述存储资源池中的存储设备、所述交换模块、所述输入输出设备模块、所述散热模块、所述供电模块以及所述网络模块分别通过以下至少之一的总线连接到所述管理模块上对应的接口:系统管理总线,电源管理总线,高速外围组件互连总线,计算快速链路总线,通用异步收发器总线,集成电路总线,串行外围设备接口总线。
9.根据权利要求7所述的服务器系统,其特征在于,
所述管理模块,用于对所述服务器系统进行拓扑识别,得到所述服务器系统的系统拓扑信息,其中,所述系统拓扑信息包括所述服务器系统中的系统节点的节点参考信息,所述服务器系统中的系统节点与所述服务器系统中的系统设备对应,所述节点参考信息包括以下至少之一:节点类型,上电状态,健康状况;对所述服务器系统的系统设备的设备资产信息进行管理;对所述服务器系统的系统设备进行上下电控制,以使所述服务器系统的系统设备按预设顺序进行上下电;在服务器系统上电或者所述服务器系统的主机重启的过程中,自动检测复位信号进行系统复位。
10.根据权利要求1所述的服务器系统,其特征在于,
所述服务器系统的操作系统包括多个操作系统核心,所述多个操作系统核心中的操作系统核心与所述多元计算资源池中的多元计算资源对应,所述多个操作系统核心中的操作系统核心编译和运行在对应的指令集架构指令集下,所述服务器系统通过指定系统软件为所述服务器系统的操作系统中的运行应用进行算力调度,所述指定系统软件所调度的算力为所述多元计算资源池中的多元计算资源。
11.根据权利要求10所述的服务器系统,其特征在于,
所述服务器系统还包括调度核心,所述指定系统软件用于通过所述调度核心上的调度系统为所述服务器系统的操作系统中的运行应用进行算力调度,所述多个操作系统核心上的操作系统为私有操作系统,所述多个操作系统核心通过核间通信总线相连,所述核间通信总线用于所述多个操作系统核心进行核间通信。
12.根据权利要求1所述的服务器系统,其特征在于,
所述控制模块,还用于接收资源调度请求方发送的资源动态调度请求,其中,所述资源调度请求方为所述通用计算资源池中的通用计算单元或者所述异构计算资源池中的异构计算单元,所述资源动态调度请求用于请求对指定资源类型的系统资源进行调度,所述指定资源类型的系统资源为以下至少之一:所述通用计算资源池中的通用计算单元,所述异构计算资源池中的异构计算单元,所述数据存储资源池中的数据存储资源;响应于接收到的所述资源动态调度请求,对目标系统资源进行调度,其中,所述目标系统资源的资源类型为所述指定资源类型。
13.根据权利要求12所述的服务器系统,其特征在于,
所述资源动态调度请求为资源分配请求,其中,所述资源分配请求用于请求为所述资源调度请求方分配所述指定资源类型的系统资源;
所述控制模块,还用于响应于接收到的所述资源分配请求,从所述服务器系统未分配的所述指定资源类型的系统资源中,确定出为所述资源调度请求方分配的系统资源,得到所述目标系统资源,并将所述目标系统资源分配给所述资源调度请求方。
14.根据权利要求13所述的服务器系统,其特征在于,
所述控制模块,还用于向所述交换模块发送资源配置请求,以在所述交换模块中配置所述资源调度请求方和所述目标系统资源之间的关联关系。
15.根据权利要求12所述的服务器系统,其特征在于,
所述资源动态调度请求为资源释放请求,其中,所述资源释放请求用于请求释放为所述资源调度请求方分配的所述目标系统资源;
所述控制模块,还用于响应于接收到的所述资源释放请求,向所述交换模块发送资源位置获取请求,以获取所述目标系统资源的资源物理位置;根据获取到的所述资源物理位置,向所述目标系统资源发送复位信号,以对所述目标系统资源进行复位。
16.根据权利要求15所述的服务器系统,其特征在于,
所述目标系统资源,还用于响应于接收到的所述复位信号,在所述目标系统资源上运行的进程结束之后,执行复位操作,并在复位完成之后,向所述控制模块发送用于指示所述目标系统资源复位完成的指示消息。
17.根据权利要求1所述的服务器系统,其特征在于,
所述多元计算资源池中的多元计算资源之间的互连拓扑结构采用以下至少之一的网格状结构:
十字网格状结构,其中,所述十字网格状结构的节点为所述多元计算资源池中的多元计算资源,所述十字网格状结构的节点仅与同行或者同列的相邻节点连接;
三维网格状结构,其中,所述三维网格状结构的节点为所述多元计算资源池中的多元计算资源,所述三维网格状结构的节点仅与横向或者纵向的相邻节点连接。
18.根据权利要求1至17中任一项所述的服务器系统,其特征在于,
所述多元计算资源池中的通用计算单元为中央处理器,所述多元计算资源池中的异构计算单元包括以下至少之一:图形处理单元,现场可编程门阵列,应用特定集成电路。
19.一种服务器系统的资源调度方法,其特征在于,
所述服务器系统包括:多元计算资源池、数据存储资源池、交换模块和控制模块,其中,所述多元计算资源池包括通用计算资源池和异构计算资源池,其中,所述通用计算资源池包括一组通用计算单元,所述异构计算资源池包括一组异构计算单元,所述多元计算资源池通过所述服务器系统内部的缓存一致性总线经由所述交换模块与所述数据存储资源池相连;所述数据存储资源池中包含允许被所述多元计算资源池中的多元计算资源所共享的数据存储资源,其中,所述多元计算资源池中的多元计算资源包括所述通用计算资源池中的通用计算单元和所述异构计算资源池中的异构计算单元;
所述方法包括:
通过所述控制模块对所述多元计算资源池中的多元计算资源进行算力调度、以及将所述数据存储资源池中的数据存储资源动态调配给所述多元计算资源池中的多元计算资源。
20.根据权利要求19所述的方法,其特征在于,
所述通过所述控制模块对所述多元计算资源池中的多元计算资源进行算力调度、以及将所述数据存储资源池中的数据存储资源动态调配给所述多元计算资源池中的多元计算资源,包括:
通过所述控制模块接收资源调度请求方发送的资源动态调度请求,其中,所述资源调度请求方为所述通用计算资源池中的通用计算单元或者所述异构计算资源池中的异构计算单元,所述资源动态调度请求用于请求对指定资源类型的系统资源进行调度,所述指定资源类型的系统资源为以下至少之一:所述通用计算资源池中的通用计算单元,所述异构计算资源池中的异构计算单元,所述数据存储资源池中的数据存储资源;
响应于接收到的所述资源动态调度请求,通过所述控制模块对目标系统资源进行调度,其中,所述目标系统资源的资源类型为所述指定资源类型。
21.一种芯片,其特征在于,
包括:
通过所述芯片的片上缓存一致性总线进行互连的多元计算资源、片上内存和控制核心,其中,
所述多元计算资源包括通用计算资源和异构计算资源,所述通用计算资源包括一组通用处理器,所述异构计算资源包括一组异构加速处理器;
所述片上内存允许被所述通用计算资源中的通用处理器和所述异构计算资源中的异构加速处理器所共享;
所述控制核心,用于对所述通用计算资源中的通用处理器和所述异构计算资源中的异构加速处理器进行算力调度。
22.一种芯粒,其特征在于,
包括:
通过所述芯粒内的片内缓存一致性总线进行互连的一组核心和内存控制器,其中,
所述一组核心包括控制核心和多元处理器核心,其中,所述多元处理器核心包括一组通用处理器核心和一组异构加速处理器核心,所述一组核心中的核心具有私有缓存,并共享指定缓存、以及通过所述内存控制器所控制的内存;
所述控制核心,用于对所述一组通用处理器核心中的通用处理器核心和所述异构加速处理器核心中的异构加速处理器核心进行算力调度。
CN202410538814.4A 2024-04-30 2024-04-30 服务器系统、服务器系统的资源调度方法、芯片及芯粒 Pending CN118210634A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410538814.4A CN118210634A (zh) 2024-04-30 2024-04-30 服务器系统、服务器系统的资源调度方法、芯片及芯粒

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410538814.4A CN118210634A (zh) 2024-04-30 2024-04-30 服务器系统、服务器系统的资源调度方法、芯片及芯粒

Publications (1)

Publication Number Publication Date
CN118210634A true CN118210634A (zh) 2024-06-18

Family

ID=91453805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410538814.4A Pending CN118210634A (zh) 2024-04-30 2024-04-30 服务器系统、服务器系统的资源调度方法、芯片及芯粒

Country Status (1)

Country Link
CN (1) CN118210634A (zh)

Similar Documents

Publication Publication Date Title
KR102103596B1 (ko) 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법
KR102253582B1 (ko) Dram 기반 프로세싱 장치를 위한 확장 아키텍처
Graubner et al. Energy-efficient management of virtual machines in eucalyptus
CN104714846A (zh) 资源处理方法、操作系统及设备
JP4426976B2 (ja) マルチプロセッサ・コンピュータ・システムの計算コンポーネント内の電力を管理する方法およびコンピュータ・プログラム
WO2015176262A1 (zh) 一种节点互连装置、资源控制节点和服务器系统
US9798594B2 (en) Shared memory eigensolver
CN1987794B (zh) 改进计算机系统中的块分配时间的方法和装置
KR20130088512A (ko) 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법
CN110427246A (zh) 多核虚拟分区重构系统
US10404800B2 (en) Caching network fabric for high performance computing
US11520673B2 (en) Maintenance operations based on analysis of collected data
AU2003286813A1 (en) Methods and apparatus for distributing system management signals
CN103761146A (zh) 一种MapReduce动态设定slots数量的方法
KR101695012B1 (ko) 동적 노드 서비스 제공 방법 및 그 장치
CN116541227B (zh) 故障诊断方法、装置、存储介质、电子装置及bmc芯片
CN105573907A (zh) 用于解聚的组件的软件覆盖
Bauer et al. Noctua2 Supercomputer
CN103455372B (zh) 一种服务器中内存模块的数据迁移方法及服务器
US9323475B2 (en) Control method and information processing system
CN118210634A (zh) 服务器系统、服务器系统的资源调度方法、芯片及芯粒
JP2010231601A (ja) グリッドコンピューティングシステム、リソース制御方法およびリソース制御プログラム
RU2713757C1 (ru) Реконфигурируемая вычислительная система
CN117687956B (zh) 多加速卡异构服务器及资源链路重构方法
CN106844021B (zh) 计算环境资源管理系统及其管理方法

Legal Events

Date Code Title Description
PB01 Publication