CN113722061A - 整体全局性能和功率管理 - Google Patents
整体全局性能和功率管理 Download PDFInfo
- Publication number
- CN113722061A CN113722061A CN202110878299.0A CN202110878299A CN113722061A CN 113722061 A CN113722061 A CN 113722061A CN 202110878299 A CN202110878299 A CN 202110878299A CN 113722061 A CN113722061 A CN 113722061A
- Authority
- CN
- China
- Prior art keywords
- power
- performance
- power manager
- processor
- chip
- 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
- 230000006870 function Effects 0.000 claims abstract description 45
- 230000015654 memory Effects 0.000 claims description 58
- 230000002787 reinforcement Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 claims description 10
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 60
- 239000003795 chemical substances by application Substances 0.000 description 38
- 238000007726 management method Methods 0.000 description 24
- 238000009826 distribution Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 239000004744 fabric Substances 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/18—Packaging or power distribution
- G06F1/189—Power distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3265—Power saving in display device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/522—Barrier synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Engineering (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Inorganic Insulating Materials (AREA)
- Lubricants (AREA)
Abstract
描述了用于提供整体全局性能和功率管理的方法和装置。在实施例中,逻辑(例如,耦合到多个计算节点中的每个计算节点)引起跨所述多个计算节点确定功率和性能管理的策略。跨所述多个计算节点来协调所述策略,以便管理对一个或多个目标函数的作业,其中,所述作业包括有待在所述多个计算节点上并发运行的多个任务。还公开并要求保护其他实施例。
Description
本申请是PCT国际申请号为PCT/US2015/062278、国际申请日为2015 年11月24日、中国国家申请号为201580063584.X、题为“整体全局性能 和功率管理”的申请的分案申请。
技术领域
本公开总体上涉及电子学领域。更具体地,一些实施例总体上涉及服 务器和其他计算设备的功率管理。
技术背景
高性能计算(High Performance Computing,HPC)系统可以包括由结 构(fabric)连接以用于分布式计算的大量节点。此外,应用被分成在HPC 系统中跨节点并发运行的任务。这些任务被分解成顺序里程碑,并且任务 被期望能够同时到达这些里程碑中的每一个。
不幸的是,如果任何节点比其他节点更慢地完成到达下一个里程碑的 工作,则整个应用的进度停止,直到最慢的任务完成它的工作。当这种情 况发生时,应用失去潜在的性能,并且在必须等待的节点中浪费了功率。
附图说明
参照附图提供了详细说明。在附图中,参考号最左边的(多个)数字 标识所述参考号首次出现的附图。在不同的附图中使用相同的参考号指示 相似或完全相同的项。
图1和图4-6示出了根据一些实施例的各种计算系统的框图。
图2示出了根据实施例的整体全局性能和功率管理(HGPPM)系统的 框图。
图3示出了根据实施例的用于分层部分可观测马尔科夫决策过程 (H-POMDP)代理的交互细节的框图。
具体实施方式
在以下描述中,阐述了许多具体的细节以便提供对各实施例的彻底理 解。然而,可以在没有特定细节的情况下实践各实施例。在其他实例中, 未详细地描述熟知的方法、程序、组件以及电路,以便不使具体实施例模 糊。进一步,可以使用各种装置执行实施例的各方面,比如集成半导体电 路(“硬件”)、被组织到一个或多个程序(“软件”)中的计算机可读 指令或硬件与软件的某种组合。就本公开的目的而言,对“逻辑”的引用 将意指硬件、软件或其某种组合。
如上文所提及的,高性能计算(HPC)系统可以包括由高速网络结构 耦合以用于分布式计算的大量节点。如在此所论述的,“节点”通常是指 计算元件(所述计算元件可以包括一个或多个处理器,诸如在此所论述的 通用处理器或图形处理器)、到网络结构的连接、登录组件、服务组件、 以及可能的存储器、(多个)IO(输入/输出)设备或其他组件。通常,应用(在此也称为“作业”)被分成在HPC系统中跨许多(例如,数万个) 节点并发运行的任务。可能存在映射到每个节点的一个或多个任务,并且 单个任务可以跨一个或多个核运行。任务可以由关于同一问题集的不同数 据操作的相同程序组成。任务可以被分解成顺序里程碑,并且所有任务都 被期望在相同的时间量内完成里程碑之间的计算,从而导致所谓的批量同 步计算样式。在里程碑处,任务可以通过诸如全局障碍的操作进行同步。
不幸的是,如果任何核或节点比其他核或节点更慢地完成同步之间的 工作(由于多个原因中的任何一个),整个应用的进度停止,直到最慢的 任务完成工作。当这种情况发生时,应用失去潜在的性能,并且在必须等 待的核或节点中浪费功率。这个问题有许多名称,包括负载不平衡、应用 或操作系统抖动以及性能变化。负载不平衡可能有许多原因,范围为从静 态因素到动态因素,这些静态因素诸如引起硬件组件的性能分布的制造可 变性,这些动态因素诸如在不同核上不同时间发生的页面故障、影响一些 核而不影响其他核的操作系统干扰、暂时瘫痪一个核或节点而不瘫痪其他 核或节点的可恢复硬件错误、或应用内的任务之间的工作的不均匀分布。
由于HPC系统规模和复杂性不断增加,负载不平衡正在成为性能损失 和功耗浪费的严重来源。制造可变性尤其是成问题的。最近的处理器无法 在不超出热设计和功率极限的情况下在最大核频率下运行浮点密集型工作 负载。此外,具有相同模型和步进的两种处理器需要不同的功率来实现相 同的核频率。本行业期望处理器性能的变化在给定功率预算下将超过20%。
为此,一些实施例提供了整体全局性能和功率管理。更具体地说,新 的性能和功率管理框架被描述用于协调跨作业中的(例如,所有)节点的 软件和硬件策略,同时根据可配置的目标函数(例如,作业功率上限内的 最大性能、作业功率上限内的最大效率等)管理作业。框架的一个用途是 解决上述负载平衡问题。
另外,一些实施例提供整体全局性能和功率管理(HGPPM)框架,所 述框架协调跨作业中的(例如,所有)节点的性能和功率管理决策,同时 根据以下各项管理作业:作业功率上限或其他可配置的目标函数,诸如最 大性能、最大效率(例如,最小能量延迟乘积)、在根据作业功率上限管 理时的最大性能、在根据作业功率上限管理时的最大效率等。HGPPM技术 至少部分地基于用可扩缩的、快速分层部分可观测马尔科夫决策过程 (H-POMDP)增强学习(RL)方法实现的分层反馈导引控制系统。此类实 施例可以通过在分层系统域之间引导功率,并引入用于协调跨软件和硬件 抽象边界的其他更广泛的优化的关键能力来减轻应用负载不平衡。例如, 在一些实施例中,HGPPM可以通过同时协调并优化分层系统域之间的功率 分配选择来达到更高的性能或效率,以实现负载平衡以及从指令系统中选 择应用算法,从而找到给定系统架构、问题大小或功率分配的最高执行选 项。
此外,在此所论述的技术可以在各种计算系统(例如,包括诸如桌面、 工作站、服务器、机架系统等的非移动计算设备以及诸如智能电话、平板 电脑、UMPC(超移动个人计算机)、膝上型计算机、UltrabookTM计算设 备、智能手表、智能眼镜等的移动计算设备)中提供,这些计算系统包括 参照图1-6所论述的那些。更具体地,图1展示了根据实施例的计算系统 100的框图。图1是示意性表示,并不意图反映物理组织。系统100包括一 个或多个处理器102-1至102-N(在此一般地称为“多个处理器102”或“处 理器102”)。处理器102可以经由互连(或结构)104通信。还存在一种 可能性:一个或多个处理器可以共享与互连或结构的连接。每个处理器可 以包括各种组件,为了清楚起见,仅参照处理器102-1论述其中的一部分。 相应地,剩余处理器102-2至102-N中的每一个可以包括参照处理器102-1 所论述的相同或相似组件。
在实施例中,处理器102-1可以包括一个或多个处理器核106-1至 106-M(在此称为“多个核106”或更一般地称为“核106”)、高速缓存 108(在不同实施例中所述高速缓存可以是共享的高速缓存或私有高速缓 存)、和/或路由器110。这些处理器核106可以在单个集成电路(IC)芯 片上实现。这也可以用相同封装中的多个集成电路来实现。此外,芯片可 以包括一个或多个共享和/或私有高速缓存(诸如高速缓存108)、总线或 互连(诸如总线或互连112)、逻辑150、诸如参照图4-6所论述的那些的 存储器控制器(包括NVM(非易失性存储器),例如闪存、SSD(固态驱 动器)等)或其他组件。在其他实施例中,图1的组件可以按照不同的方 式排列,例如,VR、存储器控制器和主存储器可以位于处理器内部,而路 由器可以位于处理器外部。
在一个实施例中,路由器110可以用于在处理器120-1和/或系统100 的各组件之间通信。此外,处理器102-1可以包括不止一个路由器110。此 外,多个路由器110可以通信以使得数据能够在处理器102-1内部或外部 的各组件之间路由。在一些实施例中,当存在多个路由器时,一些可能位 于处理器内部,并且一些可能位于外部。
高速缓存108可以存储由处理器102-1的一个或多个组件(诸如核106) 利用的数据(例如,包括指令)。例如,高速缓存108可以将存储在(易 失性和/或非易失性)存储器114(在此也可以互换地称为“主存储器”) 中的数据在本地高速缓存,以便由处理器102的组件更快地访问。如图1 所示,存储器114可以经由互连104与处理器102通信。在实施例中,高速缓存108(其可以是共享的)可以具有各种层级,例如,高速缓存108 可以是中级高速缓存和/或末级高速缓存(LLC)(诸如LI和/或L2高速缓 存)。另外,核106中的每一个可以包括1级(L1)高速缓存(116-1)(在 此总体地称为“L1高速缓存116”)。处理器102-1的各组件可以通过总 线或结构(例如,总线112)和/或存储器控制器或集线器与高速缓存108 直接通信。
系统100还可以包括(例如,平台)电源125(例如,直流(DC)电 源或交流(AC)电源),以向系统100的一个或多个组件提供电力。电源 125可以包括PV(光伏)面板、风力发电机、热发电机水/水力涡轮机等。 在一些实施例中,电源125可以包括一个或多个电池组(例如,由PV面板、 风力发电机、热发电机水/水力涡轮机、插入式电源(例如,耦合到AC电 力网)等中的一个或多个充电)和/或插入式电源。
电源125可以通过电压调节器(VR)130耦合到系统100的组件。此 外,尽管图1示出了一个电源125和单个电压调节器130,也可以使用附加 电源和/或电压调节器。例如,处理器102中的一个或多个可以具有相应的 (多个)电压调节器和/或(多个)电源。另外,(多个)电压调节器130 可以经由单个电源层(例如,向所有核106供电)或多个电源层(例如, 其中每个电源层可以向不同核或一组核和/或系统100的(多个)其他组件 供电)耦合到处理器102。另外,虽然图1示出了电源125和电压调节器 130作为单独的组件,电源125和电压调节器130可以被并入系统100的其 他组件中。例如,VR 130的全部或部分可以被并入电源125、SOC(诸如 参照图6所论述的那些)和/或处理器102中。
如图1所示,存储器114可以通过存储器控制器120耦合到系统100 的其他组件。参照如在此论述的HGPPM技术/实施例,系统100还包括逻 辑150以促进和/或执行一个或多个操作。例如,逻辑150可以执行对应于 系统100的一个或多个计算节点和/或组件(包括例如,处理器102、存储 器控制器120、存储器114(在此有时也称为“外部存储器”)、高速缓存116或108、和/或互连或(多个)结构104和/或112等)的性能和/或功率 管理的(多个)操作。此外,尽管在系统100中的若干可选位置中示出了 逻辑150,但是逻辑150可以位于系统100中的其他地方。
此外,实施例提供了可扩缩的动态技术,用于跨作业中的(例如,所 有)节点和跨软件和硬件抽象层协调性能和功率管理策略,同时根据可配 置的目标函数管理作业。目标函数可以包括但不限于:在满足功率上限的 同时最大化性能、在满足功率上限(以减轻负载不平衡)的同时最小化计 算元件(节点或核)之间的性能差异、最大化效率等。在一个实施例中, 此类技术在此统称为整体全局性能和功率管理(HGPPM),所述技术至少 部分地基于分层机器学习算法。
现有的HPC功率管理器存在一些限制。第一,功率管理器通过对每个 节点应用均匀的功率上限来加剧节点之间的性能差异,从而导致每个节点 的频率不同和应用性能的损失。本行业通常期望在给定的功率上限下,节 点的性能变化超过20%,因此减轻而非加剧这些性能差异至关重要。第二, 现有的功率管理器缺乏协调软件和硬件策略的能力。不幸的是,软件和硬 件策略历来是经由独立的控制系统来调整的。此举导致控制系统之间的干 扰,从而降低结果。在统一控制系统下调整软件和硬件策略是至关重要的。 第三,现有的HPC功率管理器缺乏可扩缩性。他们采用集中式设计,所述 设计不能扩缩以在将来的系统中跨许多(例如,数万个)节点来协调策略。 需要完全不同的设计。最后,现有的HPC系统缺乏灵活性。为了满足百万 兆级(Exascale)系统的极端性能和效率挑战,需要设计新颖的策略旋钮 (knob),并且需要利用更多的机会来优化系统,但目前的解决方案缺少 能够理解和控制任何新策略的功率管理器框架。另外,在对功率管理器将 做出的性能与功率之间的折衷进行编程时需要灵活性(在某些情况下,例 如,效率将比性能优选),但是现有的功率管理器仅倾向于支持性能偏好 的目标函数。目前的管理技术太脆弱了。
HGPPM实施例是一个突破,它在引入协调软件和硬件策略的关键能力 的同时解决负载不平衡问题、可扩缩性问题和灵活性问题。这些可以被认 为是提高百万兆级系统性能和效率的关键要求。更具体地,HGPPM按照多 种重要的方式改进了现有技术。HGPPM通过平衡分配给计算元件的功率从 而均衡它们的负载来引入检测并减轻作业中的负载不平衡的能力。HGPPM 是可以减轻各种负载不平衡来源的第一种技术,所述来源范围为从制造可 变性到应用或操作系统抖动到可恢复的硬件错误到不平衡的内在来源,诸 如应用或操作系统不能在计算元件(所述计算元件在此也可以互换地称为 “节点”或“核”)之间均匀地划分工作。此外,至少一个实施例提供了 与根据功率上限管理作业协同作用的负载平衡技术。
HGPPM实施例还引入了关键的新能力:(a)跨软件和硬件抽象边界协 调策略优化;(b)经由强大的策略优化技术对新类型策略的可扩展性;和/ 或(c)经由对根据可配置的目标函数进行管理的支持的灵活性。不存在在 同时扩缩以跨作业中的所有计算元件协调策略的同时支持这些能力的其他 性能或功率管理器方法。此类实施例的可扩缩性、鲁棒性和灵活性是突破。
通过HGPPM实施例实现的新策略和优化的示例包括但不限于:(a)通 过控制每个应用任务可以利用的核数量的新策略旋钮来调整应用以获得最 大性能或效率;(b)通过控制处理器如何积极地推测地执行算术运算或存储 器预取操作等的新策略旋钮来调整处理器以获得更好的性能或效率。新策 略和优化的设计被认为对于满足百万兆级系统的性能和效率挑战是至关重 要的,而HGPPM实施例是能够统筹此类优化的第一性能和功率管理框架。 此外,HGPPM的分层学习框架进一步提高了可扩缩性,并提高了负载平衡 的响应能力,以获得更好的应用性能或效率。
在实施例中,HGPPM用于在根据可配置的目标函数管理作业的同时, 跨作业中的(例如,所有)节点全局地协调性能和功率策略。每个作业都 绑定了一个HGPPM实例。HGPPM方法通过采用基于分层部分可观测马尔 科夫决策过程(H-POMDP)机器学习的分层设计来解决作业中许多节点(例 如,数万个节点)决策策略的可扩缩性挑战。特别地,一个实施例采用相 同的增强学习代理的分层结构。如在此所论述的,“节点”、“核”、“计 算元件”等的使用可以是可互换的,例如,其中此类单元中的每一个是指 能够执行在此参照所述单元所论述的一个或多个操作的计算组件。
增强学习代理不是通过模型来优化策略,而是通过与环境的交互和经 验实验;他们不断评估行动的后果,以使其行为适应最佳结果,其中结果 的质量由目标函数定义。按照系统的方式选择实验,以便按照有效的方式 导航所有可能的策略选项的空间。根据实施例,增强学习算法采用称为随 机策略梯度的技术来有效地导航,同时仍然获得良好或可接受的结果。
在H-POMDP中,每个代理是相同的,并且对于整个问题的子问题独 立地工作,但是所有代理使用相同的目标函数,并且子问题被分层地定义, 这样使得一个代理的决策限制它的子代可以考虑的选项空间。因此,父代 指导其子代的行为,以帮助子代更快地确定最佳策略,或使子代排除选择 某些策略选择。以这种分层方式,从增强学习代理树状分层结构的根到叶 协调性能和功率策略决策。
图2示出了根据实施例的HGPPM系统的框图。图2示出了三个树深 度,但是这仅仅是用于示例性目的,并且在各实施例中可以使用更深或更 浅的树深度。在实施例中,图2所示的系统的每个计算节点可以包括与图1、 图4、图5和/或图6的计算系统论述的一个或多个组件。更具体地,全局 协调是通过可扩缩的、分层k叉树设计实现的。系统策略被分层分解(例 如,在机柜202-0至202-m(其中“机柜”通常是指多个节点)之间,然后 在节点之间分配功率)。然后,经由在树的每个节点中运行的H-POMDP 增强学习代理获得良好的全局功率分配决策,如在此进一步论述的。功率 和/或性能遥测(沿树从叶到根向上流动)和控制传播(从父代到子代)的 聚合由可扩缩覆盖网络(SCON)204提供。SCON是在HPC系统中的物理网络之一上实现的逻辑网络。物理网络可以是由应用(例如,网络结构) 使用的带内网络或带外网络诸如以太网(例如,根据IEEE(电气和电子工 程师协会)802.3标准)。在一个实施例中,物理网络可以与参照图4和图 5所论述的网络403相同或类似。在图2中,“DN”是指专用节点(例如, 由应用保留但并不使用的节点),并且每个DN和计算节点中的小封闭框 是指H-POMDP代理。如在此所论述的,在实施例中,H-POMDP代理可以 是增强学习代理。如在此所论述的,可以提供每核(或每核的一部分部分) 策略(诸如对每个核或核部分的功率分配)。如图2所示,每个计算节点 可以包括一个或多个核。另外,在实施例中,叶H-POMDP代理负责调整 计算节点内的任何策略(所述策略可以包括调整每核策略)。
在实施例中,使用随机策略梯度技术。HGPPM树中的每个节点都实现 了增强学习POMDP算法,从而应用策略梯度方法来搜索最佳策略。例如, 策略可以被认为是在一组离散旋钮设置上的概率分布。例如,旋钮包括一 组选择,用于父代代理如何在其子代之间分配功率。策略通过根据分布对 旋钮的设置进行采样,对其进行多次测试并测量所得的奖励来进行估计。 在实施例中,通过类似于梯度上升的方法来改进策略。为了使用基于梯度 的方法,策略是可区分的,并且可以通过采用随机的软极大(soft-max) 策略来成为可区分的。然后,可以根据策略估计奖励的梯度,并在梯度方 向上逐步执行策略,以便使其朝向奖励最大化的策略移动。可以采用随机 策略来避免更简单的梯度方法的“局部最大值”陷阱,并平衡探查与利用 的折衷,如下文进一步所论述的。
在一个实施例中,可以使用以下操作来实现随机策略梯度。随机策略 梯度算法可以使用自然行动者-临界框架来实现,其中a是动作(a.k.a旋钮 设置),r是奖励,α是步长:
2:设定参数At+1=0,bt+1=0,zt+1=0。
3:对于t=0,1,2,......,进行以下操作
4:对at~π(at|θt)进行采样并且将旋钮设定至at
5:观察rt
6:更新基函数:
8:当需要时,计算自然梯度:
[V WT]T=At+1 -1bt+1
9:更新策略参数:θt+1=θt+αw如果梯度已收敛
10:结束。
如前所述,为了使策略是可区分的并且适合于基于梯度的学习,可以 使用随机的软极大策略。特别地,使用多项式分布的指数族参数化来赋予 每个旋钮i一组实值权重θi。当对旋钮i的概率分布进行采样时,n个可能 性中的旋钮设置j的概率由下式给出:
自然行动者临界算法所需的梯度可以通过下式(有效地)计算:
如在此所描述的,HGPPM可以通过平衡作业中的节点之间的功率来应 用于校正应用负载不平衡。在负载平衡问题如何分层分解的一个示例中, 整个作业的负载平衡问题被分成作业所使用的机柜之间的负载平衡,然后 被分成每个机柜中的节点之间的负载平衡,然后被分成映射到每个节点的 任务之间的负载平衡,然后负载平衡运行每个任务的核之间的负载平衡。 在每个粒度下,对性能进行动态比较,并将功率从前面的计算元件转移到后面的元件(参照到达序列中的下一个里程碑并到达障碍),以最大化或 提高应用性能。
实施例通过以下步骤将作业负载平衡过程映射到增强学习抽象:给每 个代理分配学习其子代之间的输入功率预算的最佳划分的任务;以及定义 目标函数,这样使得a)子代代理的性能差异受到惩罚,并且b)总体性能 得到奖励,其中总体性能被认为是由子代代理获得的最低性能。每个子代 代理的性能可以是一定数量的样本的平均值或中值(或其他函数)。每个 代理学习如何在它的子代之间划分其输入预算(来自它的父代),以从子 代获得最佳性能。继而,子代获取它们的预算并且在它们的子代之间划分 等。树的最低层级处的决策可以指定硬件应当如何在不同类型的处理器和 外部存储器资源之间划分功率。性能可以根据许多度量来定义。例如,在 H-POMDP树的最低层级处,度量可以是核频率、每个核朝向下一个应用里 程碑的进度的量度(经由编程器提供的注释提供给HGPPM或通过性能计 数器的分析自动推断出或其他手段)、在里程碑之间目前为止完成的应用 阶段的运行时间、指令引退速率、主存储器访问速率等。
一般来说,由H-POMDP中的每个增强学习代理估计的目标函数将是 每个子代的目标函数值的聚合。许多聚合是可能的,包括子代目标函数值 的最小值、平均值、方差等。在一个实施例中,如果目标函数在于使性能 最大化,则节点的性能可以被定义为节点中处理器中的任何活动核的最低 性能,机柜的性能可以被定义为机柜中任何活动节点的最低性能,并且作 业的性能可以被定义为作业中任何活动机柜的最低性能。聚合计算可以通 过HGPPM技术和/或通过HPC系统中的SCON的协助来执行。
如在此所描述的,HGPPM实施例可以调整不同种类的策略(超出功率 预算)并且同时调整不止一种类型的策略。在这种模式下,HGPPM技术将 策略纳入联合策略;增强学习代理对联合策略选项进行实验,并且根据目 标函数来优化联合策略。在一个示例中,对于每个节点,考虑终止于一个 增强学习代理的分层结构。假设代理的任务是共同学习两种策略:如何在 节点中不同类型的硬件资源之间划分节点功率预算,以及在应当利用的节 点上每个软件处理多少线程/核。代理制定了联合策略,所述联合策略对于 功率预算划分选择和并行选择的每个组合都有一个选项。学习代理一起测 试新的功率预算选择和新的并行选择,衡量对目标函数的综合影响,然后 随着时间的推移朝向最佳联合策略导航。
图3放大来自图2的一个计算节点中的叶H-POMDP RL代理。所述附 图显示了RL代理、应用和节点中的处理器之间的交互,包括至RL代理的 输入(在图3中被标记为可观测量)以及由RL代理输出的新策略设置。所 述附图说明了上文论述的示例性策略的管理:每个应用进程的线程数以及 硬件资源之间的节点功率预算的划分。在一个实施例中,H-POMDP RL代 理接收来自应用的性能和阶段信号。在其他实施例中,性能和阶段信号可 以由HGPPM自动推断出,而不需要应用的编程器注释(如前所述)。 H-POMDP RL代理从处理器接收能量信号。RL代理的输出是新策略设置 (例如,每个应用进程的线程数的新设置或节点的硬件组件之间的节点功 率预算的新细分)。
可观测量可以按照各种方式合成,以定义所需的目标函数。目标函数 被估计并作为奖励供应给学习算法(如前所述)。RL代理使用此奖励信号 来衡量不同策略设置的影响。随着时间的推移,RL代理搜索策略空间,通 过颁布策略对策略设置进行实验(输出策略设置在图3中被标记为动作), 并且测量对可观测量和奖励信号的影响。如前所述,RL代理随着时间的推 移导航策略空间,以有效的方式进行搜索,直到RL代理确定最佳策略设置。
图3中的图示是已经合成多个策略的HGPPM实施例的示例。随着更 多策略被合成,搜索空间的大小可能呈指数增长。在使搜索空间复杂的策 略之间也可能存在相互依赖关系。上述联合策略(节点硬件资源之间的节 点功率预算的划分和每个软件过程的线程数/核数)是具有以下复杂相互依 赖关系的联合策略的示例:资源之间的最佳取决率划分取决于应用进程中 的通信、存储器和计算的平衡,而所述平衡取决于应用进程所采用的线程数/核数;应用进程使用的最佳线程数/核数取决于可用的通信、存储器和计 算带宽(而带宽量可以取决于每个资源已分配多少功率)。
HGPPM的一个实施例通过采用随机策略梯度增强学习技术来扩缩以 处理具有复杂折衷的大搜索空间。随机策略梯度技术对目标函数度量相对 于策略的梯度进行估计,然后在梯度方向上步进;下一次,将要尝试的联 合策略选项是(在梯度方向上)离上一个一步之遥的选项。随机策略梯度 方法在梯度方向上步进来导航通过指数搜索空间,仅尝试那些预期会改善 结果的方向,而不是全面搜索整个空间。
基于梯度的搜索技术的一个缺点是它们倾向于假定搜索空间具有凸形 状;如果不具有,所述方法不能保证落在全局最优决策上。为此,可以采 用随机策略梯度算法,而不是规则策略梯度算法。不是基于梯度方向选择 下一个策略选项,而是将概率分配给所有选项并对分布进行采样。在非零 概率的情况下,在未由最优梯度指示的方向上步进。这样做时,所述实施 例可以避开局部最大值。在随机策略梯度算法中,不是学习使目标函数最 大化的策略选项,而是学习使目标函数最大化的策略分布。在梯度方向上 的步进更新了概率分布,并且倾向于将更大的概率分配给与梯度一致的方 向,但仍存在选择其他选项的某种概率。
实施例中所采用的方法还利用增强学习技术和H-POMDP解决三个经 典挑战。第一个挑战是增强学习挑战,所述挑战与平衡策略空间的新区域 的探查与最佳已知的最优策略的利用有关。在大多数时候,过多强调探查 的方法使用次优策略。过多强调利用的方法可能会满足于次优策略,并将 潜在的利益留在桌面上。一些实施例中所使用的随机策略梯度技术保证搜 索空间的新区域将被尝试,因为所有策略选项在策略分布中具有非零概率。
此外,虽然似乎存在这样的风险:采取梯度步骤和更新分布以增加有 希望方向上的权重可能会逐渐对“最佳已知”选项产生强烈的偏置并进行 抽取探查,但是一个实施例并入有正则化组件,所述正则化组件通过将分 布缓慢推动到均匀分布来抗衡不适当的偏置。这些相反力的强度在运行时 系统地调整。一个实施例测量目标函数度量与策略之间的关系是多稳定和 可预测的。关系越稳定和可预测,梯度步骤的力越强(注意:每一步添加的偏置量可以是恒定的,但梯度步骤可能会更频繁,从而使力有效地加强)。 当关系不稳定或不可预测时,正则化获胜。
第二个挑战是影响所有控制系统,而不仅仅影响增强学习控制系统的 挑战。这是噪声的挑战。实施例通过上文的相反力机制来部分地解决噪声 挑战,并且通过数字信号处理技术来部分地解决噪声挑战。特别是,噪声 将引起目标函数度量与策略之间的关系预测不足。实施例仅在噪声最近较 低并且关系是可预测的(换言之,在梯度结果可以依赖于转向更好的策略 时)才采用梯度步骤。在高噪声的时段中,正则化将会获胜。一个实施例 具有配置每个梯度步骤和每个正则化步骤的偏置强度的自由参数。这些参 数被配置成用于确保只要应用经历在目标函数度量与策略之间具有稳定、 可预测的关系的某些时段,梯度步骤的偏置将全部获胜,并且策略分布将 随着时间的推移而达到最优状态。可以使用许多方法来配置偏置和正则化 步长;一些方法是手动的,但可以遵循规范技术,而一些方法是自动在线 方法。
一些实施例用来解决噪声挑战的另一种机制是数字信号处理。可以使 用许多信号处理方法。在一个示例中,将移动平均或中值滤波器应用于目 标函数信号。这种滤波器倾向于使用先前值的较短历史来使信号平滑。也 可以对目标函数的输入应用滤波器。如果目标函数除以具有相对较小幅度 的任何信号,则此举可以具有优点,其中分母中的噪声将通过除法运算放 大。
第三个挑战是确保控制稳定性,尽管在整个H-POMDP增强学习分层 结构中进行分布式调整。考虑以下示例。假设父代改变到新功率预算,之 后子代有机会在它们的子代中搜索所述预算的最优划分。如果发生这种情 况,父代可能会使其对功率预算工作得如何的估计建立在来自子代的不完 整数据的基础上。实际上,父代可能永远不会从子代获得完整数据,并且 数据将是随机的。然而,H-POMDP可能永远不会收敛或可能需要太长时间 才能收敛于良好的全局策略,除非子代有时间找到预算的良好划分。
根据一些实施例,存在针对所述问题的许多解决方案。一个示例包括 安排增强学习代理以预定时间间隔操作,其中当沿分层结构向上(从叶到 根)移动时间隔持续时间粗化。另一种方法是让调整时间尺度在整个代理 分层结构中为自配置的。分层结构的层级尽可能快地操作,但它们的速度 受速率限制,以确保正确性:父块等待来自子代的输入;当子代已经达到 良好的策略(例如,良好的功率分配)时,子代只发送评估目标函数所需 的性能或其他信息。因此,在子代准备好之前,父代无法设定新策略(例 如,子代的新功率预算)。这种自配置策略具有使全局策略优化响应能力 最大化的优点。根据一些实施例,存在多种方式来确定何时达到良好策略。 一种规范方式是收敛性测试:如果最后k次迭代中的策略变化小于ε,则已 经达到了良好策略。k和ε是可以根据离线手动程序调整的自由参数。
在H-POMDP分层结构的最后层级处,增强学习代理将不会有子代。 在分层结构的这一层级上,代理可以选择何时对目标函数度量进行采样, 并尝试新策略选项。可以在阶段变化事件后对目标函数进行采样,例如以 比阶段持续时间更粗的固定时间间隔进行采样,或者以比阶段持续时间更 细的固定时间间隔进行采样。可以在收集一个或多个样本之后测试新策略, 但经获得用于每次测试的样本数量可以是可变的或固定的。
另外,一些实施例可以与基于阶段的优化协同作用。对于基于阶段的 优化,针对每个应用阶段的增强学习代理而实例化状态的一个副本。可以 使用类似或相同的增强学习代理的H-POMDP分层机构,但是它们将根据 应用处于哪一阶段而在不同状态下操作。在任何给定时间,实施例确定当 前应用阶段并加载正确的状态。增强学习代理的任务是在各个阶段优化相 同的目标函数,但不同阶段可能有独特的策略。此外,当前阶段和每个阶 段的策略定义可以如前所描述的以许多方式确定。一些示例包括通过应用 (或其他软件层)中的标记从编程器获得信息。在确定当前阶段的情况下, 也可以通过对不同计算资源中的活动进行动态分析(经由使用硬件中的事 件计数器)来推断。
图4示出了根据实施例的计算系统400的框图。计算系统400可以包 括经由互连网络(或总线)404通信的一个或多个中央处理单元(CPU)402 或处理器。处理器402可以包括通用处理器、网络处理器(所述网络处理 器对通过计算机网络403传达的数据进行处理)、应用处理器(诸如蜂窝 电话、智能电话等中所使用的那些)或其他类型的处理器(包括精简指令 集计算机(RISC)处理器或复杂指令集计算机(CISC))。
可以使用不同类型的计算机网络403,包括有线(例如,以太网、千 兆、光纤等)或无线网络(诸如蜂窝、3G(第三代蜂窝电话技术或第三代 无线格式(UWCC))、4G(第4代(无线/移动通信))、低功耗嵌入式 (LPE)等)。而且,处理器402可以具有单核或多核设计。具有多核设计 的处理器402可以将不同类型的处理器核集成在同一集成电路(IC)管芯 上。同样,具有多核设计的处理器402可以被实现为对称或非对称多重处 理器。
在实施例中,处理器402中的一个或多个可以与图1中的处理器102 相同或相似。例如,处理器402中的一个或多个可以包括核106和/或高速 缓存108中的一个或多个。同样,参照图1至图4所论述的操作可以由系 统400的一个或多个组件执行。
芯片组406还可以与互连网络404通信。芯片组406可以包括图形和 存储器控制器集线器(GMCH)408。GMCH 408可以包括与存储器114通 信的存储器控制器410(所述存储器控制器可以与图1的存储器控制器120 相同或类似)。系统400还可以包括位于各种位置中的逻辑150(诸如图4 中所示的但可以位于系统400内的其他位置(未示出)中的那些)。存储器114可以存储数据,包括指令序列,所述指令序列被CPU 402或计算系 统400中所包括的任何其他设备执行。在一个实施例中,存储器114可以 包括一个或多个易失性/非易失性存储(或存储器)设备,诸如随机存取存 储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备,诸如硬盘、纳米线存储器、铁电 晶体管随机存取存储器(FeTRAM)、磁阻随机存取存储器(MRAM)、 闪速存储器、自旋力矩转移随机存取存储器(STTRAM)、电阻随机存取 存储器、诸如PCM(相变存储器)的3D交叉点存储器、具有NAND/NOR存储器的固态驱动器(SSD)等。附加设备可以经由诸如多个CPU和/或多 个系统存储器的互连网络404进行通信。
GMCH 408还可以包括与图形加速器416通信的图形接口414。在一个 实施例中,图形接口414可以经由加速图形端口(AGP)或外围组件互连(PCI)(或PCI Express(PCIe)接口)与图形加速器416通信。在实施例 中,显示设备417(比如扁平面板显示器、触摸屏幕等)可以通过例如信号 转换器与图形接口414通信,所述信号转换器将存储设备(比如视频存储 器或系统存储器)中所存储的图像的数字表示转换成由显示器解释并显示 的显示信号。显示器设备所产生的显示信号可以在被显示设备417解释并 随后显示在其上之前传递通过各控制设备。
集线器接口418可以允许GMCH 408和输入/输出控制集线器(ICH) 420通信。ICH420可以提供至与计算系统400通信的I/O设备的接口。ICH 420可以通过外围桥接器(或控制器)424比如外围部件互连(PCI)桥接 器、通用串行总线(USB)控制器或其他类型的外围桥接器或控制器与总 线422通信。桥接器424可以在CPU 402与外围设备之间提供数据路径。 可以利用其他类型的拓扑结构。同样,多个总线可以例如通过多个桥接器 或控制器与ICH 420通信。而且,在各实施例中,与ICH 420通信的其他 外围设备可以包括集成驱动电子设备(IDE)或(多个)小型计算机系统接 口(SCSI)硬盘驱动、(多个)USB端口、键盘、鼠标、(多个)并行端 口、(多个)串行端口、(多个)软盘驱动、数字输出支持(例如,数字 视频接口(DVI)或其他设备。
总线422可以与音频设备426、一个或多个磁盘驱动428、和(例如, 经由有线或无线接口与计算机网络403通信的)网络接口设备430通信。 如图所示,网络接口设备430可以耦合到天线431,以便(例如,经由电气 和电子工程师协会(IEEE)802.11接口(包括IEEE802.11a/b/g/n等)、蜂 窝接口、3G、4G、LPE等)与网络403无线地通信。其他设备可以经由总线422通信。同样,在一些实施例中,各部件(比如网络接口设备430)可 以与GMCH 408通信。另外,处理器402和GMCH 408可以组合以形成单 个芯片。此外,在其他实施例中,GMCH 408内可以包括图形加速器416。
此外,计算系统400可以包括易失性和/或非易失性存储器(或存储设 备)。例如,非易失性存储器可以包括一下各项中的一项或多项:只读存 储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、磁盘驱动(例如428)、软盘、高密度磁盘ROM(CD-ROM)、数字多功能盘(DVD)、闪存存储器、磁光盘或能够存储 电子数据(例如,包括指令)的其他类型的非易失性机器可读介质。
图5展示了根据实施例的被安排为点到点(PtP)配置的计算系统500。 具体地,图5示出了一种系统,在所述系统中,处理器、存储器以及输入/ 输出设备通过许多点对点接口互连。参照图1至图4所论述的操作可以由 系统500的一个或多个组件执行。
如图5所展示的,系统500可以包括若干处理器,为清楚起见,仅示 出了其中两个,即处理器502和504。处理器502和504可以各自包括本地 存储器控制器集线器(MCH)506和508用于使能与存储器510和512的 通信。存储器510和/或512可以存储各种数据,诸如参照图1和/或图4的 存储器114所论述的那些。此外,在一些实施例中,MCH 506和508可以 包括图1至图4的存储器控制器120和/或逻辑150。
在实施例中,处理器502和504可以是参照图4所论述的处理器402 之一。处理器502和504可以分别使用点到点(PtP)接口电路516和518 经由PtP接口514交换数据。同样,处理器502和504中可以各自使用点 到点接口电路526、528、530和532经由单独的PtP接口522和524来与 芯片组520交换数据。芯片组520可以进一步经由高性能图形接口536(例如,使用PtP接口电路537)与高性能图形电路534交换数据。如参照图4 所论述的,在一些实施例中,图形接口536可以耦合到显示设备(例如, 显示器417)。
如图5所示,图1的一个或多个核106和/或高速缓存108可以位于处 理器502和504内。然而,图5的系统500内的其他电路、逻辑单元或设 备中可以存在其他实施例。此外,其他实施例可以贯穿图5中所展示的若 干电路、逻辑单元或设备分布。
芯片组520可以使用PtP接口电路541与总线540通信。总线540可 以具有与其通信的一个或多个设备,诸如总线桥接器542和I/O设备543。 经由总线544,总线桥接器542可以与其他设备通信,诸如键盘/鼠标545、 通信设备546(诸如调制解调器、网络接口设备或可以包括经由天线431 与计算机网络431通信的其他通信设备,如参照例如网络接口设备430所 论述的)、音频I/O设备647、和/或数据存储设备548。数据存储设备548 可以存储代码549,所述代码可以由处理器502和/或504执行。
在一些实施例中,在此所论述的组件中的一个或多个可以被具体化为 片上系统(SOC)设备。图6展示了根据实施例的SOC封装体的框图。如 图6中所展示的,SOC 602包括一个或多个中央处理单元(CPU)核620、 一个或多个图形处理器单元(GPU)核630、输入/输出(I/O)接口640、 和存储器控制器120。SOC封装体602的各组件可以耦合至互连或总线/网络,比如在此参照其他附图所论述的SCON 204。同样,SOC封装体602 可以包括更多或更少的部件,比如,如在此参照其他附图所论述的那些。 进一步,SOC封装体602的每个部件可以包括一个或多个其他部件,例如, 如在此参照其他附图所论述的那些。在一个实施例中,SOC封装体602(及 其部件)设置在一个或多个集成电路(IC)管芯上,例如,所述管芯被封装至单个半导体设备上。
如图6所示,SOC封装体602经由诸如存储器控制器120的接口耦合 到主存储器114(其位于SOC封装体602的外部)。在实施例中,存储器 114(或其一部分)可以被整合在SOC封装体602上。
I O接口640可以耦合至一个或多个I/O设备670,例如经由互连和/ 或总线,比如在此参照其他附图所论述的。(多个)I/O设备670可以包括 以下各项中的一项或多项:键盘、鼠标、触摸板、显示器、图像/视频捕获 设备(比如照相机或摄录像机/录像机)、触摸屏、扬声器等。此外,在实 施例中,SOC封装体602可以包括/整合逻辑150。可替代地,逻辑150可以设置在SOC封装体602外部(即,作为分立的逻辑)。
以下示例涉及进一步的实施例。示例1包括一种装置,所述装置包括: 逻辑,所述逻辑耦合到多个节点中的每个节点,以引起确定用于功率和性 能管理的策略从而传输到所述多个节点,其中,所述策略用于跨所述多个 节点协调功率和性能管理,其中,所述策略用于管理对一个或多个目标函 数的作业,其中,所述作业包括有待在所述多个节点上并发运行的多个任 务示例2包括示例1所述的装置,其中,所述逻辑用于针对所述多个节点 中的每一个确定单独的策略示例3包括示例1所述的装置,其中,所述逻 辑用于针对所述多个节点中的每一个的至少一部分确定单独的策略示例4 包括示例1所述的装置,其中,所述一个或多个目标函数包括以下各项中 的一项或多项:在满足功率上限的同时最大化性能;在满足功率上限的同 时最大化能量效率;在满足功率上限的同时最小化所述多个节点之间的性 能差异;最大化性能;或最大化效率;或在满足功率上限的同时最大化性 能并最大化效率示例5包括示例1所述的装置,其中,所述逻辑用于根据 分层机器学习操作进行操作。示例6包括示例1所述的装置,其中,所述 逻辑用于执行一个或多个操作以解决以下各项中的一项或多项:负载不平 衡问题、可扩缩性问题或灵活性问题示例7包括示例1所述的装置,其中, 所述策略用于跨所述作业中的所有节点协调功率和性能管理示例8包括示 例1所述的装置,其中,所述策略用于跨所述作业中的所有节点以及跨软 件和硬件抽象层来协调功率和性能管理示例9包括示例1所述的装置,其 中,所述逻辑用于根据随机策略梯度技术来确定所述策略示例10包括示例 1所述的装置,其中,所述多个节点用于形成机柜,其中,所述策略在一个 或多个机柜之间分层分解,并且然后在所述多个节点之间分层分解示例11 包括示例1所述的装置,进一步包括可扩缩覆盖网络,所述可扩缩覆盖网 络用于耦合所述多个节点示例12包括示例1所述的装置,进一步包括可扩 缩覆盖网络,所述可扩缩覆盖网络用于耦合所述多个节点,其中,所述可 扩缩覆盖网络用于提供功率或性能遥测的聚合以及控制的传播示例13包括 示例1所述的装置,其中,片上系统(SOC)集成电路包括所述逻辑以及 存储器示例14包括示例1所述的装置,其中,所述多个节点中的每个节点 包括以下各项中的一项或多项:具有一个或多个处理器核的处理器;具有 一个或多个处理器核的图形处理单元;到网络结构的连接;登录组件;服 务组件;存储器或输入/输出设备。
示例15包括一种方法,所述方法包括:引起针对多个节点中的每个节 点确定用于功率和性能管理策略;以及将所述策略传输到所述多个节点, 其中,所述策略跨所述多个节点协调功率和性能管理,其中,所述策略管 理对一个或多个目标函数的作业,其中,所述作业包括有待在所述多个节 点上并发运行的多个任务。示例16包括示例15所述的方法,进一步包括 针对所述多个节点中的每一个确定单独的策略示例17包括示例15所述的 方法,进一步包括针对所述多个节点中的每一个的至少一部分确定单独的 策略示例18包括示例15所述的方法,其中,所述一个或多个目标函数包 括以下各项中的一项或多项:在满足功率上限的同时最大化性能;在满足 功率上限的同时最大化能量效率;在满足功率上限的同时最小化所述多个 节点之间的性能差异;最大化性能;或最大化效率;或在满足功率上限的 同时最大化性能并最大化效率示例19包括示例15所述的方法,其中,所 述确定根据分层机器学习操作进行操作。示例20包括示例15所述的方法, 其中,所述确定被执行以解决以下各项中的一项或多项:负载不平衡问题、 可扩缩性问题或灵活性问题示例21包括示例15所述的方法,进一步包括 所述策略跨所述作业中的所有节点协调功率和性能管理示例22包括示例 15所述的方法,进一步包括所述策略跨所述作业中的所有节点以及跨软件 和硬件抽象层来协调功率和性能管理示例23包括示例15所述的方法,进 一步包括:根据随机策略梯度技术来确定所述策略示例24包括示例15所 述的方法,其中,所述多个节点形成机柜,其中,所述策略在一个或多个 机柜之间分层分解,并且然后在所述多个节点之间分层分解示例25包括示 例15所述的方法,进一步包括:经由可扩缩覆盖网络耦合所述多个节点示 例26包括示例15所述的方法,进一步包括:经由可扩缩覆盖网络耦合所 述多个节点,其中,所述可扩缩覆盖网络提供功率或性能遥测的聚合以及 控制的传播。
示例27包括一种包括一条或多条指令的计算机可读介质,所述一条或 多条指令当在处理器上被执行时将所述处理器配置成用于执行以下一个或 多个操作:引起针对多个节点中的每个节点确定功率和性能管理策略;以 及将所述策略传输到所述多个节点,其中,所述策略跨所述多个节点协调 功率和性能管理,其中,所述策略管理对一个或多个目标函数的作业,其 中,所述作业包括有待在所述多个节点上并发运行的多个任务示例28包括 示例23所述的计算机可读介质,进一步包括一条或多条指令,所述一条或 多条指令当在处理器上被执行时将所述处理器配置成用于执行以下一个或 多个操作:引起针对所述多个节点中的每一个确定单独的策略示例29包括 示例23所述的计算机可读介质,进一步包括一条或多条指令,所述一条或 多条指令当在处理器上被执行时将所述处理器配置成用于执行以下一个或 多个操作:引起针对所述多个节点中的每一个的至少一部分确定单独的策 略。
示例30包括一种设备,所述设备包括用于执行如任一前述示例中所提 出的方法的装置。
示例31包括一种机器可读存储设备,所述机器可读存储设备包括机器 可读指令,所述机器可读指令当被执行时用于实施如任一前述示例所提出 的方法或实现如任一前述示例所提出的装置。
在各实施例中,在此(例如,参照图1至图6)所论述的操作可以被 实现为硬件(例如,电路)、软件、固件、微码或其组合,其可以被设置 为计算机程序产品,例如包括具有存储在其上用于对计算机编程以执行在 此所论述的过程的指令(或软件程序)的有形(例如,非瞬态)机器可读 或计算机可读介质。此外,术语“逻辑”可以包括例如软件、硬件或软件和硬件的组合。所述机器可读介质可以包括存储设备,比如参照图1至图6 所论述的那些。
另外,这种有形计算机可读介质可以作为计算机程序产品被下载,其 中,所述程序可以经由通信链路(例如,总线、调制解调器或网络连接) 以数据信号(诸如载波或其他传播介质)的方式被从远程计算机(例如, 服务器)传送至进行请求的计算机(例如,客户端)。
本说明书中对“一个实施例”或“实施例”的引用意味着结合所述实 施例所描述的具体特征、结构、或特性可以包括在至少一种实现方式中。 短语“在一个实施例中”在本说明书中各地方的出现可以或可以不全都引 用相同的实施例。
同样,在说明书和权利要求书中,可以使用术语“耦合”和“连接” 及其衍生词。在一些实施例中,“连接”可以用于指示两个或更多元件彼 此进行直接物理或电气接触。“耦合”可以意指两个或更多个元件进行直 接物理或电气接触。然而,“耦合”还可以意指两个或更多个元件可以并 非彼此直接接触,但仍可以彼此合作或交互。
因而,虽然已经使用特定于结构特征和/或方法行为的语言描述了实施 例,将理解的是,所要求保护的主题可以不限于所述的特定特征或行为。 相反,所述特定特征和行为被作为实现所要求保护的主题的示例形式而公 开。
Claims (33)
1.一种装置,包括:
多芯片集成电路(IC)封装,包括:
多个处理器IC芯片,每个处理器IC芯片包括:
多个处理器核,以及
第一功率管理器,用于控制所述处理器IC芯片的功耗和性能,所述第一功率管理器用于管理与所述多个处理器核中的一个或多个相关联的一个或多个时钟频率;
互连IC芯片,所述互连IC芯片被耦合至所述多个IC芯片中的至少一个,所述互连IC芯片包括:
存储器控制器,用于将存储器设备耦合至系统组件,所述系统组件包括所述多个处理器核,
输入/输出(I/O)接口,用于将一个或多个I/O设备耦合至所述互连IC芯片,以及
第二功率管理器,用于跨多芯片封装中的所有IC芯片协调性能和功率策略,所述所有IC芯片包括所述一个或多个处理器IC芯片和所述互连IC芯片,
所述第二功率管理器用于聚合接收自多个第一功率管理器的功率和/或性能遥测数据,以及基于所聚合的功率和/或性能遥测数据来向第一多个功率管理器传送控制信号以向所述第一多个功率管理器指示一个或多个功率和/或性能约束,所述多个第一功率管理器包括所述第一功率管理器,
其中所述第一功率管理器用于独立于其他处理器IC芯片的其他第一功率管理器并根据由所述第二功率管理器指示的功率和/或性能限制来控制其相应处理器IC芯片的功耗和/或性能。
2.如权利要求1所述的装置,其特征在于,进一步包括:
可扩缩控制结构,用于耦合至所述一个或多个处理器IC芯片和所述互连IC芯片。
3.如权利要求2所述的装置,其特征在于,所述可扩缩控制结构包括能在物理通信结构上操作的可扩缩覆盖,所述物理通信结构除控制信号之外还支持数据信号。
4.如权利要求1所述的装置,其特征在于,响应于对第一控制信号的接收,所述第一功率控制器用于更改至少一个相关联核的频率。
5.如权利要求1所述的装置,其特征在于,所述第二功率管理器包括用于执行固件或软件以聚合接收自所述第一功率管理器的功率和/或性能遥测数据以及用于向所述第一功率管理器传送所述控制信号的电路系统。
6.如权利要求4所述的装置,其特征在于,所述第一功率管理器包括用于执行固件或软件以根据由所述第二功率管理器指示的功率和/性能限制来控制其相应处理器IC芯片的功耗和/或性能的电路系统。
7.如权利要求6所述的装置,其特征在于,所述第二功率管理器和所述第一功率管理器包括相同的电路系统,但是基于所述第二功率管理器与所述第一功率管理器之间的分层关系来执行不同的功能。
8.如权利要求7所述的装置,其特征在于,围栏执行所述不同的功能,所述第二功率管理器和所述第一功率管理器执行不同的程序代码序列。
9.如权利要求8所述的装置,其特征在于,所述不同的程序代码序列包括固件或软件的程序代码。
10.如权利要求9所述的装置,其特征在于,所述固件或软件包括用于学习如何跨所述系统以及个体处理器内的执行资源分配功率的机器学习固件或软件。
11.如权利要求10所述的装置,其特征在于,所述机器学习固件或软件包括增强学习固件或软件。
12.一种系统,包括:
系统存储器;以及
多芯片集成电路(IC)封装,所述多芯片集成电路(IC)封装被耦合所述系统存储器,所述多芯片IC封装包括:
多个处理器IC芯片,每个处理器IC芯片包括:
多个处理器核,以及
第一功率管理器,用于控制所述处理器IC芯片的功耗和性能,所述第一功率管理器用于管理与所述多个处理器核中的一个或多个相关联的一个或多个时钟频率;
互连IC芯片,所述互连IC芯片被耦合至所述多个IC芯片中的至少一个,所述互连IC芯片包括:
存储器控制器,所述存储器控制器用于将所述多个处理器核耦合至所述系统存储器,
输入/输出(I/O)接口,用于将一个或多个I/O设备耦合至所述互连IC芯片,以及
第二功率管理器,用于跨多芯片封装中的所有IC芯片协调性能和功率策略,所述所有IC芯片包括所述一个或多个处理器IC芯片和所述互连IC芯片,
所述第二功率管理器用于聚合接收自多个第一功率管理器的功率和/或性能遥测数据,以及基于所聚合的功率和/或性能遥测数据来向第一多个功率管理器传送控制信号以向所述第一多个功率管理器指示一个或多个功率和/或性能约束,所述多个第一功率管理器包括所述第一功率管理器,
其中所述第一功率管理器用于独立于其他处理器IC芯片的其他第一功率管理器并根据由所述第二功率管理器指示的功率和/或性能限制来控制其相应处理器IC芯片的功耗和/或性能。
13.如权利要求12所述的系统,其特征在于,进一步包括:
可扩缩控制结构,用于耦合至所述一个或多个处理器IC芯片和所述互连IC芯片。
14.如权利要求13所述的系统,其特征在于,所述可扩缩控制结构包括能在物理通信结构上操作的可扩缩覆盖,所述物理通信结构除控制信号之外还支持数据信号。
15.如权利要求12所述的系统,其特征在于,响应于对第一控制信号的接收,所述第一功率控制器用于更改至少一个相关联核的频率。
16.如权利要求12所述的系统,其特征在于,所述第二功率管理器包括用于执行固件或软件以聚合接收自所述第一功率管理器的功率和/或性能遥测数据以及用于向所述第一功率管理器传送所述控制信号的电路系统。
17.如权利要求15所述的系统,其特征在于,所述第一功率管理器包括用于执行固件或软件以根据由所述第二功率管理器指示的功率和/性能限制来控制其相应处理器IC芯片的功耗和/或性能的电路系统。
18.如权利要求17所述的系统,其特征在于,所述第二功率管理器和所述第一功率管理器包括相同电路系统,但是基于所述第二功率管理器与所述第一功率管理器之间的分层关系来执行不同的功能。
19.如权利要求18所述的系统,其特征在于,围栏执行所述不同的功能,所述第二功率管理器和所述第一功率管理器执行不同的程序代码序列。
20.如权利要求19所述的系统,其特征在于,所述不同的程序代码序列包括固件或软件的程序代码。
21.如权利要求20所述的系统,其特征在于,所述固件或软件包括用于学习如何跨所述系统以及个体处理器内的执行资源分配功率的机器学习固件或软件。
22.如权利要求21所述的系统,其特征在于,所述机器学习固件或软件包括增强学习固件或软件。
23.一种其上存储有程序代码的机器可读介质,所述程序代码在由机器执行时,使所述机器执行包括以下的操作:
由第一功率管理器管理多个处理器IC芯片中的处理器IC芯片的功耗和性能,每个处理器IC芯片包括多个处理器核,所述第一功率管理器用于管理与所述多个处理器核中的一个或多个相关联的一个或多个时钟频率;
由互连IC芯片将所述多个处理器核耦合至存储器设备的存储器控制器,
由所述互连IC芯片的输入/输出(I/0)接口将一个或多个I/0设备耦合至所述存储器控制器,
由所述互连IC芯片的第二功率管理器跨多芯片封装中的所有IC芯片协调性能和功率策略,所述所有IC芯片包括所述一个或多个处理器IC芯片和所述互连IC芯片,
由所述第二功率管理器用于聚合接收自多个第一功率管理器的功率和/或性能遥测数据,以及基于所聚合的功率和/或性能遥测数据来向第一多个功率管理器传送控制信号以向所述第一多个功率管理器指示一个或多个功率和/或性能约束,所述多个第一功率管理器包括所述第一功率管理器,
其中所述第一功率管理器用于独立于其他处理器IC芯片的其他第一功率管理器并根据由所述第二功率管理器指示的功率和/或性能限制来控制其相应处理器IC芯片的功耗和/或性能。
24.如权利要求23所述的机器可读介质,其特征在于,可扩缩控制结构用于耦合至所述一个或多个处理器IC芯片和所述互连IC芯片。
25.如权利要求24所述的机器可读介质,其特征在于,所述可扩缩控制结构包括能在物理通信结构上操作的可扩缩覆盖,所述物理通信结构除控制信号之外还支持数据信号。
26.如权利要求23所述的机器可读介质,其特征在于,响应于对第一控制信号的接收,所述第一功率控制器用于更改至少一个相关联核的频率。
27.如权利要求23所述的机器可读介质,其特征在于,所述第二功率管理器包括用于执行固件或软件以聚合接收自所述第一功率管理器的功率和/或性能遥测数据以及用于向所述第一功率管理器传送所述控制信号的电路系统。
28.如权利要求26所述的机器可读介质,其特征在于,所述第一功率管理器包括用于执行固件或软件以根据由所述第二功率管理器指示的功率和/性能限制来控制其相应处理器IC芯片的功耗和/或性能的电路系统。
29.如权利要求27所述的机器可读介质,其特征在于,所述第二功率管理器和所述第一功率管理器包括相同电路系统,但是基于所述第二功率管理器与所述第一功率管理器之间的分层关系来执行不同功能。
30.如权利要求29所述的机器可读介质,其特征在于,围栏执行所述不同的功能,所述第二功率管理器和所述第一功率管理器执行不同的程序代码序列。
31.如权利要求30所述的机器可读介质,其特征在于,所述不同的程序代码序列包括固件或软件的程序代码。
32.如权利要求31所述的机器可读介质,其特征在于,所述固件或软件包括用于学习如何跨所述系统以及个体处理器内的执行资源分配功率的机器学习固件或软件。
33.如权利要求32所述的机器可读介质,其特征在于,所述机器学习固件或软件包括增强学习固件或软件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/580,150 US10101786B2 (en) | 2014-12-22 | 2014-12-22 | Holistic global performance and power management |
US14/580,150 | 2014-12-22 | ||
CN201580063584.XA CN107003901A (zh) | 2014-12-22 | 2015-11-24 | 整体全局性能和功率管理 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580063584.XA Division CN107003901A (zh) | 2014-12-22 | 2015-11-24 | 整体全局性能和功率管理 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722061A true CN113722061A (zh) | 2021-11-30 |
Family
ID=56129304
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580063584.XA Pending CN107003901A (zh) | 2014-12-22 | 2015-11-24 | 整体全局性能和功率管理 |
CN202110878299.0A Pending CN113722061A (zh) | 2014-12-22 | 2015-11-24 | 整体全局性能和功率管理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580063584.XA Pending CN107003901A (zh) | 2014-12-22 | 2015-11-24 | 整体全局性能和功率管理 |
Country Status (6)
Country | Link |
---|---|
US (4) | US10101786B2 (zh) |
EP (1) | EP3238002A4 (zh) |
JP (3) | JP2018500673A (zh) |
KR (3) | KR20240005113A (zh) |
CN (2) | CN107003901A (zh) |
WO (1) | WO2016105791A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10101786B2 (en) | 2014-12-22 | 2018-10-16 | Intel Corporation | Holistic global performance and power management |
US9733684B2 (en) | 2015-09-14 | 2017-08-15 | Samsung Electronics Co., Ltd. | System and method for controlling power consumption |
US10002056B2 (en) | 2015-09-15 | 2018-06-19 | Texas Instruments Incorporated | Integrated circuit chip with cores asymmetrically oriented with respect to each other |
US10146286B2 (en) * | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10296074B2 (en) * | 2016-08-12 | 2019-05-21 | Qualcomm Incorporated | Fine-grained power optimization for heterogeneous parallel constructs |
US9792397B1 (en) * | 2017-01-08 | 2017-10-17 | Alphaics Corporation | System and method for designing system on chip (SoC) circuits through artificial intelligence and reinforcement learning |
DK3568810T3 (da) * | 2017-02-24 | 2023-11-13 | Deepmind Tech Ltd | Handlingsudvælgelse til forstærkningslæring ved hjælp af neurale netværk |
KR20180098904A (ko) * | 2017-02-27 | 2018-09-05 | 삼성전자주식회사 | 컴퓨팅 장치 및 컴퓨팅 장치에 포함된 복수의 코어들에 전력을 할당하는 방법 |
CN110914783A (zh) * | 2017-07-20 | 2020-03-24 | 惠普发展公司,有限责任合伙企业 | 应用程序电力分配 |
US10444813B2 (en) * | 2017-09-28 | 2019-10-15 | Intel Corporation | Multi-criteria power management scheme for pooled accelerator architectures |
GB2569269B (en) * | 2017-10-20 | 2020-07-15 | Graphcore Ltd | Synchronization in a multi-tile processing arrangement |
US11054887B2 (en) * | 2017-12-28 | 2021-07-06 | Advanced Micro Devices, Inc. | System-wide low power management |
US11568236B2 (en) | 2018-01-25 | 2023-01-31 | The Research Foundation For The State University Of New York | Framework and methods of diverse exploration for fast and safe policy improvement |
US11106211B2 (en) * | 2018-04-02 | 2021-08-31 | Sony Group Corporation | Vision-based sample-efficient reinforcement learning framework for autonomous driving |
US11055139B2 (en) * | 2018-06-12 | 2021-07-06 | International Business Machines Corporation | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster |
CN109242098A (zh) * | 2018-07-25 | 2019-01-18 | 深圳先进技术研究院 | 限定代价下神经网络结构搜索方法及相关产品 |
JP7460633B2 (ja) * | 2018-12-19 | 2024-04-02 | パックサイズ リミティド ライアビリティ カンパニー | コンピュータビジョンを使用する複合視覚検査タスクの連携学習のためのシステムと方法 |
JP7409326B2 (ja) * | 2019-01-15 | 2024-01-09 | ソニーグループ株式会社 | サーバおよび学習システム |
US11316901B1 (en) * | 2019-06-06 | 2022-04-26 | NortonLifeLock Inc. | Systems and methods for protecting users |
US11663494B2 (en) * | 2019-12-05 | 2023-05-30 | Uchicago Argonne, Llc | Systems and methods for hierarchical multi-objective optimization |
US11651839B2 (en) | 2020-03-02 | 2023-05-16 | Uchicago Argonne, Llc | Systems and methods for generating phase diagrams for metastable material states |
US11710038B2 (en) | 2020-04-13 | 2023-07-25 | Uchicago Argonne, Llc | Systems and methods for active learning from sparse training data |
CN113239655B (zh) * | 2020-05-21 | 2024-06-28 | 台湾积体电路制造股份有限公司 | 半导体电路的约束确定系统和方法 |
US11914527B2 (en) | 2021-10-26 | 2024-02-27 | International Business Machines Corporation | Providing a dynamic random-access memory cache as second type memory per application process |
CN114006941B (zh) * | 2021-10-30 | 2024-07-09 | 平安国际智慧城市科技股份有限公司 | 数据同步方法、装置、计算机设备及介质 |
EP4195044A1 (fr) * | 2021-12-09 | 2023-06-14 | Bull SAS | Méthode d'optimisation de la consommation énergétique d'une infrastructure informatique par suspension de travaux |
JP7392027B2 (ja) * | 2022-04-14 | 2023-12-05 | ソフトバンク株式会社 | システム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477399A (zh) * | 2007-12-28 | 2009-07-08 | 英特尔公司 | 电子系统的功率管理 |
CN103119580A (zh) * | 2010-09-25 | 2013-05-22 | 英特尔公司 | 异构多处理器计算平台中的应用调度 |
US20140189376A1 (en) * | 2012-12-28 | 2014-07-03 | Efraim Rotem | Total platform power control |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396635A (en) | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US6601084B1 (en) | 1997-12-19 | 2003-07-29 | Avaya Technology Corp. | Dynamic load balancer for multiple network servers |
JPH11202988A (ja) | 1998-01-13 | 1999-07-30 | Hitachi Ltd | システム消費電力制御方法 |
JP3563256B2 (ja) | 1998-02-13 | 2004-09-08 | 富士通株式会社 | 省電力機能の遠隔制御方法、情報処理装置及び記憶媒体 |
US6195739B1 (en) | 1998-06-29 | 2001-02-27 | Cisco Technology, Inc. | Method and apparatus for passing data among processor complex stages of a pipelined processing engine |
US6711691B1 (en) | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
US6748222B1 (en) | 2000-11-06 | 2004-06-08 | Nortel Networks Limited | Method and system for providing load-balanced communication |
US6704877B2 (en) | 2000-12-29 | 2004-03-09 | Intel Corporation | Dynamically changing the performance of devices in a computer platform |
US7143300B2 (en) * | 2001-07-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Automated power management system for a network of computers |
US6854035B2 (en) * | 2001-10-05 | 2005-02-08 | International Business Machines Corporation | Storage area network methods and apparatus for display and management of a hierarchical file system extension policy |
US20030079151A1 (en) | 2001-10-18 | 2003-04-24 | International Business Machines Corporation | Energy-aware workload distribution |
US6943714B2 (en) | 2002-08-19 | 2005-09-13 | Tdk Semiconductor Corporation | Method and apparatus of obtaining power computation parameters |
EP3321769A1 (en) | 2003-05-07 | 2018-05-16 | Conversant Intellectual Property Management Inc. | Managing power on integrated circuits using power islands |
US7051215B2 (en) * | 2003-06-13 | 2006-05-23 | Intel Corporation | Power management for clustered computing platforms |
US7146511B2 (en) * | 2003-10-07 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Rack equipment application performance modification system and method |
US7174471B2 (en) * | 2003-12-24 | 2007-02-06 | Intel Corporation | System and method for adjusting I/O processor frequency in response to determining that a power set point for a storage device has not been reached |
US7693991B2 (en) | 2004-01-16 | 2010-04-06 | International Business Machines Corporation | Virtual clustering and load balancing servers |
US8335909B2 (en) | 2004-04-15 | 2012-12-18 | Raytheon Company | Coupling processors to each other for high performance computing (HPC) |
JP4448784B2 (ja) | 2005-03-15 | 2010-04-14 | 株式会社日立製作所 | 並列計算機の同期方法及びプログラム |
US7549177B2 (en) | 2005-03-28 | 2009-06-16 | Intel Corporation | Advanced thermal management using an average power controller over an adjustable time window |
US7484108B2 (en) | 2005-06-23 | 2009-01-27 | Intel Corporation | Enhancing power delivery with transient running average power limits |
TW200805047A (en) * | 2005-12-23 | 2008-01-16 | Koninkl Philips Electronics Nv | Performance analysis based system level power management |
US7602874B2 (en) | 2006-01-26 | 2009-10-13 | International Business Machines Corporation | Providing accurate time-based counters for scaling operating frequencies of microprocessors |
US8316360B2 (en) | 2006-09-29 | 2012-11-20 | Intel Corporation | Methods and apparatus to optimize the parallel execution of software processes |
US7587621B2 (en) * | 2006-11-08 | 2009-09-08 | International Business Machines Corporation | Computer system management and throughput maximization in the presence of power constraints |
US7916676B2 (en) | 2007-03-23 | 2011-03-29 | Broadcom Corporation | Method and system for holistic energy management in ethernet networks |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8578193B2 (en) | 2007-11-28 | 2013-11-05 | International Business Machines Corporation | Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors |
US8806491B2 (en) | 2007-12-31 | 2014-08-12 | Intel Corporation | Thread migration to improve power efficiency in a parallel processing environment |
US8301742B2 (en) | 2008-04-07 | 2012-10-30 | International Business Machines Corporation | Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments |
KR20110007205A (ko) | 2008-04-21 | 2011-01-21 | 어댑티브 컴퓨팅 엔터프라이즈 인코포레이티드 | 컴퓨트 환경에서 에너지 소비를 관리하기 위한 시스템 및 방법 |
US8010815B2 (en) * | 2008-05-01 | 2011-08-30 | International Business Machines Corporation | Computational device power-savings |
US8122117B2 (en) | 2009-05-28 | 2012-02-21 | Microsoft Corporation | Determining an imbalance among computer-component usage |
JP5427504B2 (ja) * | 2009-08-03 | 2014-02-26 | 株式会社エヌ・ティ・ティ・データ | サービス実行装置、サービス実行方法 |
US20110055838A1 (en) | 2009-08-28 | 2011-03-03 | Moyes William A | Optimized thread scheduling via hardware performance monitoring |
US9442540B2 (en) | 2009-08-28 | 2016-09-13 | Advanced Green Computing Machines-Ip, Limited | High density multi node computer with integrated shared resources |
US8392661B1 (en) * | 2009-09-21 | 2013-03-05 | Tilera Corporation | Managing cache coherence |
US8892931B2 (en) | 2009-10-20 | 2014-11-18 | Empire Technology Development Llc | Power channel monitor for a multicore processor |
US8527740B2 (en) | 2009-11-13 | 2013-09-03 | International Business Machines Corporation | Mechanism of supporting sub-communicator collectives with O(64) counters as opposed to one counter for each sub-communicator |
US8341441B2 (en) | 2009-12-24 | 2012-12-25 | International Business Machines Corporation | Reducing energy consumption in a cloud computing environment |
US8627123B2 (en) * | 2010-03-25 | 2014-01-07 | Microsoft Corporation | Managing power provisioning in distributed computing |
US9542231B2 (en) | 2010-04-13 | 2017-01-10 | Et International, Inc. | Efficient execution of parallel computer programs |
US20110307716A1 (en) | 2010-06-10 | 2011-12-15 | Broadcom Corporation | Global control policy manager |
US8601288B2 (en) | 2010-08-31 | 2013-12-03 | Sonics, Inc. | Intelligent power controller |
US20120084028A1 (en) | 2010-09-30 | 2012-04-05 | Ibm Corporation | Framework and Methodology for a Real-Time Fine-Grained Power Profiling with Integrated Modeling |
US9128778B2 (en) * | 2010-12-30 | 2015-09-08 | Panduit Corp. | System and method for assignment of virtual machines based on physical information |
US8635483B2 (en) | 2011-04-05 | 2014-01-21 | International Business Machines Corporation | Dynamically tune power proxy architectures |
WO2012144011A1 (ja) | 2011-04-18 | 2012-10-26 | 富士通株式会社 | スレッド処理方法、およびスレッド処理システム |
WO2013030860A1 (ja) * | 2011-08-26 | 2013-03-07 | 株式会社日立製作所 | 予測型逐次計算装置 |
US8769316B2 (en) | 2011-09-06 | 2014-07-01 | Intel Corporation | Dynamically allocating a power budget over multiple domains of a processor |
US8799693B2 (en) * | 2011-09-20 | 2014-08-05 | Qualcomm Incorporated | Dynamic power optimization for computing devices |
TWI454905B (zh) | 2011-09-30 | 2014-10-01 | Intel Corp | 在多核心平台中之受限制的啓動技術 |
US8650423B2 (en) | 2011-10-12 | 2014-02-11 | Qualcomm Incorporated | Dynamic voltage and clock scaling control based on running average, variant and trend |
US8806410B2 (en) | 2011-10-28 | 2014-08-12 | The Board Of Trustees Of The University Of Illinois | Power balanced pipelines |
US9195516B2 (en) | 2011-12-01 | 2015-11-24 | International Business Machines Corporation | Determining collective barrier operation skew in a parallel computer |
US9141166B2 (en) | 2011-12-13 | 2015-09-22 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains |
US9304570B2 (en) | 2011-12-15 | 2016-04-05 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements |
CN102427230B (zh) * | 2011-12-19 | 2013-11-20 | 天津市电力公司 | 用于分布式微网孤岛运行风光储联合调度的方法及系统 |
JP5981020B2 (ja) | 2012-04-24 | 2016-08-31 | インテル コーポレイション | 効率的な消費電力管理のための動的インタラプト再コンフィグレーション |
CN103384372B (zh) * | 2012-05-03 | 2016-08-10 | 华为技术有限公司 | 一种优化网络容量和覆盖折中的方法、装置及系统 |
US8930948B2 (en) | 2012-06-21 | 2015-01-06 | Vmware, Inc. | Opportunistically proactive resource management using spare capacity |
US9110644B2 (en) | 2012-09-14 | 2015-08-18 | Intel Corporation | Providing additional current capacity to a processor for a turbo mode |
US9342122B2 (en) | 2012-09-17 | 2016-05-17 | Intel Corporation | Distributing power to heterogeneous compute elements of a processor |
US9110734B2 (en) | 2012-11-12 | 2015-08-18 | International Business Machines Corporation | Power-constrained compiler code generation and scheduling of work in a heterogeneous processing system |
US9235252B2 (en) | 2012-12-21 | 2016-01-12 | Intel Corporation | Dynamic balancing of power across a plurality of processor domains according to power policy control bias |
US9195285B2 (en) | 2012-12-27 | 2015-11-24 | Intel Corporation | Techniques for platform duty cycling |
TWI641943B (zh) | 2013-03-15 | 2018-11-21 | 美商英特爾公司 | 控制電源供應單元於閒置狀態期間的功率消耗之技術 |
JP6083278B2 (ja) * | 2013-03-22 | 2017-02-22 | 富士通株式会社 | 計算システム及びその電力管理方法 |
US9665154B2 (en) | 2013-05-31 | 2017-05-30 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Subsystem-level power management in a multi-node virtual machine environment |
US20160179167A1 (en) | 2013-08-02 | 2016-06-23 | Schneider Electric Usa Inc. | System and method for representing power system information |
US9568978B2 (en) * | 2013-09-26 | 2017-02-14 | Intel Corporation | Controlling power consumption in processor-based systems and components thereof |
KR20150050135A (ko) | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 |
US9588559B2 (en) | 2013-12-23 | 2017-03-07 | Intel Corporation | Configurable power supplies for dynamic current sharing |
US10101786B2 (en) | 2014-12-22 | 2018-10-16 | Intel Corporation | Holistic global performance and power management |
US9811143B2 (en) | 2014-12-23 | 2017-11-07 | Intel Corporation | Systems and methods for dynamic spatial power steering |
US10466754B2 (en) | 2014-12-26 | 2019-11-05 | Intel Corporation | Dynamic hierarchical performance balancing of computational resources |
US9477533B2 (en) | 2014-12-26 | 2016-10-25 | Intel Corporation | Progress meters in parallel computing |
JP7240673B2 (ja) | 2019-12-23 | 2023-03-16 | 株式会社デンソー | 成膜方法 |
-
2014
- 2014-12-22 US US14/580,150 patent/US10101786B2/en active Active
-
2015
- 2015-11-24 JP JP2017531539A patent/JP2018500673A/ja active Pending
- 2015-11-24 CN CN201580063584.XA patent/CN107003901A/zh active Pending
- 2015-11-24 WO PCT/US2015/062278 patent/WO2016105791A1/en active Application Filing
- 2015-11-24 KR KR1020237043736A patent/KR20240005113A/ko active Search and Examination
- 2015-11-24 KR KR1020177013595A patent/KR102701129B1/ko active IP Right Grant
- 2015-11-24 EP EP15873996.1A patent/EP3238002A4/en not_active Withdrawn
- 2015-11-24 KR KR1020217025103A patent/KR20210101337A/ko not_active Application Discontinuation
- 2015-11-24 CN CN202110878299.0A patent/CN113722061A/zh active Pending
-
2018
- 2018-10-16 US US16/162,303 patent/US10884471B2/en active Active
-
2021
- 2021-01-05 US US17/142,149 patent/US11740673B2/en active Active
- 2021-06-16 JP JP2021100077A patent/JP7222029B2/ja active Active
-
2023
- 2023-02-02 JP JP2023014366A patent/JP2023041852A/ja active Pending
- 2023-07-17 US US18/222,937 patent/US12093104B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477399A (zh) * | 2007-12-28 | 2009-07-08 | 英特尔公司 | 电子系统的功率管理 |
CN103119580A (zh) * | 2010-09-25 | 2013-05-22 | 英特尔公司 | 异构多处理器计算平台中的应用调度 |
US20140189376A1 (en) * | 2012-12-28 | 2014-07-03 | Efraim Rotem | Total platform power control |
Non-Patent Citations (1)
Title |
---|
CAROLYN L.TALCOTT: "Policy-basedCoordination in PAGODA:A Case Study", 《ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE》, pages 97 - 112 * |
Also Published As
Publication number | Publication date |
---|---|
KR20240005113A (ko) | 2024-01-11 |
WO2016105791A1 (en) | 2016-06-30 |
US20160179162A1 (en) | 2016-06-23 |
US10884471B2 (en) | 2021-01-05 |
CN107003901A (zh) | 2017-08-01 |
KR102701129B1 (ko) | 2024-09-02 |
US11740673B2 (en) | 2023-08-29 |
KR20210101337A (ko) | 2021-08-18 |
JP2021140825A (ja) | 2021-09-16 |
EP3238002A1 (en) | 2017-11-01 |
US12093104B1 (en) | 2024-09-17 |
US10101786B2 (en) | 2018-10-16 |
US20210247829A1 (en) | 2021-08-12 |
JP2018500673A (ja) | 2018-01-11 |
US20190121414A1 (en) | 2019-04-25 |
KR20170100487A (ko) | 2017-09-04 |
JP7222029B2 (ja) | 2023-02-14 |
EP3238002A4 (en) | 2018-08-29 |
JP2023041852A (ja) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7222029B2 (ja) | ホリスティックグローバルなパフォーマンス及び電力管理 | |
US8533719B2 (en) | Cache-aware thread scheduling in multi-threaded systems | |
Zeng et al. | Adaptive DRL-based virtual machine consolidation in energy-efficient cloud data center | |
US10355966B2 (en) | Managing variations among nodes in parallel system frameworks | |
US10671404B2 (en) | Systems, methods and devices for dynamic power management of devices using game theory | |
US10613957B2 (en) | Achieving balanced execution through runtime detection of performance variation | |
Shen et al. | Stochastic modeling of dynamic right-sizing for energy-efficiency in cloud data centers | |
CN107533350B (zh) | 计算资源的动态层级式性能平衡 | |
Wang et al. | Energy optimization for data allocation with hybrid SRAM+ NVM SPM | |
Masoumzadeh et al. | An intelligent and adaptive threshold-based schema for energy and performance efficient dynamic VM consolidation | |
Asad et al. | Optimization-based power and thermal management for dark silicon aware 3D chip multiprocessors using heterogeneous cache hierarchy | |
CN105763367A (zh) | 一种基于虚拟化的数据中心的能耗管理方法 | |
Tong et al. | Energy and performance-efficient dynamic consolidate vms using deep-q neural network | |
Zhang | Maximizing Performance in Power-Constrained Computing Systems | |
Saurav et al. | Autonomic Runtime Adaptation Framework for Power Management in Large-Scale High-Performance Computing Systems | |
Landwehr | An experimental exploration of self-aware systems for exascale architectures | |
Tian | Collaborative Power Management Among Multiple Devices Using Reinforcement Learning | |
Wei et al. | RLConfig: Run-time configuration of cluster schedulers via deep reinforcement learning | |
Tian et al. | Multidevice Collaborative Power Management Through Decentralized Knowledge Sharing | |
Shankar | SiaHet: Towards Exploiting Intra-Job Resource Heterogeneity in Heterogeneity-aware, Goodput Optimized Deep Learning Cluster Scheduling | |
Wang et al. | Agile frequency scaling for adaptive power allocation in many-core systems powered by renewable energy sources | |
Clark | Dynamic Voltage/Frequency Scaling and Power-Gating of Network-on-Chip with Machine Learning | |
Puso et al. | Energy efficiency for cloud data centers using machine learning in Botswana | |
Jararweh | Autonomic Programming Paradigm for High Performance Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |