CN115981802A - 一种计算系统及相关性能调节方法 - Google Patents
一种计算系统及相关性能调节方法 Download PDFInfo
- Publication number
- CN115981802A CN115981802A CN202111200465.8A CN202111200465A CN115981802A CN 115981802 A CN115981802 A CN 115981802A CN 202111200465 A CN202111200465 A CN 202111200465A CN 115981802 A CN115981802 A CN 115981802A
- Authority
- CN
- China
- Prior art keywords
- computing
- node
- nodes
- configuration information
- computing nodes
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本发明实施例公开了一种计算系统及相关性能调节方法,其特征在于,计算系统包括管理节点和片上系统SOC中的N个计算节点,N为大于0的整数,其中,管理节点用于:分别获取所述N个计算节点中每个计算节点的性能信息;基于所述N个计算节点的N个性能信息,确定M个系统配置信息;每个计算节点对应所述M个系统配置信息中的一个目标系统配置信息,其中,运行相同业务的计算节点对应的目标系统配置信息相同;M为小于或等于N的正整数;向每个所述计算节点发送对应的所述目标系统配置信息;N个计算节点中的每个计算节点用于:基于对应的所述目标系统配置信息调节自身的配置参数。采用本发明实施例提供的计算系统,能够提升计算节点的能效比。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种计算系统及相关性能调节方法。
背景技术
随着科技的发展,以集群架构搭建的高性能计算机技术也日益成熟,其应用也越来越普及,这就使得集群系统无论是在计算性能还是在系统规模上都得到了较大的发展。目前,针对大型网络的训练业务中(如Resnet、Bert等),普遍采用集群并行运行的方法进行业务训练,以节省运行时间,如使用数据并行或者模型并行的方式来训练业务。
在该场景下,多节点(也可为多个芯片)在运行相同的业务时,由于芯片本身制造工艺、电压和温度(Process Voltage Temperature,PVT)等条件的差异,以及所在节点散热条件等差异,使得各节点在运行相同业务时会有不同的功耗表现。在芯片间存在较大的功耗差异的情况下,由于在业务训练中采用数据并行或模型并行的运行模式,要求多节点在各个阶段进行数据同步,因此运行较快的节点在进行数据同步时,需要等待较慢节点完成计算后才能继续运行,在此过程中会造成芯片的能耗浪费。因此,如何提升处理器集群的能效比是亟待解决的问题。
发明内容
本发明实施例提供一种计算系统及相关性能调节方法,避免计算节点能耗浪费的问题,以提升计算系统中计算节点处的能效比。
第一方面,本发明实施例提供了一种计算系统,其特征在于,所述计算系统包括管理节点和片上系统SOC中的N个计算节点,N为大于0的整数,其中,所述管理节点用于:分别获取所述N个计算节点中每个计算节点的性能信息;基于所述N个计算节点的N个性能信息,确定M个系统配置信息;每个所述计算节点对应所述M个系统配置信息中的一个目标系统配置信息,其中,运行相同业务的计算节点对应的目标系统配置信息相同;M为小于或等于N的正整数;向每个所述计算节点发送对应的所述目标系统配置信息;所述N个计算节点中的每个计算节点用于:基于对应的所述目标系统配置信息调节自身的配置参数。
目前,在大型网络的业务训练场景中,可由多个计算节点并行处理相同的业务,且要求计算节点在运行相同业务时需进行业务数据同步。由于多个计算节点在运行相同业务时会有不同的功耗表现,进而在业务数据同步时,运行较快的计算节点需要等待较慢的计算节点完成计算后才能继续运行业务,此过程中会造成计算节点的能耗浪费。在现有技术中,将运行相同业务的计算节点划分为一个协同组,进而,协同组中的计算节点可通过轮询的方式定期进行性能信息同步,然后协同组中的每个计算节点都可基于其他计算节点的性能信息进行功耗调节,以使得这些计算节点之间的运行频率差异不超过预设值,从而实现了协同组中的计算节点频率同步(即实现性能不抖动,也可以理解为性能相对稳定,性能不会在每次运行时或者运行过程中有大幅度的变化)。然而,实际应用过程中发现,当协同组中的计算节点数量越多(即在大规模集群系统中)时,由于计算节点间是通过轮询(即每个计算节点都需获取其他计算节点的性能信息)的方式进行数据同步,因此计算节点间的性能信息同步过程中所产生的时间开销与计算开越多,导致计算节点间的性能信息同步效率低的问题,进而在大规模集群系统中,无法实现各计算节点性能同步。
而在本发明实施例中,通过在计算系统中增加了现有技术中没有的管理节点,统一地收集并分析各计算节点的性能信息,并向运行相同业务的计算节点统一发送相同的配置信息。避免了现有技术中由于没有管理节点,而需要计算节点之间通过轮询的方式来获取其他所有计算节点的性能信息,从而根据这些性能信息来调节自身的配置参数(如功耗调节),也即是在现有技术的方案中,假设一共有N个计算节点,则每个计算节点都需要获取N-1次性能信息(除自身以外的其他N-1个计算节点的性能信息),会造成计算节点间的性能信息同步效率低的问题;且由于每个计算节点获取其他计算节点的性能信息可能并不是同时的,因此不能保证这N个计算节点同时调节自身配置参数,导致计算节点处的能效比提升不明显。而在本申请的方案中,由于增加了可统一管理的管理节点,因而性能信息无需在计算节点之间进行同步,因此解决了计算节点间性能信息同步效率低的问题,从而该计算系统也可以在规模更大的集群系统中应用;且由于各计算节点的系统配置信息是由管理节点统一发送的,也避免了现有技术中多个计算节点无法同时调节自身配置参数的问题,从而能够更有效地提升计算节点处的能效比。此外,由于运行相同业务的计算节点能够同时基于系统配置信息调节自身的配置参数,最终实现运行相同业务的计算节点之间的运行频率相同,进而这些计算节点在进行业务数据同步时,不会出现一个计算节点长时间等待其他计算节点处理任务的情况,从而有效地提升了计算节点的能效比,同时也提升了计算系统整体的能效比。例如,假设计算系统中包括10个运行相同业务的计算节点,管理节点会统一获取这10个计算节点的性能信息,并基于这些性能信息确定一个配置信息。接下来,管理节点将该配置信息统一发送给这10个计算节点,进而计算节点可以根据该配置信息调节自身的配置参数,从而一个计算节点的运行频率发生变换,其余各个计算节点的运行频率也可以相应的调整,以确保运行相同业务的计算节点的运行频率相同,从而提升计算节点的能效比。
在一种可能的实现方式中,所述每个计算节点的性能信息包括自身的运行频率、运行状态或业务处理效率中的一种或多种。
在本发明实施例中,每个计算节点的性能信息中可以包括自身的运行频率、运行状态或业务处理效率等,一些能够表示当前计算节点性能的信息。
在一种可能的实现方式中,所述管理节点,还用于:将所述N个计算节点划分为M个协同组;所述M个协同组中的每个所述协同组中包括运行相同业务的L个计算节点;L为大于0的整数;基于第一目标计算节点的性能信息确定第一协同组对应的所述系统配置信息;所述第一目标计算节点为所述第一协同组中的所述L个计算节点中运行频率最低、或运行状态最差或业务处理效率最低的计算节点,其中,所述第一协同组为所述M个协同组中的任一个协同组。
在本发明实施例中,由于计算系统中所包括的N个计算节点(可以为一个SOC中的多个节点,也可以为多个SOC中的多个节点,即N个计算节点可以来自一个SOC,也可以来自多个SOC)可以运行相同的业务,也可以运行不同的业务。因此,可将运行相同业务的计算节点划分为一个协同组,若一个计算系统运行了M个业务,则该计算系统中包括M个协同组。此外,针对M个协同组中的每个协同组来说,所包括的一个或多个计算节点的目标系统配置信息可由当前组内运行性能最差(如运行频率最低)的计算节点决定,进而运行较快的计算节点能够基于目标系统配置信息降低自身的运行频率,以使得协同组中的计算节点的运行频率相同,从而协同组中的计算节点在进行业务数据同步时,运行较快的计算节点无需等待运行较慢的计算节点处理任务,从而提升了计算节点的能效比,同时也提升了计算系统整体的能效比。
在一种可能的实现方式中,所述管理节点,还用于:识别所述N个计算节点中每个所述计算节点运行的业务的业务特征,将业务特征相同的所述计算节点归到同一个所述协同组中。
在本发明实施例中,可以通过管理节点主动识别各计算节点当前运行的业务的业务特征,并将业务特征相同的计算节点归为一个协同组。这种自动化的业务识别方式,无需用户配置协同组,进而避免了用户对硬件的感知,提升了用户体验。
在一种可能的实现方式中,所述管理节点,具体用于:针对所述M个协同组中的第i个协同组,将所述第i个协同组对应的所述系统配置信息确定为所述第i个协同组中的所述L个计算节点对应的所述目标系统配置信息,向所述第i个协同组中的所述L个计算节点发送所述目标系统配置信息;i=1,2……M。
在本发明实施例中,由于要求一个协同组中所包括的计算节点的目标系统配置信息相同,因此当管理节点确定了一个协同组所对应的系统配置信息后,可将该系统配置信息确定为组内各计算节点的目标系统配置信息,进而管理节点可向该组所包括的计算节点统一发送相同的目标系统配置信息,最终实现运行相同业务的计算节点之间的运行频率相同,进而这些计算节点在进行业务数据同步时,不会出现一个计算节点长时间等待其他计算节点处理任务的情况,从而提升了计算节点的能效比,同时也提升了计算系统整体的能效比。
在一种可能的实现方式中,所述N个计算节点中的每个计算节点,具体用于:根据自身当前的运行状态信息,得到对应的性能边界;所述运行状态信息包括计算节点的功耗结温余量或散热情况中的一种或多种;基于对应的所述目标系统配置信息和所述性能边界调节自身的配置参数。
在本发明实施例中,每个计算节点(如SOC中的计算单元)在调节自身的配置参数(如调节节点处的运行频率)时,不仅要基于管理节点发送的目标系统配置信息确定配置参数,还需基于当前计算节点处的性能安全边界,即结合当前计算节点处的发热情况,散热情况等信息确定配置参数,以确保计算节点在不超过安全边界的前提下,尽可能的最大化节点处的性能,这样不仅能避免计算系统功耗的浪费,还能确保芯片的安全。
在一种可能的实现方式中,所述计算系统为一个SOC,所述管理节点位于所述一个SOC中,所述N个计算节点为所述一个SOC内部的节点。
在本发明实施例中,计算系统可以是一个SOC,管理节点为SOC内部的节点(如SOC中的性能协同节点),计算节点也为该SOC内部的节点(如SOC中的计算单元)。在性能协同节点处可以统计并分析各计算节点的性能信息(如运行频率等),并向运行相同业务的计算节点发送相同的目标系统配置信息,以使得运行相同业务的计算节点之间的运行频率相同。针对运行相同业务的计算节点来说,一个计算节点的运行频率发生变换,其余各个计算节点的运行频率也可以相应的调整,从而提升了计算节点的能效比,同时也提升了计算系统整体的能效比。
在一种可能的实现方式中,所述计算系统为由多个SOC组成的集群系统;所述管理节点位于所述多个SOC中的任意一个SOC中,或者所述管理节点位于所述多个SOC外;所述N个计算节点为所述多个SOC包括的节点。
在本发明实施例中,计算系统可以是大规模集群系统,管理节点可以位于多个SOC中的任意一个SOC内,或者管理节点可以位于多个SOC外并用于管理多个SOC,计算节点为多个SOC中的节点(如SOC中的计算单元)。在上层管理节点处可以统计并分析各计算节点的性能信息(如运行频率等),并向运行相同业务的计算节点发送相同的配置信息,以使得这些计算节点在运行相同业务时的运行频率相同,从而提升了计算节点的能效比,同时也提升了计算系统整体的能效比。
第二方面,本发明实施例提供了一种计算系统的性能调节方法,其特征在于,所述计算系统包括管理节点和片上系统SOC中的N个计算节点,N为大于0的整数,所述方法包括:通过所述管理节点分别获取所述N个计算节点中每个计算节点的性能信息;通过所述管理节点基于所述N个计算节点的N个性能信息,确定M个系统配置信息;每个所述计算节点对应所述M个系统配置信息中的一个目标系统配置信息,其中,运行相同业务的计算节点对应的目标系统配置信息相同;M为小于或等于N的正整数;通过所述管理节点向每个所述计算节点发送对应的所述目标系统配置信息;通过所述N个计算节点中的每个计算节点基于对应的所述目标系统配置信息调节自身的配置参数。
在一种可能的实现方式中,所述每个计算节点的性能信息包括自身的运行频率、运行状态或业务处理效率中的一种或多种。
在一种可能的实现方式中,所述方法还包括:通过所述管理节点,所述N个计算节点划分为M个协同组;所述M个协同组中的每个所述协同组中包括运行相同业务的L个计算节点;L为大于0的整数;基于第一目标计算节点的性能信息确定第一协同组对应的所述系统配置信息;所述第一目标计算节点为所述第一协同组中的所述L个计算节点中运行频率最低、或运行状态最差或业务处理效率最低的计算节点,其中,所述第一协同组为所述M个协同组中的任一个协同组。
在一种可能的实现方式中,所述方法还包括:通过所述管理节点,识别所述N个计算节点中每个所述计算节点运行的业务的业务特征,将业务特征相同的所述计算节点归到同一个所述协同组中。
在一种可能的实现方式中,所述通过所述管理节点向每个所述计算节点发送对应的所述目标系统配置信息,包括:通过所述管理节点,针对所述M个协同组中的第i个协同组,将所述第i个协同组对应的所述系统配置信息确定为所述第i个协同组中的所述L个计算节点对应的所述目标系统配置信息,向所述第i个协同组中的所述L个计算节点发送所述目标系统配置信息;i=1,2……M。
在一种可能的实现方式中,所述通过所述N个计算节点中的每个计算节点基于对应的所述目标系统配置信息调节自身的配置参数,包括:通过所述N个计算节点中的每个计算节点根据自身当前的运行状态信息,得到对应的性能边界;所述运行状态信息包括计算节点的功耗结温余量或散热情况中的一种或多种;基于对应的所述目标系统配置信息和所述性能边界调节自身的配置参数。
在一种可能的实现方式中,所述计算系统为一个SOC,所述管理节点位于所述一个SOC中,所述N个计算节点为所述一个SOC内部的节点。
在一种可能的实现方式中,所述计算系统为由多个SOC组成的集群系统;所述管理节点位于所述多个SOC中的任意一个SOC中,或者所述管理节点位于所述多个SOC外;所述N个计算节点为所述多个SOC包括的节点。
第三方面,本申请提供一种终端设备,该终端设备具有实现上述任意一种计算系统的性能调节方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,本申请提供一种终端设备,该终端设备中包括处理器,处理器被配置为支持该终端设备执行第二方面提供的一种计算系统的性能调节方法中相应的功能。该终端设备还可以包括存储器,存储器用于与处理器耦合,其保存该终端设备必要的程序指令和数据。该终端设备还可以包括通信接口,用于该终端设备与其他设备或通信网络通信。
第五方面,本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述第二方面中任意一项的计算系统的性能调节方法中的流程。
第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持应用服务器或终端设备实现上述第二方面中所涉及的功能,例如,生成或处理上述方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存数据发送设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第七方面,本申请提供一种半导体芯片,其特征在于,所述半导体芯片中包括上述第一方面中任意一项所述的计算系统。
第八方面,本申请提供一种电子设备,其特征在于,所述电子设备包括上述第七方面所述的半导体芯片。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1A是本发明实施例提供的一种处理器集群系统架构示意图。
图1B为本发明实施例提供的一种计算系统架构示意图。
图2A为本发明实施例提供的一种计算系统示意图。
图2B为本发明实施例提供的一种协同组示意图。
图2C为本发明实施例提供的一种计算系统工作流程示意图。
图2D为本发明实施例提供的另一种计算系统示意图。
图2E为本发明实施例提供的又一种计算系统示意图。
图2F为本发明实施例提供的一种集群式计算系统的示意图。
图2G为本发明实施例提供的一种分级管理的计算系统示意图。
图3A为本发明实施例提供的另一种计算系统工作流程图。
图3B为本发明实施例提供的一种SOC结构示意图。
图3C为本发明实施例提供的一种性能协调系统结构示意图。
图3D为本发明实施例提供的一种性能信息分组示意图。
图4是本发明实施例提供的一种计算系统的性能调节方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
以下对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)片上系统(System On Chip,SOC),从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲,SOC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SOC就是包括大脑、心脏、眼睛和手的系统。系统级芯片的构成可以是系统级芯片控制逻辑模块、微处理器/微控制器CPU内核模块、数字信号处理器DSP模块、嵌入的存储器模块、和外部进行通讯的接口模块、含有ADC/DAC的模拟前端模块、电源提供和功耗管理模块,对于一个无线SOC还有射频前端模块、用户定义逻辑(它可以由FPGA或ASIC实现)以及微电子机械模块。
下面结合附图对本申请的实施例进行描述。
基于上述提出的技术问题为了便于理解本发明实施例,下面先对本发明实施例所基于的系统管理架构进行描述。请参考见图1A,图1A是本发明实施例提供的一种处理器集群系统管理架构示意图,该处理器集群系统管理架构能够以更优的能效比,训练大型网络业务(如Resnet、Bert),该架构中可以包括服务端管理中心101和多个机柜102。例如,在通用的AI或高性能计算机群(High Performance Computing,HPC)等大规模处理器集群部署中,最上层存在一个服务端管理中心101用于负责整个集群的任务管理与状态管理,以及多个可能由多种设备组成的机柜102。机柜102用于处理服务端管理中心101分发的任务,如网络训练的任务,其中每个机柜102中可包括多个加速器芯片,每个加速器芯片中又可以包括多个计算节点,该计算节点可以用于负责任务的计算执行。可选的,在小规模的集群中可以只包括上述多个机柜102,用于处理计算任务。
需要说明的是,在分布式业务训练场景下,依赖数据并行或者模型并行(或混合并行)的训练模式,即多个计算节点间需要定期进行数据同步更新。进而,运行快速的节点需要等待运行较慢的节点完成计算后,才能开始运行接下来的任务。例如,假设A芯片与B芯片在运行相同的业务,且A芯片功耗高于散热设计功耗(Thermal Design Power,TDP),B芯片功耗低于TDP,此时A芯片会触发降频保护,使得A芯片的整体性能下降。但在网络训练中,主要是采用数据并行或模型并行的运行模式,即要求多个节点在各个阶段需要进行数据同步。在此情况下,运行较快的节点在数据同步时,需要等待较慢节点完成后才能继续运行。进而,可假设A芯片的运行速度远小于B芯片的运行速度,若一直维持B芯片处于高频状态运行,并不会对性能生成收益,反而会造成功耗浪费。
因此,请参见图1B,图1B为本发明实施例提供的一种计算系统架构示意图,在上述图1A中的服务端管理中心101中可包括服务端控制管理系统;图1A中的每个机柜102中可包括主控制管理系统(又称Host控制管理系统,通常由CPU组成),以及多个片上系统(SystemOn Chip,SOC),例如SOC可以是为图形处理器(Graphics Processing Unit,GPU)、网络处理器(Neural-network Processing Unit,NPU)或者通用中央处理器(Central ProcessingUnit,CPU),也可以为GPU、NPU或者通用CPU的组合,在此不作限定。此外,针对每个SOC来说,每个SOC中可能由一个或多个Die组成(在集成电路中,Die是指一小块半导体材料,在其上制造了给定的功能电路),每个Die内可以包括多个异构的计算单元或缓存单元,及独立的功耗管理单元。计算单元(可为本发明实施例提及的计算节点,如图2A中的计算节点202),可以被虚拟化提供给多个用户使用,每个用户独享部分的计算资源;功耗管理单元,可用于负责检测芯片的实时运行状态,在保证芯片不超过安全边界的前提下,尽可能的最大化性能(如保证芯片以支持的最高频率运行),当芯片接近或者达到安全边界时,进行相应的降频保护。除此之外,在本发明实施例中,每个SOC中可还包括一个性能协调单元,该单元可以由硬件或软件实现,可以存在于功耗管理单元或者独立存在,在此不做限定。该性能协调单元,可用于维护SOC内部运行相同业务的Die或虚拟化下计算节点之间的性能,进而使得处理器集群性能尽量保持一致。其中,服务端控制管理系统和每个机柜中的Host控制管理系统的详细描述如下:
服务端控制管理系统,可用于向各个机柜中的Host控制管理系统下发任务。可选的,在服务端控制管理系统向各Host控制管理系统下发任务时,可以识别相应的数据并行业务,并以此自动配置能效协同优化分组(也可以称为协同组),该能效协同优化分组中可包括运行相同业务的计算节点。进而,在本发明实施例中,服务端控制管理系统也可以与各个机柜中的Host控制管理系统进行协调,以保证能效协同优化分组中的各计算节点性能一致。例如,针对性能不足或性能过剩的计算节点,服务端管理系统可向下一级管理者(如各Host控制管理系统)传递校正性能的指示。
每个机柜中的Host控制管理系统,可用于解析服务端控制管理系统下发的任务,并将任务调度至各SOC的计算节点中,然后由各计算节点中处理器负责任务的计算执行。在本发明实施例中,针对一个机柜来说,Host控制管理系统也能够与各个SOC中的性能协调单元协同,以保证机柜内处理相同业务的计算节点的性能一致。例如,图1B中,假设“B”SOC中的a、b、c、d计算节点当前处理相同的业务,进而Host控制管理系统能够与“B”SOC中的性能协调单元进行协同,当这几个计算节点性能不足或者性能过剩时,能够对计算节点的性能进行校正,使得各计算节点可以尽量保持性能一致,进而可以保证系统在同等性能条件下最大化能效收益。
可以理解的是,上述系统架构只是本发明实施例中的一种示例性的实施方式,本发明实施例中的系统架构包括但不仅限于上述。
下面结合本发明实施例中的附图对本发明实施例进行描述。
请参见图2A,图2A为本发明实施例提供的一种计算系统示意图,下面将结合附图2A对本申请实施例中的计算系统进行详细描述。如图2A所示,该计算系统20包括:管理节点201和片上系统SOC中的N个计算节点202。其中,
所述管理节点201用于:分别获取所述N个计算节点中每个计算节点的性能信息;基于所述N个计算节点的N个性能信息,确定M个系统配置信息;每个所述计算节点对应所述M个系统配置信息中的一个目标系统配置信息,其中,运行相同业务的计算节点对应的目标系统配置信息相同;M为小于或等于N的正整数;向每个所述计算节点发送对应的所述目标系统配置信息。具体地,计算系统20可以运行不同的业务,如训练不同的神经网络模型等,计算系统20可以是一个SOC,也可以是由多个SOC组成的集群系统。N个计算节点202可以理解为SOC中专门用于执行业务运算的计算单元(如当SOC由CPU、GUP、NPU组成时,计算节点可以为CPU、GPU、NPU中的一种),计算系统20中所包括的N个计算节点202可以用于并行运行同一种业务,也可以运行不同的业务,在此不作限定。计算单元,可以被虚拟化提供给多个用户使用,每个用户独享部分的计算资源。计算节点202的性能信息为能够表示当前计算节点性能的信息,如计算节点的运行频率、业务处理效率等。系统配置信息可以理解为由管理节点201统一生成并发送给对应的计算节点202,且用于调节计算节点202的配置参数(如调节运行频率等)的信息。其中,计算节点调节配置参数可以理解为调整动态电压频率(Dynamicvoltage and frequency scaling,DVFS)或调整频率和电压组合或调整芯片的性能,在此不做具体的限定。例如,计算系统中的某个计算节点由于功耗散热等原因触发降频时,与该计算节点运行相同业务的其他计算节点同样会触发被动降频。反之,只有当协同组内的所有节点均满足升频条件时,所有计算节点才会同步完成升频的动作,进而可以保证系统在同等性能条件下最大化能效收益。
需要说明的是,当计算系统20中的N个计算节点位于同一个SOC(例如,该SOC为由CPU和NPU组成的芯片)时,计算系统20可以为一个芯片(或是一种集成电路)。当计算系统20中的N个计算节点位于多个SOC中时,且这多个SOC可以位于同一个终端设备中,在此情况下,计算系统可以为一个终端设备(如上述图1A中的机柜0等)。当计算系统20中的N个计算节点位于多个SOC中时,且这多个SOC位于多个的终端设备,在此情况下,计算系统可以为由这多个终端设备组成的系统(如由上述图1A中的机柜1、机柜2、机柜3等组成的系统)。
在一种可能的实现方式中,所述每个计算节点的性能信息包括自身的运行频率、运行状态或业务处理效率中的一种或多种。具体地,每个计算节点的性能信息中可以包括自身的运行频率、运行状态或业务处理效率等,一些能够表示当前计算节点性能的信息。例如,计算节点的性能信息可以指的是运行频率,但也可以是业务的性能表现,比如说帧率(Frames Per Second,FPS),也可以是CPU的通用性能指标如每个时钟的指令(InstructionPer Clock,IPC),即CPU每一时钟周期内所执行的指令多少。
在一种可能的实现方式中,所述管理节点201,还用于:将所述N个计算节点划分为M个协同组;所述M个协同组中的每个所述协同组中包括运行相同业务的L个计算节点;L为大于0的整数;基于第一目标计算节点的性能信息确定第一协同组对应的所述系统配置信息;所述第一目标计算节点为所述第一协同组中的所述L个计算节点中运行频率最低、或运行状态最差或业务处理效率最低的计算节点,其中,所述第一协同组为所述M个协同组中的任一个协同组。具体地,由于计算系统中所包括的N个计算节点(可以为一个SOC中的多个节点,也可以为多个SOC中的多个节点)可以运行相同的业务,也可以运行不同的业务。因此,可将运行相同业务的计算节点划分为一个协同组,若一个计算系统运行了M个业务,则该计算系统中包括M个协同组。此外,针对M个协同组中的每个协同组来说,所包括的一个或多个计算节点的目标系统配置信息可由当前组内运行性能最差(如运行频率最低)的计算节点决定,进而运行较快的计算节点能够基于目标系统配置信息降低自身的运行频率,以使得协同组中的计算节点的运行频率相同,从而协同组中的计算节点在进行业务数据同步时,运行较快的计算节点无需等待运行较慢的计算节点处理任务,从而提升了计算节点的能效比,同时也提升了计算系统整体的能效比。
例如,假设计算系统中包括5个计算节点,如图2B所示,图2B为本发明实施例提供的一种协同组示意图,图中将这5个计算节点按照运行的业务可以划分为2个协同组,第一个协同组中包括3个运行第一业务的计算节点,分别为计算节点1、计算节点2和计算节点3,第二个协同组中包括2个运行第二业务的计算节点,分别为计算节点4和计算节点5,且第一业务与第二业务没有业务数据并行要求,即也可以理解为第一业务与第二业务不同。针对第一个协同组来说,计算节点1、计算节点2和计算节点3在同时运行第一业务时,由于这3个计算节点并行执行第一业务中的不同任务,且假设计算节点1的下一个任务需要用到计算节点2和计算节点3当前的运行结果,则这3个计算节点之间需要进行业务数据同步。但这3个计算节点在运行相同的业务时,由于芯片本身制造工艺、电压和温度等条件(ProcessVoltage Temperature,PVT)的差异,以及所在计算节点散热条件等差异,使得各计算节点在运行相同业务时会有不同的功耗表现,则可能存在计算节点1的功耗远高于计算节点2和计算节点3的情况,同时也可以理解为计算节点1的运行频率远快于计算节点2和计算节点3。在此情况下,若计算节点1保持高功耗状态等待计算节点2和计算节点3处理任务,则会造成功耗的浪费。因此本发明实施例提供的计算系统中,管理节点会定期获取这3个计算节点的性能信息(如表示当前计算节点的功耗的信息),并基于这3个计算节点中运行频率最低的计算节点,确定整个协同组中的计算节点所对应的系统配置信息。需要说明的是,系统配置信息由协同组中运行性能最差的计算节点决定(犹如木桶效应),是因为高于短板的性能运行时会造成能效的浪费,而不会有任何性能收益,因此在本发明实施例中可以主动限制组内的每个计算节点以目标计算节点(N个计算节点中性能最低的计算节点)的配置运行。在上述例子中,计算节点1接收到管理节点发送的系统配置信息后,可基于该系统配置信息,降低自身的运行功耗,最终实现这3个计算节点的运行频率相同,即计算节点1无需在保持高功耗的情况下长时间等待计算节点2和计算节点3处理任务,从而提升了计算系统的能效比。以相同的方式可以对第二个协同组中的计算节点的性能进行适当的调节,在此不过多赘述。
在一种可能的实现方式中,所述管理节点201,具体用于:识别所述N个计算节点中每个计算节点运行的业务的业务特征,将业务特征相同的所述计算节点归到同一个所述协同组中。具体地,可以通过管理节点主动识别各计算节点当前运行的业务的业务特征,并将业务特征相同的计算节点归为一个协同组。这种自动化的业务识别方式,无需用户配置协同组,进而避免了用户对硬件的感知,提升了用户体验。例如,识别训练模型中分布式接口(即业务特征中的一种)的调用,例如Pytorch中的torch.nn.DataParallel,并可以识别出完成该数据并行下的计算节点或计算单元,然后管理节点自动将这部分计算节点配置到协同组,其最终实现将部分计算节点配置到一个协同组中。
可选的,也可由用户主动配置协同组,进而管理节点基于用户主动配置的协同组,将N个计算节点划分为M个协同组。
例如,请参见图2C所示,图2C为本发明实施例提供的一种计算系统工作流程示意图,图中首先可由计算系统中的任务管理器下发任务,接下来可由计算系统中的任务分类器(可以为管理节点中的模块)识别业务特征并判定存在数据并行的计算资源;计算资源可以是同一个Die中的不同计算单元,也可以是同一个芯片中的不同Die,亦或者是机柜内的多个SOC或者集群内的多个机柜,在此不作限定。进一步,将数据并行的计算资源配置为一个协同组,启动协同能效优化的工作流程,并且任务管理系统开始任务执行。然后,计算系统中的管理节点汇总各个节点的实时性能状况,并根据各个节点的实时性能状态,计算符合分组内的最佳的硬件运行配置。最终各个计算节点结合自身的运行状态与系统计算的最佳配置,决策并执行最终的硬件配置策略,以实现性能协同。
在一种可能的实现方式中,所述计算系统为一个SOC,所述管理节点位于所述一个SOC中,所述N个计算节点为所述一个SOC内部的节点。具体地,计算系统可以是一个SOC,管理节点为SOC内部的节点(如SOC中的性能协同节点),计算节点也为该SOC内部的节点(如SOC中的计算单元)。在性能协同节点处可以统计并分析各计算节点的性能信息(如运行频率等),并向运行相同业务的计算节点发送相同的配置信息,以使得运行相同业务的计算节点之间的运行频率相同。针对运行相同业务的计算节点来说,一个计算节点的运行频率发生变换,其余各个计算节点的运行频率也可以相应的调整,从而提升了计算节点的能效比,同时也提升了计算系统整体的能效比。例如,如图2D所示,图2D为本发明实施例提供的另一种计算系统示意图,该计算系统由一个SOC组成,图中性能协同节点为上述管理节点201,a1-a9、b1-b9和c1-c9表示SOC中的计算节点(也可以认为是SOC中的计算单元)且都为上述计算节点202,假设a1-a9和b1-b9这些计算节点并行运行第一业务,c1-c9这些计算节点并行运行第二业务,且第一业务与第二业务为不同的业务。在此情况下,当各计算节点在执行计算任务时,性能协同节点可定期获取a1-a9、b1-b9和c1-c9这些计算节点的性能信息,由于a1-a9、b1-b9运行相同的业务,c1-c9运行相同的业务,因此性能协同节点在确定各计算节点的目标系统配置信息时,a1-a9、b1-b9这几个计算节点所对应的目标系统配置信息(可用于调节计算节点的运行频率)相同,c1-c9这几个计算节点所对应的目标系统配置信息相同,以使得运行相同业务的计算节点之间的运行频率相同,进而这些计算节点在进行业务数据同步时,不会出现一个计算节点长时间等待其他计算节点处理任务的情况,从而有效地提升了计算节点的能效比,同时也提升了计算系统整体的能效比。
在一种可能的实现方式中,所述计算系统为由多个SOC组成的集群系统;所述管理节点位于所述多个SOC中的任意一个SOC中,或者所述管理节点位于所述多个SOC外;所述N个计算节点为所述多个SOC包括的节点。具体地,请参见图2E,图2E为本发明实施例提供的又一种计算系统示意图,图中该计算系统可以是大规模集群系统,由多个SOC组成。管理节点管理节点可以位于多个SOC中的任意一个SOC内,或者管理节点可以位于多个SOC外并用于管理多个SOC,计算节点为多个SOC包括的节点(如SOC中的计算单元)。在上层管理节点(即管理节点)处可以统计并分析各计算节点的性能信息(如运行频率等),并向运行相同业务的计算节点发送相同的配置信息,以使得这些计算节点在运行相同业务时的运行频率相同,从而提升计算系统的能效比。需要说明的是,多个SOC可以位于一个机柜中,也可以位于多个机柜中,在此不作限定。此外,计算系统的规模可根据实际业务的需求进行适当调整。
在一种可能的实现方式中,所述管理节点201,具体用于:针对所述M个协同组中的第i个协同组,将所述第i个协同组对应的所述系统配置信息确定为所述第i个协同组中的所述L个计算节点对应的所述目标系统配置信息,向所述第i个协同组中的所述L个计算节点发送所述目标系统配置信息;i=1,2……M。具体地,由于要求一个协同组中所包括的计算节点的目标系统配置信息相同,因此当管理节点确定了一个协同组所对应的系统配置信息后,可将该系统配置信息确定为组内各计算节点的目标系统配置信息,进而管理节点可向该组所包括的计算节点统一发送相同的目标系统配置信息,以使得协同组中的计算节点能够同时调节自身的配置参数。最终可以实现运行相同业务的计算节点之间的运行频率相同,进而这些计算节点在进行业务数据同步时,不会出现一个计算节点长时间等待其他计算节点的情况,从而有效地提升了计算节点的能效比,同时也提升了计算系统整体的能效比。
例如,假设计算系统是由3个SOC组成的,如图2F所示,图2F为本发明实施例提供的一种集群式计算系统的示意图,图中在SOC1中包括了3个计算节点,分别为A1、A2、A3;在SOC2中包括了3个计算节点,分别为B1、B2、B3;在SOC3中包括了3个计算节点,分别为C1、C2、C3。又假设,A1、A2、A3、B1、B2这5个计算节点用于运行第一业务,B3、C1、C2、C3用于运行第二业务,且第一业务与第二业务没有业务数据同步需求。因此,A1、A2、A3、B1、B2为一个协同组(可以称为第一个协同组),B3、C1、C2、C3为另一个协同组(可以称为第二个协同组)。首先,上层管理节点(即管理节点)在收集这多个计算节点的性能信息时,可由SOC中的信息汇总模块(如SOC中的性能协同节点)按照运行的业务先汇总该SOC中所包括的计算节点的性能信息,然后SOC中的信息汇总模块在将汇总的信息分别上报给上层管理节点,如SOC2中的性能协同节点可按照运行业务将B1和B2的性能信息先进行汇总,再将B3的性能信息进行汇总,然后按照分组将汇总的信息上报给上层管理节点,通过这种分级管理(即逐级汇总性能信息)的方式能够提升上层管理节点汇总各计算节点性能信息的效率。同时,上层管理节点在向各计算节点下发系统配置信息时,也可以采用这种分级管理的方式,即上层管理节点可将系统配置信息先发送给对应的SOC,然后由SOC将系统配置信息下发给对应的计算节点,如当上层管理节点确定了第一个协同组(包括A1、A2、A3、B1、B2的协同组)对应的系统配置信息后,上层管理节点可将该系统配置信息先发送给SOC1和SOC2,然后再由SOC1将系统配置信息发送给A1、A2、A3,由SOC2将系统配置信息发送给B1、B2。通过这种分级管理(即逐级下发系统配置信息)的方式能够提升上层管理节点下发各计算节点的系统配置信息的效率。
需要说明的是,当上层管理节点采用分级管理的方式汇总各计算节点的性能信息时,SOC向上层管理节点发送的汇总信息可以是当前层级中的最终结果,如SOC2在上报B1和B2的性能信息时,可以只上报B1、B2中当前运行状态最差的节点的性能信息,通过这种方式可以显著减少上层管理节点所需处理的数据量,因此也更适用于大型的集群中的信息快速同步。
此外,还需说明的是,当计算系统中包括多个SOC(SOC也可称为芯片)时,这些SOC可以位于同一个终端设备(如上述图1A中的机柜0),也可以位于多个终端设备(如上述图1A中的机柜0、机柜1、机柜2等),在此不作限定。当所述多个SOC位于同一个机柜时,管理节点(如上层管理节点)可为机柜中的Host控制管理系统(如上述图1B的系统架构中的Host控制管理系统);当所述多个SOC位于不同机柜时,上层管理节点可为服务端控制管理系统(如上述图1B的系统架构中的服务端控制管理系统)。上层管理节点的位置可随着计算系统的规模而变化,在此不作限定。请参见图2G所示,图2G为本发明实施例提供的一种分级管理的计算系统示意图,图中管理者可以理解为本发明实施例中提及的管理节点201,计算单元(Control Unit,CU)可以理解为本发明实施例中提及的计算节点202。在此情况下,计算系统可以为由多个机柜(如图2G中的机柜0、机柜1、机柜2、机柜3、机柜4)组成的集群系统,且每个机柜中包括至少一个芯片(如图2G中的机柜0中可包括芯片0、芯片1、芯片2),每个芯片中又可以包括一个或多个计算单元(如图2G中的机柜0中的芯片0中可包括计算单元0、计算单元1、计算单元2、计算单元3),当管理节点在汇总各计算节点的性能信息时,可通过逐级上报的方式进行。同理,当管理节点在下发系统配置信息时,也可以通过逐级下发的方式进行。
所述N个计算节点中的每个计算节点202用于:基于对应的所述目标系统配置信息调节自身的配置参数。
在一种可能的实现方式中,所述N个计算节点中的每个计算节点202,具体用于:根据自身当前的运行状态信息,得到对应的性能边界;所述运行状态信息包括计算节点的功耗结温余量或散热情况中的一种或多种;基于对应的所述目标系统配置信息和所述性能边界调节自身的配置参数。具体地,每个计算节点(如SOC中的计算单元)在调节自身的配置参数(如调节节点处的运行频率)时,不仅要基于管理节点发送的目标系统配置信息确定配置参数,还需基于当前计算节点处的性能安全边界,即结合当前计算节点处的发热情况,散热情况等信息确定配置参数,以确保计算节点在不超过安全边界的前提下,尽可能的最大化节点处的性能,这样不仅能避免计算系统功耗的浪费,还能确保芯片的安全。需要说明的是,计算节点当前的运行状态信息中可以包括但不限于计算节点自身的运行状态和该计算节点所处位置的物理特征。物理特征主要指芯片的工艺差异,也就是说没有两个完全相同的芯片,芯片间会因为制造产生部分的物理差异。
本发明实施例通过在计算系统中增加的管理节点,统一地收集并分析各计算节点的性能信息,并向运行相同业务的计算节点统一发送相同的配置信息。在此过程中,由于性能信息无需在计算节点之间进行同步,因此解决了计算节点间性能信息同步效率低的问题,从而该计算系统也可以在规模更大的集群系统中应用;且由于各计算节点的系统配置信息是由管理节点统一发送的,也避免了现有技术中多个计算节点无法同时调节自身配置参数的问题,从而能够更有效地提升计算节点处的能效比。此外,由于运行相同业务的计算节点能够同时基于系统配置信息调节自身的配置参数,最终实现运行相同业务的计算节点之间的运行频率相同,进而这些计算节点在进行业务数据同步时,不会出现一个计算节点长时间等待其他计算节点的情况,从而有效地提升了计算节点的能效比,同时也提升了计算系统整体的能效比。
为了更详细的描述本申请实施例中的集群式的计算系统,下面结合图3A进行示例性描述,图3A为本发明实施例提供的另一种计算系统工作流程图。需要说明的是,本发明实施例所提及的计算系统中包括多个SOC,且这些SOC可以位于同一个机柜,也可以位于不同的机柜,在此不作限定。当所述多个SOC位于同一个机柜时,管理节点(如上层管理节点)可为机柜中的Host控制管理系统(如上述图1B的系统架构中的模块);当所述多个SOC位于不同机柜时,上层管理节点可为服务端控制管理系统(如上述图1B的系统架构中的模块)。上层管理节点的位置可随着计算系统的规模而变化,在此不作限定。上层管理节点主要负责各个计算节点信息的收集汇总和性能指示(为上述系统配置信息中的一种)的下发,SOC主要负责策略的执行。由于计算系统中的多个SOC与上层管理节点的交互过程相似,因此以一个SOC与上层管理节点的交互过程为例,详细说明如下:
步骤1:上层管理节点在步骤1a中根据业务特征配置协同能效优化的分组,例如可以配置机柜中节点A(一个SOC)中的计算单元a,b,c,d,与节点B(另一个SOC)中的计算单元a,b,c,d为分组内的计算资源(即对应上述计算节点),并将该配置分别同步于节点A和节点B。SOC在步骤1b中配置对应的本地的协同组,如A节点将a,b,c,d配置为一个协同组。
步骤2:上层管理节点在步骤2a及SOC在步骤2b中同步开始执行任务。
步骤3:SOC在步骤3b中监测分组内各个计算单元的性能状况,当分组内计算单元的性能产生差异时或周期性,SOC将分组内各个节点的性能数据上报到上层管理节点。上层管理节点在步骤3a中汇总集群中各个分组内的性能信息。
步骤4:上层管理节点在步骤4a中根据各个节点的性能信息,计算使得分组内各个节点能效更优的硬件配置,并在步骤6a中将该信息发送到分组内的各个SOC中。
步骤5:SOC在步骤5a中根据分组内计算单元的性能信息,计算出更优的能效配置,与此同时,SOC接收4a中由上层管理节点发送的更优的硬件配置指示;SOC在步骤5b中同样基于当前芯片所处的功耗结温余量,计算出芯片当前可以支持的运行配置。
步骤6:SOC在步骤7a中根据5a,5b中获得的信息,集中决策最终的硬件配置信息,并指示相应的模块完成最终的状态调整。
步骤7:上层管理系统中的步骤8a和SOC中的步骤8b反复至任务完成。
通过本发明实施例提供的计算系统,避免计算节点能耗浪费的问题,以提升计算系统中计算节点处的能效比。
为了更详细的描述本申请实施例中的集群式的计算系统,下面结合图3B进行示例性描述,图3B为本发明实施例提供的一种SOC结构示意图。需要说明的是,SOC中主要包括处理器,存储系统,功耗管理单元,性能协调系统(可以理解为上述提及的性能协同节点),其中处理器,存储系统与功耗管理单元为系统的通用组件。接下来,将详细说明功耗管理单元及性能协调系统:
功耗管理单元,负责在系统安全边界的约束下,通过调整处理器的运行配置,如DVFS,频率和电压组合,调整芯片的性能,间接影响系统的功耗与温度表现。由于芯片不同处理器所处位置的不同散热条件以及不同区域间的物理差异(OCV),导致不同处理器在计算相同业务时可能由较大的功耗差异。在功耗管理单元的作用下,这些处理器可能有较为明显的性能差异。此时,由性能协调系统完成分组内处理器的协同性能管理。请参见图3C所示,图3C为本发明实施例提供的一种性能协调系统结构示意图,图中性能协调系统可包括性能目标统计模块,协同分组管理模块,通信模块和性能配置决策模块,这些模块可以是硬件实现,也可以是由软件完成,在此不作具体的限定。
其中,性能目标统计模块,用于(周期性)汇总各个计算单元的性能信息;性能目标信息可以是计算单元的运行频率,也可以用于表征处理器计算能力的IPC,或者为表征业务性能的如FPS等。当性能信息不是运行频率本身时,存在从性能到频率的映射关系,该关系可以是线性或非线性的;性能目标信息可以来自于处理器本身,例如在一些实现中可以根据历史的性能预期下一时间段的性能目标。此外,在另一些实现中,可以通过功耗管理单元根据当前处理器的结温与功耗状态计算下一时段的性能目标。
协同分组管理模块,会按照先前配置的分组信息将性能信息分组,例如,如图3D所示,图3D为本发明实施例提供的一种性能信息分组示意图,图中分组A中包括处理器1的目标性能为1500,处理器2的目标性能为1700;分组B中包括处理器x的目标性能为1500,处理器y的目标性能为1700,处理器z的目标性能为1600。当协同能效优化开启时,协同分组管理模块计算每个分组的最佳能效配置。
在一种实现中,最佳能效配置为该分组内性能最低处理器的运行频率。该配置可实现能效最优由于同分组内的处理器性能由最低性能的单元决定(木桶效应),在此条件下高于短板的性能运行会造成能效的浪费而不会由任何性能收益,因此可以主动限制分组内的每一个处理器以性能最低的处理器的配置运行。当分组内一个计算单元发生性能下降时,其余节点可以进行同步的性能(下降)调节;当所有节点均满足性能上升的条件时,所有节点同步完成性能增加的调节。由此,每个分组内会产生一个最低或最佳的运行配置。
协同分组管理模块,还会将这些信息通过通信模块上传到上层管理系统,由上层管理系统根据更大规模集群性能汇总并决策下级SOC中分组内的配置信息。该指示信息由通信模块传递到性能配置决策单元中,由最终决策单元根据本地的计算的目标配置与上层的指示信息仲裁得到最终由性能协调模块决策出的硬件配置。一种实现方式为选择两者的最小值为最终结果。
由性能协调模块计算出的硬件配置并非最终执行的硬件配置,该计算结果会与由功耗管理模块计算的结果进行最终的比较,通常选择两者最小值为最终硬件执行的配置。该步骤确保最终执行的硬件配置满足当前芯片的安全边界,此时可能存在各节点性能不同的状况。
通过本发明实施例提供的计算系统,避免计算节点能耗浪费的问题,以提升计算系统中计算节点处的能效比。
上述详细阐述了本发明实施例的计算系统,下面提供了本发明实施例的相关方法。
请参见图4,图4是本发明实施例提供的一种计算系统的性能调节方法的流程图,该方法适用于上述图2A中的一种计算系统以及包含所述计算系统的设备。该方法可以包括以下步骤S401-步骤S402。所述计算系统包括管理节点和片上系统SOC中的N个计算节点,N为大于0的整数;其中,
步骤401:通过所述管理节点分别获取所述N个计算节点中每个计算节点的性能信息。
步骤402:通过所述管理节点基于所述N个计算节点的N个性能信息,确定M个系统配置信息。
具体地,每个所述计算节点对应所述M个系统配置信息中的一个目标系统配置信息,其中,运行相同业务的计算节点对应的目标系统配置信息相同;M为小于或等于N的正整数。
步骤403:通过所述管理节点向每个所述计算节点发送对应的所述目标系统配置信息。
步骤404:通过所述N个计算节点中的每个计算节点基于对应的所述目标系统配置信息调节自身的配置参数。
在一种可能的实现方式中,所述每个计算节点的性能信息包括自身的运行频率、运行状态或业务处理效率中的一种或多种。
在一种可能的实现方式中,所述方法还包括:通过所述管理节点,所述N个计算节点划分为M个协同组;所述M个协同组中的每个所述协同组中包括运行相同业务的L个计算节点;L为大于0的整数;基于第一目标计算节点的性能信息确定第一协同组对应的所述系统配置信息;所述第一目标计算节点为所述第一协同组中的所述L个计算节点中运行频率最低、或运行状态最差或业务处理效率最低的计算节点,其中,所述第一协同组为所述M个协同组中的任一个协同组。
在一种可能的实现方式中,所述方法还包括:通过所述管理节点,识别所述N个计算节点中每个所述计算节点运行的业务的业务特征,将业务特征相同的所述计算节点归到同一个所述协同组中。
在一种可能的实现方式中,所述通过所述管理节点向每个所述计算节点发送对应的所述目标系统配置信息,包括:通过所述管理节点,针对所述M个协同组中的第i个协同组,将所述第i个协同组对应的所述系统配置信息确定为所述第i个协同组中的所述L个计算节点对应的所述目标系统配置信息,向所述第i个协同组中的所述L个计算节点发送所述目标系统配置信息;i=1,2……M。
在一种可能的实现方式中,所述通过所述N个计算节点中的每个计算节点基于对应的所述目标系统配置信息调节自身的配置参数,包括:通过所述N个计算节点中的每个计算节点根据自身当前的运行状态信息,得到对应的性能边界;所述运行状态信息包括计算节点的功耗结温余量或散热情况中的一种或多种;基于对应的所述目标系统配置信息和所述性能边界调节自身的配置参数。
在一种可能的实现方式中,所述计算系统为一个SOC,所述管理节点位于所述一个SOC中,所述N个计算节点为所述一个SOC内部的节点。
在一种可能的实现方式中,所述计算系统为由多个SOC组成的集群系统;所述管理节点位于所述多个SOC中的任意一个SOC中,或者所述管理节点位于所述多个SOC外;所述N个计算节点为所述多个SOC包括的节点。
通过本发明实施例提供的方法,能够避免计算系统能耗浪费的问题,以提升计算系统的能效比。
本申请提供一种终端设备,该终端设备具有实现上述任意一种计算系统的性能调节方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请提供一种终端设备,该终端设备中包括处理器,处理器被配置为支持该终端设备执行上述提供的一种计算系统的性能调节方法中相应的功能。该终端设备还可以包括存储器,存储器用于与处理器耦合,其保存该终端设备必要的程序指令和数据。该终端设备还可以包括通信接口,用于该终端设备与其他设备或通信网络通信。
本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述提及的任意一项的计算系统的性能调节方法中的流程。
本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持应用服务器或终端设备实现上述任意一项的计算系统的性能调节方法中所涉及的功能,例如,生成或处理上述方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存数据发送设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请提供一种半导体芯片,其特征在于,所述半导体芯片中包括上述提及的任意一项所述的计算系统。
本申请提供一种电子设备,其特征在于,所述电子设备包括上述提及的所述的半导体芯片。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务端或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-OnlyMemory,缩写:ROM)或者随机存取存储器(RandomAccessMemory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (18)
1.一种计算系统,其特征在于,所述计算系统包括管理节点和片上系统SOC中的N个计算节点,N为大于0的整数,其中,
所述管理节点用于:
分别获取所述N个计算节点中每个计算节点的性能信息;
基于所述N个计算节点的N个性能信息,确定M个系统配置信息;每个所述计算节点对应所述M个系统配置信息中的一个目标系统配置信息,其中,运行相同业务的计算节点对应的目标系统配置信息相同;M为小于或等于N的正整数;
向每个所述计算节点发送对应的所述目标系统配置信息;
所述N个计算节点中的每个计算节点用于:
基于对应的所述目标系统配置信息调节自身的配置参数。
2.根据权利要求1所述计算系统,其特征在于,所述每个计算节点的性能信息包括自身的运行频率、运行状态或业务处理效率中的一种或多种。
3.根据权利要求1或2所述计算系统,其特征在于,所述管理节点,还用于:
将所述N个计算节点划分为M个协同组;所述M个协同组中的每个所述协同组中包括运行相同业务的L个计算节点;L为大于0的整数;
基于第一目标计算节点的性能信息确定第一协同组对应的所述系统配置信息;所述第一目标计算节点为所述第一协同组中的所述L个计算节点中运行频率最低、或运行状态最差或业务处理效率最低的计算节点,其中,所述第一协同组为所述M个协同组中的任一个协同组。
4.根据权利要求3所述计算系统,其特征在于,所述管理节点,还用于:
识别所述N个计算节点中每个所述计算节点运行的业务的业务特征,将业务特征相同的所述计算节点归到同一个所述协同组中。
5.根据权利要求3或4所述计算系统,其特征在于,所述管理节点,具体用于:
针对所述M个协同组中的第i个协同组,将所述第i个协同组对应的所述系统配置信息确定为所述第i个协同组中的所述L个计算节点对应的所述目标系统配置信息,向所述第i个协同组中的所述L个计算节点发送所述目标系统配置信息;i=1,2……M。
6.根据权利要求1-5任意一项所述计算系统,其特征在于,所述N个计算节点中的每个计算节点,具体用于:
根据自身当前的运行状态信息,得到对应的性能边界;所述运行状态信息包括计算节点的功耗结温余量或散热情况中的一种或多种;
基于对应的所述目标系统配置信息和所述性能边界调节自身的配置参数。
7.根据权利要求1-6任意一项所述计算系统,其特征在于,所述计算系统为一个SOC,所述管理节点位于所述一个SOC中,所述N个计算节点为所述一个SOC内部的节点。
8.根据权利要求1-6任意一项所述计算系统,其特征在于,所述计算系统为由多个SOC组成的集群系统;所述管理节点位于所述多个SOC中的任意一个SOC中,或者所述管理节点位于所述多个SOC外;所述N个计算节点为所述多个SOC包括的节点。
9.一种计算系统的性能调节方法,其特征在于,所述计算系统包括管理节点和片上系统SOC中的N个计算节点,N为大于0的整数,所述方法包括:
通过所述管理节点分别获取所述N个计算节点中每个计算节点的性能信息;
通过所述管理节点基于所述N个计算节点的N个性能信息,确定M个系统配置信息;每个所述计算节点对应所述M个系统配置信息中的一个目标系统配置信息,其中,运行相同业务的计算节点对应的目标系统配置信息相同;M为小于或等于N的正整数;
通过所述管理节点向每个所述计算节点发送对应的所述目标系统配置信息;
通过所述N个计算节点中的每个计算节点基于对应的所述目标系统配置信息调节自身的配置参数。
10.根据权利要求9所述方法,其特征在于,所述每个计算节点的性能信息包括自身的运行频率、运行状态或业务处理效率中的一种或多种。
11.根据权利要求9或10所述方法,其特征在于,所述方法还包括:
通过所述管理节点,所述N个计算节点划分为M个协同组;所述M个协同组中的每个所述协同组中包括运行相同业务的L个计算节点;L为大于0的整数;基于第一目标计算节点的性能信息确定第一协同组对应的所述系统配置信息;所述第一目标计算节点为所述第一协同组中的所述L个计算节点中运行频率最低、或运行状态最差或业务处理效率最低的计算节点,其中,所述第一协同组为所述M个协同组中的任一个协同组。
12.根据权利要求11所述方法,其特征在于,所述方法还包括:
通过所述管理节点,识别所述N个计算节点中每个所述计算节点运行的业务的业务特征,将业务特征相同的所述计算节点归到同一个所述协同组中。
13.根据权利要求11或12所述方法,其特征在于,所述通过所述管理节点向每个所述计算节点发送对应的所述目标系统配置信息,包括:
通过所述管理节点,针对所述M个协同组中的第i个协同组,将所述第i个协同组对应的所述系统配置信息确定为所述第i个协同组中的所述L个计算节点对应的所述目标系统配置信息,向所述第i个协同组中的所述L个计算节点发送所述目标系统配置信息;i=1,2……M。
14.根据权利要求9-13任意一项所述方法,其特征在于,所述通过所述N个计算节点中的每个计算节点基于对应的所述目标系统配置信息调节自身的配置参数,包括:
通过所述N个计算节点中的每个计算节点根据自身当前的运行状态信息,得到对应的性能边界;所述运行状态信息包括计算节点的功耗结温余量或散热情况中的一种或多种;基于对应的所述目标系统配置信息和所述性能边界调节自身的配置参数。
15.根据权利要求9-14任意一项所述方法,其特征在于,所述计算系统为一个SOC,所述管理节点位于所述一个SOC中,所述N个计算节点为所述一个SOC内部的节点。
16.根据权利要求9-14任意一项所述方法,其特征在于,所述计算系统为由多个SOC组成的集群系统;所述管理节点位于所述多个SOC中的任意一个SOC中,或者所述管理节点位于所述多个SOC外;所述N个计算节点为所述多个SOC包括的节点。
17.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求9-16中任意一项所述的方法。
18.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机或处理器执行时,使得所述计算机或处理器执行如权利要求9-16中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111200465.8A CN115981802A (zh) | 2021-10-14 | 2021-10-14 | 一种计算系统及相关性能调节方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111200465.8A CN115981802A (zh) | 2021-10-14 | 2021-10-14 | 一种计算系统及相关性能调节方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115981802A true CN115981802A (zh) | 2023-04-18 |
Family
ID=85974557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111200465.8A Pending CN115981802A (zh) | 2021-10-14 | 2021-10-14 | 一种计算系统及相关性能调节方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115981802A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795769A (zh) * | 2023-06-27 | 2023-09-22 | 李斌 | 一种SoC集群及分布式计算方法 |
-
2021
- 2021-10-14 CN CN202111200465.8A patent/CN115981802A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795769A (zh) * | 2023-06-27 | 2023-09-22 | 李斌 | 一种SoC集群及分布式计算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106131891B (zh) | 一种基于sdwn的资源映射装置和方法 | |
Yuan et al. | CAWSAC: Cost-aware workload scheduling and admission control for distributed cloud data centers | |
CN106411770B (zh) | 一种基于sdn架构的数据中心网络节能路由算法 | |
Dong et al. | Virtual machine placement for improving energy efficiency and network performance in iaas cloud | |
Kong et al. | eBase: A baseband unit cluster testbed to improve energy-efficiency for cloud radio access network | |
CN103841129B (zh) | 云计算的资源信息采集服务器和客户端、信息处理方法 | |
WO2021179176A1 (en) | Federated learning in telecom communication system | |
Apat et al. | Energy efficient resource management in fog computing supported medical cyber-physical system | |
CN109672570A (zh) | 一种流量自适应的水声认知传感器网络多址接入方法 | |
WO2016045367A1 (zh) | 一种多数据源数据融合的方法及装置 | |
CN115981802A (zh) | 一种计算系统及相关性能调节方法 | |
CN112148381A (zh) | 一种基于软件定义的边缘计算优先级卸载决策方法及系统 | |
Ma et al. | Cost-aware multi-domain virtual data center embedding | |
Zheng et al. | FCTcon: Dynamic control of flow completion time in data center networks for power efficiency | |
Liu et al. | Deadline guaranteed service for multi-tenant cloud storage | |
US20120254426A1 (en) | Control device and control method for reduced power consumption in network device | |
CN115080341A (zh) | 计算集群及其数据采集方法、设备及存储介质 | |
Hu et al. | Improve the energy efficiency of datacenters with the awareness of workload variability | |
CN105357026B (zh) | 一种资源信息收集方法和计算节点 | |
CN109348486A (zh) | 一种异构无线网络资源分配方法 | |
Zhou et al. | Tsengine: Enable efficient communication overlay in distributed machine learning in wans | |
CN116069460A (zh) | 基于监控体系的Kubernetes容器资源动态调度方法 | |
Ray et al. | Opportunistic power savings with coordinated control in data center networks | |
Li et al. | Dynamic cache placement, node association, and power allocation in fog aided networks | |
JP2009033691A (ja) | ネットワーク装置の消費電力低減制御装置及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |