CN108701060A - 用于计算系统自动调整的方法 - Google Patents
用于计算系统自动调整的方法 Download PDFInfo
- Publication number
- CN108701060A CN108701060A CN201780012424.1A CN201780012424A CN108701060A CN 108701060 A CN108701060 A CN 108701060A CN 201780012424 A CN201780012424 A CN 201780012424A CN 108701060 A CN108701060 A CN 108701060A
- Authority
- CN
- China
- Prior art keywords
- knob
- prioritization scheme
- metric
- bucket
- value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012913 prioritisation Methods 0.000 claims abstract description 73
- 238000005259 measurement Methods 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 230000001105 regulatory effect Effects 0.000 claims abstract description 6
- 238000005457 optimization Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 16
- 238000005265 energy consumption Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 10
- 230000026676 system process Effects 0.000 claims description 4
- 230000009897 systematic effect Effects 0.000 claims description 4
- 230000001052 transient effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 4
- 238000012804 iterative process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- MWRWFPQBGSZWNV-UHFFFAOYSA-N Dinitrosopentamethylenetetramine Chemical compound C1N2CN(N=O)CN1CN(N=O)C2 MWRWFPQBGSZWNV-UHFFFAOYSA-N 0.000 description 1
- GFRROZIJVHUSKZ-FXGMSQOLSA-N OS I Natural products C[C@@H]1O[C@@H](O[C@H]2[C@@H](O)[C@@H](CO)O[C@@H](OC[C@@H](O)[C@@H](O)[C@@H](O)CO)[C@@H]2NC(=O)C)[C@H](O)[C@H](O)[C@H]1O GFRROZIJVHUSKZ-FXGMSQOLSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
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
- 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
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
Abstract
提出了一种用于自动调整计算系统的方法。该方法包括将计算系统的当前工作负载映射到至少一个桶中;测量表示计算系统的当前操作的当前操作度量;基于该当前操作度量,为至少一个桶中的每一个确定至少一个优化方案,其中,该至少一个优化方案至少包括具有最佳值的系统旋钮列表,该系统旋钮配置成调节计算设备的操作以满足至少一个预定目标度量;并且将列在至少一个确定的优化方案中的系统旋钮中的每一个设置成其相应值。
Description
相关申请的交叉引用
本申请要求2016年2月22日提交的No.62/298,191的美国临时专利申请的权益,其内容由此以引用的方式并入。
技术领域
本公开总体涉及在数据中心管理一个和多个计算服务器的性能和能量效率。
背景技术
数据中心的运营者探索了方法,以降低他们的数据中心的运营费用(opex)并改善它们的性能。数据中心通常包括设计成执行不同应用程序的许多服务器(在其他计算系统/应用程序中)。在大部分情况下,服务器设计成或调整至在很多不同类型的应用程序中表现良好。然而,维持每个可能应用程序的高服务器性能不能由目前的可用方案来进行。例如,目前用于服务器调整的最先进的方法不能动态适用于由服务器执行的两个不同应用程序,并且不能让其中的每个获得最高性能。
数据中心的管理计算系统中的另一个挑战是管理用于工作单元的能耗与性能之间的取舍关系。也就是说,调整服务器以获得更高性能通常会增加工作单元的能耗。
大部分数据中心运营费用的其中一个是服务器和冷却器消耗的大量能量。数据中心能量效率的重要度量是电能使用效率(PUE)评级。PUE评级将数据中心的总功耗与IT设备消耗的总电能进行比较。理想的PUE是1.0。当计算PUE时,在数据中心消耗电力的任何设备都考虑在内,例如照明、冷却等。2.0的PUE评级意味着,服务器每消耗一瓦特,数据中心的基础设施消耗另一瓦特。因此,期望降低服务器的功耗,因为这种降低还会降低数据中心的基础设施的功耗。
已提出若干解决方案以降低数据中心的功耗。某些解决方案涉及数据中心的基础设施,而其他的解决方案处理数据中心的服务器或其他设备的硬件资源。
例如,低功率处理器可以是降低功耗的简单解决方案。但是,这种处理器造成性能限制,并因此可能不是理想的解决方案。存储控制器、适配器、磁盘驱动和其他硬件外围设备占用计算机服务器很大一部分的功耗,并且不容忽视。CPU和这些外围设备采用有助于降低功耗的电源管理装置。然而,每个外围设备是独立的电源管理并且没有相对于执行的应用程序和/或其他外围设备的运行而进行优化。
计算服务器通常包括各种硬件、固件和软件部件。在相关领域中探讨过的某些提议的解决方案包括将服务器部件的某些参数手动地调整至能量、性能或功率上限的基准组。然而,这种解决方案趋于造成高人工成本和次优结果。
进一步地,因为下列某些原因,服务器的手动调整是复杂的过程:参数的优化设置对不同应用程序可以是不同的;应用程序的参数优化设置可以在不同硬件配置之间改变;等等。此外,调整过程的复杂性由较高数量(通常在目前的系统中为100)的相互依赖的可调整参数引起。
由于所需的复杂性和时间,专家(如果有的话)仅在应用程序、参数或硬件配置的子集进行手动调整,从而实现性能的次优化。进一步地,调整需要在持续的基础上进行,从而产生额外的人工成本。
手动调整仅可以实现次优的优化,因为这样的调整不响应当前服务器的工作负载。也就是,当前工作负载可以不同于基准值,并且工作负载本身可以展示执行的不同阶段,而对每个阶段,该执行需要不同的参数值组。
总之,针对上述问题的现有解决方案不能适应正在进行的一个或多个应用程序、进程和任务的动态变化。
因此,提供克服上述缺陷的解决方案是有利的。
发明内容
以下是本公开的若干示例性实施例的概述。为了方便读者,提供本发明内容是为了提供对这些实施例的基本理解,并不完全限定本公开的广度。本发明内容不是所有考虑到的实施例的广泛概述,并且既不旨在确定所有实施例的关键(key or critical)要素,也不旨在描绘任何或所有方面的范围。其唯一的目的是将一个或多个实施例以简化的形式呈现出某些概念,作为稍后呈现的更详细描述的前奏。为了方便,可以在本文使用术语“某些实施例”以指代本公开的单个实施例或多个实施例。
本文公开的某些实施例包括用于自动调整计算系统的方法。该方法包括将计算系统的当前工作负载映射到至少一个桶中;测量表示计算系统的当前操作的当前操作度量;基于当前操作度量,为至少一个桶中的每一个确定至少一个优化方案,其中,该至少一个优化方案至少包括具有最优值的系统旋钮列表,该系统旋钮配置成调节计算设备的操作以满足至少一个预定目标度量;并将列在至少一个确定优化方案中的系统旋钮中的每一个设置成其相应值。
本文公开的某些实施例还包括计算系统,包括:处理电路;和存储器,该存储器包含指令,当由处理电路执行时,计算系统配置为:将计算系统的当前工作负载映射在至少一个桶中;测量表示计算系统的当前操作的当前操作度量;基于当前操作度量,为至少一个桶中的每一个确定至少一个优化方案,其中,该至少一个优化方案至少包括具有最优值的系统旋钮列表,该系统旋钮配置成调节计算设备的操作以满足至少一个预定目标度量;并将列在至少一个确定优化方案中的系统旋钮中的每一个设置成其相应值。
附图说明
在说明书结尾处的权利要求中特别指出并清楚地要求保护本文所公开的主题。通过以下结合附图的详细描述,公开实施例的上述和其他目的、特征和优势将显而易见。
图1是示出用于描述公开的实施例的数据中心的简图。
图2是实施例调谐器的框图。
图3是示出根据实施例用于优化计算服务器的功耗和性能的方法的流程图。
图4是示出根据一个实施例用于建立新优化方案的方法的流程图。
图5是示出根据另一个实施例用于建立新优化方案的方法的流程图。
具体实施方式
重要的是要注意,本文公开的实施例只是本文创新性教导的许多有利应用的实例。通常,本申请说明书中所做的陈述并不一定限制任何各种要求保护的实施例。并且,某些陈述可以应用于某些创新性特征,而不适用于其他的。通常,除非另外指出,单数要素可以是复数,反之亦然,不失普遍性。在附图中,相同标记在若干视图之间表示相同的部件。
根据公开的实施例,公开了用于优化计算服务器的某些系统度量的技术。在实施例中,限定用于服务器有待实现的目标度量,例如,使用系统管理员软件或管理软件。目标度量至少限定优化属性,该优化属性可以包括但不限于性能、能量、功率上限、功率、网络带宽(例如网卡的带宽)或其任意组合。每个优化属性还可以设置优化目标或特定值。例如,该目标可以最大化服务器的性能,以在服务器的功率上限在250瓦时最大化性能,或最小化每个提交指令的能量。进一步地,各种优化属性可以按优先排序。在一个实施例中,通过持续测量在服务器上运行的工作负载和动态调整被测量的工作负载的系统旋钮来改善限定的目标度量。在另一实施例中,该限定目标度量通过静态调整来改善,其中系统旋钮调整至其在过去的时间段(例如刚刚的60分钟)测量的工作负载的最优静态设置。最优静态设置的选择可以用例如投票机制来进行。
系统旋钮(下文:“旋钮”)包括但不限于,硬件配置参数、固件配置参数、操作系统(OS)配置参数、应用程序配置参数以及可以影响系统表现或度量的任何其他参数。旋钮的非限制列表包括指示以下的参数:是否在CPU上启用对称多线程,是否启用CPU高速缓存预取器,是否使用CPU微代码的特定版本,是否限制CPU的电源管理单元的电源状态,在OS中使用哪个IO调度程序,在OS中使用哪个任务调度程序,该OS调度程序的时间间隔、任务关联性、硬件计时器事件间隔、最大网络数据包大小、网络服务器软件可以生产的最大线程等。
工作负载包括一个或多个应用程序或系统进程,每个都具有在服务器运行的一个或多个线程。工作负载包括通常与特定硬件资源不相关的不同类型的工作负载度量。例如,工作负载度量包括在每个工作负载阶段中存储器运行的频率。
图1示出了用来描述本公开的各种实施例的数据中心100的实例示意图。如图1所示,多个计算服务器110-1~110-n(仅为了简化目的,下文统称为服务器110并且单独作为服务器110)与网络120通信连接。在某些配置中,还连接到数据中心100的是数据仓库130,用于保存与耗电量和性能、优化方案、配置文件等有关的度量。
服务器110可以是例如网络服务器、应用程序服务器、媒体流服务器、数据库服务器、文件服务器、邮件服务器、打印服务器、游戏服务器、批处理服务器等。服务器110可以托管或执行一个或多个虚拟机或软件容器(未示出)。网络120可以是局域网(LAN)、广域网(WAN)等。数据中心100可以是云计算平台,例如公共云、私有云或混合云。
每个服务器110通常包括耦合到存储器112的处理系统111。处理系统111可以包括或者就是处理器(未示出)的部件或耦合到存储器112的处理器阵列。该一个或多个处理器可以由以下来实现:通用微处理器、多核处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、专用集成电路(ASIC)、控制器、状态机、门控逻辑、离散硬件组件、专用硬件有限状态机的任意组合、或可以进行信息计算或其他操作的任何其他合适实体的任意组合。
处理系统111可以包括用于存储软件的机器可读介质。软件应广泛地解释为表示任意类型的指令,无论是软件、固件、中间件、微代码、硬件描述语言或其他。指令可以包括代码(例如,以源代码格式、二进制码格式、可执行的代码格式或代码的任何其他合适格式)。当由一个或多个处理器执行时,该指令使处理系统111执行本文所述的各种功能。处理系统111还配置成执行安装在服务器110中的任何软件应用程序。
根据公开的实施例,每个服务器110进一步包括配置成执行本文公开的优化技术的调整器115。特别地,该调整器115配置成动态调整如上所限定的一个或多个旋钮以优化所选择的目标度量。为此,该调整器115配置成选取最佳优化方案用于服务器110的当前评估的工作负载,并应用选取的优化方案。
在实施例中,优化方案限定了具有一组相应值的一组旋钮。在程序执行过程中,应用优化方案使一个或多个服务器110部件(或资源)进行重新配置。这允许在运行时对服务器110的目标度量进行动态优化。需要强调的是,根据程序、应用程序和/或服务器110当前执行的进程以及这些应用程序的执行阶段,可以应用不同的优化方案。如上所看到的,服务器110可以包括软件、固件和硬件部件。
在实施例中,至少部分地基于由服务器110执行的当前运行的应用程序、进程或二者来确定当前工作负载。持续监控或以其他方式估计工作负载。为此,调整器115配置成接收来自处理系统111、操作系统、外围设备、执行的应用程序或其组合的性能计数器的负载数据。例如,性能计数器提供(处理系统111的)核心处理器中的提交指令数。再如,第二性能计数器提供CPU包的能耗。再如,第三性能计数器提供片外存储器请求数。在一个实施例中,调整目标度量以考虑诸如温度的环境因素,该环境因素可以影响能耗和性能。
调整器115配置成将测量的工作负载映射到相似工作负载的桶。在实施例中,使用应用于工作负载相关值和这些值的历史的基于位置的散列函数来执行映射或分类。这些值的实例包括但不限于:当前运行线程和其可执行名称的数,和/或其命令行的参数,总指令中的存储指令的频率,和/或当前运行线程的CPU使用。应该注意的是,若干工作负载可以映射在相同桶上。进一步地,由于持续监控工作负载,该对桶的映射可以在执行期间随着工作负载的改变而改变。在另外的实施例中,使用升级树进行分类。在实施例中,不经常访问的桶和优化方案会被淘汰以减少调整器115的内存占用。
调整器115还配置成独立地为每个桶选取最佳优化方案。在实施例中,选取来自一组最佳的优化方案,该方案被确定为对于相应的桶是最佳的。在另外的实施例中,分类桶以调整组,其中每个这样的组可以包括一个或多个桶。例如,调整组可以限定为“最主要任务的可执行命令行”。在另外的实例中,调整组可以限定为从聚集的有向图中衍生出的群体,其中每个顶点代表桶,并且每个边表示桶之间的转换,其权重与遇到的转换的数量相关。可以使用调整组以捕获宏程序阶段,并应用对组的最优方案。
在两个实施例中,当最佳优化方案不适用时,调整器115配置成调整各种旋钮直到在当前状态上探测到改善,从而建立新的优化方案。调整进程是迭代进程,其中设置一组旋钮值,并且测量的、计算的或其组合的目标度量要么得到改善,要么达到目的。目标度量的测量可以在预定时间间隔内进行。如果量化并满足了目标度量目的,该迭代进程结束。可选择地,如果目标度量目的是通用的并没有量化,持续该迭代进程直到找到可接受的目标度量值的方案。
在一个实施例中,调整器115配置成执行有限迭代次数并选择找到的最好旋钮配置。应该注意的是,旋钮组和提供改善的其相应值设置为用于桶和/或相应调整组的最佳最优方案。下文参考图4和5更加详细地讨论了该迭代调整进程。
参考可以基于一个或多个优化属性的目标度量来确定改善。优化属性可以包括但不限于性能、功耗、能量、功率上限、网络带宽、限定的应用程序进度度量或其任意组合。在实施例中,为目标度量中针对任何优化属性确定上限和目的。每个优化属性可以与特定目的(例如,每秒至少1B提交的指令用于性能优化属性)相关联。该目的还包括一系列值。在另外的实施例中,目标度量可以限定为总体目的(例如,以减低每个提交指令的能耗)。在这个实施例中,目标度量中的每一个优化属性与目标相关联。
在实施例中,使用硬件组件、内嵌的或外部功率计或二者的性能计数器可以测量能量。可以调整能量测量以考虑其他数据中心组件(例如冷却装置和配电单元)作为因素。平均功率可以通过时间间隔中能量测量的差除以时间间隔持续时间来估计得到。性能可以使用传统方法测量或以其他方式估计,用于确定计算服务器的性能。例如,可以通过每秒淘汰的指令数、软件生成的进度提示(例如网络请求服务数)等来表征性能。
根据某些实施例,当目标度量的优化属性是功率上限,该优化属性可以用特定值设置以与功率预算约束相等。在这种情况下,调整器115试图为最大性能寻找最佳优化方案,同时遵守该功率预算约束。例如,优化方案会避免服务器的功耗超过250瓦特。当目标度量的优化属性是能量且总体目标是减低能量时,调整器115试图寻找最佳方案,该方案获得能量除以性能的最低值。例如,实现每个提交指令具有最低焦耳值的方案。当目标度量的优化属性是功率,调整器115可以试图寻找无论性能如何,都能获得最小功耗的最佳方案。
可选择地,功率优化属性可以设置有应该由调整器115实现的特定值。当目标度量的优化是针对性能,调整器115可以试图寻找无论电力或能耗如何,都能获得最高性能的最佳方案。可选择地,性能优化属性可以设置有应该由调整器115实现的特定值。在其他实施例中,可以限定其他目标度量(例如能量延迟或能量延迟的平方)。在另外的实施例中,该目的可以设置成最小化网络服务器的最大响应延迟。
应该注意的是,在某些实施例中,调整器115可以是存在于存储器112中的可执行代码,并由处理系统111执行。在进一步的实施例中,调整器115可以实现为服务器110的OS(未示出)支持的服务。在一个实施例中,调整器115可以实现为服务器110的管理程序(未示出)的服务或进程。在另外的实施例中,调整器115可以作为VM或作为由这种管理程序执行或控制的软件容器来实现。调整器115或调整器115的部件可以在专用核、固件、微代码或硬件中实现。
图2示出了例示一个实施例的调整器115的运行的实例框图。如图2所示,调整器115包括工作负载分类器210,度量采样器220和优化器230。
工作负载分类器210配置成分析每个工作负载类型的工作负载,并进行基于位置的散列。也就是说,该工作负载分类器210配置成将工作负载表征为相互关联的工作负载的一个或多个桶。假定在同一个桶中工作负载的表现与目标度量相似。为此,工作负载分类器210配置成将类似的工作负载映射到相同桶中。桶的非限制实例包括当前执行的若干进程(线程)、系统中的若干进程、CPU使用、I/O使用、基于位置的散列值等。如上所看到的,在某些实施例中,桶可以分类到调整组。
应该注意的是,每个工作负载的类型都进行调整。该工作负载可以用系统参数、线程参数或二者一起来估计。系统参数的非限制实例包括当前执行的线程数、总CPU使用量、每秒中断数和每秒I/O请求总数。线程参数的非限制实例包括但不限于可执行的名称、提交的存储器指令与总提交指令之比、可执行的时间、命令行参数、CPU使用量和I/O使用量。
在另外的实施例中,分类器210配置成基于当前估计的工作负载预报下一个桶。该下一个桶是服务器110的未来工作负载(例如,在接下来的1~5秒)。在某些配置中,下一个桶可以与已经分类的桶(即估计的工作负载分类到的桶)相同。
度量采样器220配置成从CPU性能计数器、外围性能计数器、OS度量、应用程序度量、外部功率计或其任意组合中接收数据,并且计算表示提供的当前性能、由服务器110消耗的能量或二者的至少一个当前度量。如上所看到的,性能度量可以作为每秒提交指令的函数、作为用户生成的进度提示等来计算。能量度量基于由性能计数器、外部功率计或二者的测量或评估的能耗除以性能度量而得到。度量还可以是功率的函数,如由时间间隔内消耗的能量除以时间间隔持续时间之间的比率来限定。
优化器230配置成从度量采样器220接收当前度量,从工作负载分类器210和配置文件组接收当前工作负载的一个或多个桶。优化器230进一步配置成选取或确定最佳优化方案和应用最佳优化方案,从而优化服务器的能耗和性能。
配置文件至少包括可以配置成优化服务器运行和目标度量的旋钮列表(下文称为“旋钮列表”)。例如由下列旋钮列表中的每一个旋钮来限定:旋钮ID、旋钮名称、支持的操作系统发行版、支持的内核版本、不支持的内核版本、要求的内核补丁、旋钮类型(开/关、数值、字符串值)、旋钮相关性(如果有)、用于改变和/或检索相应旋钮值的脚本、用于探测旋钮可能值的脚本、直到新旋钮值生效的最少时间、改变该旋钮值的性能和能量成本以及旋钮的推荐值等。在实施例中,可以实时添加旋钮,例如当将存储设备连接到服务器时与存储相关的旋钮,或当产生新容器时与软件容器相关的旋钮。进一步地,可以实时删除旋钮,例如当存储设备不连接时移除与存储相关的旋钮,或当容器退出时移除与软件容器相关的旋钮。
每个旋钮的推荐值可以是数值、二进制值或函数。例如,该推荐值可以是以下:OS的IO调度器选择、文件句柄数量的限制、TCP连接的套接字选择限制、TCP连接的超时窗口、进程可以迁移之前的最小时间限制周期、存储页面大小、是否启用对称多线程、是否启用高缓存分区和如何使用、使用哪个硬件预取选择、CPU微代码版本的选择、功率管理单元固件的选择等。
在实施例中,配置文件包括已知优化某些工作负载桶的优化方案的列表。每个这样的优化方案指示方案可以改善的桶、应用该方案时应该修改的旋钮ID和值、以及优化方案可以实现的目标度量。配置文件中包括的每个目标度量可以确定有待实现的、所需的或目标性能、功耗或二者。优化方案的列表可以包括在不同服务器上,而不是在当前调整的服务器上已经尝试过的优化方案。从而,当在数据中心运行时,可以在数据中心的可操作服务器之间共享优化方案。在实施例中,配置文件使用新发现的桶和优化方案进行更新,从而配置文件将在随后的优化器230的运行中可用。
优化器230配置成(从优化方案的列表中)确定或选取优化方案,该优化方案将会根据接收的桶和当前度量调整服务器,以满足目标度量。在实施例中,优化器230遍历优化方案数据库以查看是否存在可以应用的方案。如果有,选取该方案,并根据方案中的限定修改旋钮(称为旋钮ID)至其对应的值。
在一个实施例中,考虑改变旋钮值的性能和成本,并将二者与应用的优化方案的估计效益进行比较。例如,成本可以量化为用于旋钮的新值生效的时间、性能退化、能量成本或任何其他类型的成本。如果效益超过成本,应用该优化方案。否则,优化器230配置成搜索可选择的优化方案。如果没有找到可选择的方案,该旋钮值保持不变化。
在另外的实施例中,当效益超过成本时,应用该优化方案。否则,该优化器230配置成仅应用优化方案的子集,从而该成本将会证明由应用整个优化方案所提供的效益是合理的。在另外的实施例中,优化器230配置成选取优化方案,该优化方案可以在下一个时间间隔中提供最大的效益,更少的改变旋钮的成本。如果最佳方案的效益不超出成本,仅改变旋钮的子集,使得效益超过成本。
如果没有可以重复利用的方案,该优化器230配置成调整该旋钮直到实现目标度量,或以其他方式进行优化。在非限制的实施例中,该调整包括迭代地将旋钮的子集设置成临时值直到目标度量得到优化。在每次迭代时,估计该当前度量并将其与先前找到用于当前桶的最佳目标度量进行比较。如果目标度量得到了改善,当前旋钮ID和它们的值与该桶和该实现的目标度量值一起保存为新的优化方案。
在实施例中,仅当前度量表现出显著的改善(例如超过预定阈值的改善),或当两个或多个随后桶一样时,这样的度量才得到保存。在另外的实施例中,在大于一次的旋钮组和其相应值的迭代过程中测量的度量的平均值将用于估计目标度量。在另外的实施例中,在大于一次的旋钮组和其相应值的迭代过程中测量的度量的最小值和最大值将用于估计目标度量。
应该注意的是,在每次迭代时,可以应用不同的值组,可以测试不同的旋钮子集或二者。旋钮的子集可以包括来自旋钮列表的单个旋钮、某些旋钮或所有旋钮。应该注意的是,调整旋钮以达成目标的尝试在预定的迭代次数后可以停止,并且找到的最佳方案保存为桶的优化方案。
还应该注意的是,在一个实施例中,调整器115持续测量性能和功率。如果结果与预期的结果偏离了至少一个预定的阈值,该调整器115配置成将桶分裂成两个或多个桶,并重置旋钮值,从而引起所有新桶中旋钮的重新校正。在实施例中,调整器115配置成在桶中搜索工作负载的群集,例如使用k-均值(k-mean)聚类算法,以便确定是否应该分裂桶。在另外的实施例中,使用决策树来实现这个目的。
下面是用于调整器115的操作的实例。服务器上执行的程序持续运转并需要很长时间才能完成。启动程序后,执行调整器115。随着调整器115开始其第一次运行,只有一个桶,并且映射函数将一切映射在一个桶中,不管工作负载如何。首先,调整器115尝试将IO调度旋钮设置成“CFQ调度”,并估计性能和功率度量。例如在10秒内针对当前性能度量(每秒1B提交的指令),估计10B提交的指令,并且针对当前功率度量(200瓦)在10秒内估计2kJ。随后,调整器115将IO调度旋钮设置成“NOOP调度”。因此,该估计的性能功率度量将分别是10.8秒内11B提交的指令(每秒1.02B提交的指令)以及10.8秒内2.18kJ的能量(202瓦)。从而,如果目标度量是性能,随后将使用“NOOP调度”,因为其表明了每秒提交指令数量中的改善。可选择地,当目标度量是功耗时,将利用“CFQ调度”,因为其表明了功耗的减少。如果目标度量是能量,随后将使用“NOOP调度”,因为其表明了每个提交指令的更低能量(198nJVs.200nJ)。
应该注意的是,某些或所有调整器115的元件可以在软件、固件、硬件或其任意组合中实现。当在硬件中实现时,任何元件可以由处理系统完成。以上提供了处理系统的实例。当在软件中实现时,调整器115可以实现为由服务器110的OS(未示出)支持的服务;服务器110的管理程序(未示出)的服务或进程;或由这样的管理程序执行和控制的VM(或软件容器)。还应该注意的是,调整器115可以在容器或VM内部执行。
图3是例示根据实施例用于优化服务器运行的方法的实例流程图300。该运行优化可以包括优化功耗、性能或二者。该方法参考单个服务器进行讨论,但可以适用于可以在例如数据中心可操作的任何数量的服务器。
在S305中,当检索服务器的当前工作负载或以其他方式估计时,开始该方法。该工作负载可以考虑应用程序、系统进程或二者,每个具有在服务器上运行的一个或多个线程。该工作负载可以包括通常与特定硬件资源不相关的、不同类型的工作负载度量。
在S310中,将服务器的当前工作负载映射在至少一个桶中。在实施例中,使用应用于工作负载相关值的基于位置的散列函数来进行映射。在S320中,测量与性能、功耗或二者相关的当前度量。应该注意的是,S310和S320可以同时进行或按不同的顺序进行。
在S330中,搜索优化方案的列表以为每个桶找到最佳的优化方案。匹配的(或最佳的)方案是:当应用时,会引起达到或改善超过目标度量目标的方案。
在S340中,检查是否找到这样的最佳优化方案,并且如果找到,继续执行S360。否则,继续执行S350,其中尝试建立将会改善当前度量的优化方案。下文参考图4和5更详细地讨论了用于建立改善优化方案的各种实施例。
在S360中,基于选取的优化方案设置旋钮的子集。该选取的优化方案既可以是在S340中找到的方案又可以是在S350中建立的(生成的)方案。也就是说,当找到最佳的优化方案时,可以使用最佳的优化方案。否则,找到的最好方案可以用作优化方案。该最好的方案可能是最接近达到目标值或值范围的方案,或其可能是在新旋钮设置下生成的测试系统性能的方案。
应该注意的是,当提供新度量时,以上讨论的进程可以重复。进一步地,该进程对工作负载的每个桶可以独立进行。在实施例中,该进程对与调整组有关的每组桶可以独立进行。
图4更详细地示出了例示S350的操作的实例流程图。在这个实施例中,尝试建立针对使用具有特定值或值范围的一个或多个优化属性限定的目标度量的优化方案。
在S410中,从旋钮列表中选取旋钮的子集。旋钮的子集可以包括在列表中指定的一个、若干个或所有旋钮。在S420中,为旋钮的子集选取第一组值。这些值可以从推荐值的组中选取。
在S430中,旋钮的子集中的每一个配置了其相应值。这在服务器的度量中引起改变。在S440中,测量、估计或同时测量估计当前度量,以得到“估计度量”。在实施例中,在服务器已经运行预定时间间隔后,测量或估计当前度量。该估计度量可以保存以备将来使用。在S450中,该估计度量与限定在目标度量中的每个优化属性值进行比较,以确定比较的度量是否匹配,并且如果是,继续执行S460;否则继续执行S470。例如,如果目标度量限定每秒1.1B提交指令的值的性能优化属性,而当前性能估计的度量是每秒1B的提交指令,那么该度量不认为是匹配的。
如果S450的结果是肯定的回答,在S460中,生成具有旋钮子集和其相应值的新的优化方案。如果S450的结果是否定的回答,在S470中,从推荐值的列表中为旋钮的子集选取新的值组,并返回执行S430。当达到目标度量目的或在预定的迭代次数后,结束执行。在实施例中,如果进程不能建立具有优化属性的特定值的目标度量,可以尝试实现与当前估计度量(例如,较低能耗)相关的总体优化。
图5更详细地示出了例示S350的操作的实例流程图。在这个实施例中,尝试建立针对整个目标限定的目标度量,而不是特定值的优化方案。
在S510中,从旋钮列表中选取旋钮的子集。旋钮的子集可以包括在列表中指定的一个、若干个或所有旋钮。在S520中,为旋钮的子集选取第一组值。
在S530中,旋钮的子集中的每一个配置了其相应值。这在服务器的度量中引起改变。在S540中,测量、估计或同时测量估计当前度量,以得到“估计度量”。在实施例中,在服务器已经运行预定时间间隔后,测量或估计当前度量。应该注意的是,在这个间隔期间,工作负载可以改变,并且相关的桶和/或调整组可以不同,在这种情况下,本文所描述的进程在新探测的桶和/或调整组的环境下继续。
在S545中,估计的度量与引起当前估计度量的旋钮和其相应值一起保存。在实施例中,仅保存连续出现至少两次的桶的估计度量。在另外的实施例中,仅保存在时间间隔期间表现出显著改善的当前度量。在另外的实施例中,在大于一次的旋钮组和其相应值的运行过程中测量的度量的平均值将用于估计目标度量。在另外的实施例中,在大于一次的旋钮组和其相应值的运行过程中测量的度量的最小值和最大值将用于估计目标度量。在实施例中,通过计算属于探测到的调整组的所有桶的度量改善的加权平均来估计目标度量。
在S550中,检查是否已经测试了所有旋钮配置或进行最大的迭代次数。如果是,继续执行S560;否则,使用旋钮的新子集、新值组或二者继续执行S510。
在一个实施例中,选取旋钮和值以对所有可能旋钮配置进行穷举搜索。在另外的实施例中,选取一个旋钮并针对个单个旋钮测试这所有可能值。在已经测试了旋钮的所有设置后,选取最好的设置并测试下一个旋钮。当已经测试和设置了所有旋钮时,完成迭代。当来自一次迭代的改善小于阈值或已达到最大的迭代次数时,结束进程。在另外的实施例中,基于模拟退火、强化学习或遗传算法来选取旋钮。在进一步的实施例中,利用机器学习算法确定调整哪个旋钮和哪个值。
在S560中,从不同旋钮配置中分析估计度量,以确定哪个配置最好满足目标度量中限定的优化属性目标。例如,如果该优化属性的目标是“最小功耗”,那么确定分析的配置中表明最低功耗的配置以满足优化属性的目标。在S570中,生成具有与估计的度量有关的旋钮和其相应值的新的优化方案。
虽然本文参考优化数据中心中部署的服务器的性能和功耗来描述各种实施例,但是所公开的实施例还可适用于其他类型的计算系统和基础设施。计算系统可以包括例如台式计算机、智能手机、平板电脑、笔记本电脑、网络计算机(NetPC)、机顶盒、嵌入式设备、可穿戴设备等。计算基础设施可以包括例如局域网、公共云计算平台、私有云计算平台等。
本文公开的各种实施例可以作为硬件、固件、软件或其组合来实施。此外,软件优选地实施为有形地呈现在程序存储单元或由部件或某些设备和/或设备组合组成的计算机可读介质上的应用程序。应用程序可以上传到包括任何合适架构的机器上,并由其执行。优选地,在具有诸如一个或多个中央处理器(“CPU”)的硬件、存储器和输入/输出接口的计算机平台上实现该机器。该计算机平台还可以包括操作系统和微指令代码。本文描述的各种进程和函数既可以是微指令代码的一部分又可以是应用程序的一部分,或其任意组合,其可以由CPU执行,无论是否明确示出了这样的计算机或处理器。此外,各种其他外围设备单元可以连接到计算机平台,例如额外的数据存储单元和打印单元。而且,非瞬态计算机可读介质是除瞬态传输信号以外的任何计算机可读介质。
应该理解的是,本文使用的诸如“第一”、“第二”等指定词对元件的任何指代一般不限制这些元件的数量或顺序。更确切地说,本文使用这些指定词一般作为区别两个或多个元件或元件的实例的便利方法。因此,第一和第二元件的指代并不意味着仅使用两个元件,或第一元件必须以某种方式在第二元件之前。并且,除非另外声明,元件组包括一个或多个元件。此外,在说明书或权利要求书中使用的“A、B或C的至少一个”、或“A、B或C的一个或多个”或“由A、B和C组成的组的至少一个”或“A、B和C中的至少一个”的形式术语的意思是“A或B或C或这些元件的任意组合”。例如,这个术语可以包括A、或B、或C、或A和B、或A和C、或A和B和C、或2A、或2B、或2C等。
本文所引用的所有实例和条件语言旨在用于教学目的,以帮助读者理解公开的实施例的原理和发明人为促进领域所提供的概念,并且应解释为不限于这些具体引用的实例和条件。而且,本文引用本公开实施例的原理、方面和实施例的所有陈述及其特定实例旨在包括其结构和功能性对等物。此外,这些对等物旨在包括现有已知的对等物和将来开发的对等物,即不管结构如何,包括执行相同功能的任何开发元件。
Claims (39)
1.一种用于自动调整计算系统的方法,包括:
将计算系统的当前工作负载映射在至少一个桶中;
测量表示计算系统的当前操作的当前操作度量;基于所述当前操作度量,为至少一个桶中的每一个确定至少一个优化方案,其中,所述至少一个优化方案至少包括具有最佳值的系统旋钮列表,所述系统旋钮配置成调节计算设备的操作以满足至少一个预定目标度量;并且
将列在至少一个确定优化方案中的系统旋钮中的每一个设置成相应值。
2.根据权利要求1所述的方法,其特征在于,所述当前操作是以下的至少一个:计算系统的性能、计算系统的能耗、计算系统的功耗。
3.根据权利要求2所述的方法,其特征在于,所述当前操作度量包括以下至少一个:指示计算系统在一定时间周期内进行的工作量的性能度量、指示计算系统在一定时间周期内消耗的能量的能耗度量、以及指示计算系统在一定时间间隔内进行的每个工作量计算系统消耗的能量的平均功耗度量。
4.根据权利要求1所述的方法,其特征在于,使用基于位置的散列函数将当前工作负载分类到至少一个桶。
5.根据权利要求1所述的方法,进一步包括:
接收包括系统旋钮列表的至少一个配置文件,其中,所述至少一个配置文件进一步包括所述至少一个预定目标度量。
6.根据权利要求5所述的方法,其特征在于,每个预定目标度量以至少一个优化属性为基础,其中所述至少一个优化属性的每一个是以下任一个:性能属性、功耗属性、能量属性、软件生成的进度提示以及网络带宽属性。
7.根据权利要求5所述的方法,其特征在于,每个系统旋钮是可以配置的参数,其中每个可配置参数包括以下任何一个:硬件配置参数、固件配置参数、操作系统(OS)配置参数以及应用程序配置参数。
8.根据权利要求1所述的方法,进一步包括:
持续估计所述计算系统的所述当前工作负载。
9.根据权利要求8所述的方法,其特征在于,所述当前工作负载考虑以下至少一个:计算系统的软件应用程序、系统进程以及硬件组件。
10.根据权利要求8所述的方法,其特征在于,估计所述当前工作负载进一步包括:
分析计算系统的多个系统参数和线程参数。
11.根据权利要求1所述的方法,进一步包括:
尝试所述至少一个优化方案的每一个,以确定最能满足目标度量的一个优化方案。
12.根据权利要求11所述的方法,进一步包括:
确定所述至少一个优化方案是否满足目标度量;
当确定所述至少一个优化方案不满足目标度量时,建立新的优化方案;并且
基于新建立的优化方案,调整包括在配置列表中的系统旋钮。
13.根据权利要求12所述的方法,其特征在于,建立新的优化方案进一步包括:
从系统旋钮的列表中选取系统旋钮的第一子集;
为所述系统旋钮的第一子集选取第一组值;
将所述系统旋钮的第一子集调整至所述第一组值的其相应值;
测量新的当前度量;
将所述新的当前度量与目标度量进行比较;并且
当所述新的目标度量与所述目标度量实质相同时,生成新的优化方案以限定第一组系统旋钮和其相应的第一值组。
14.根据权利要求13所述的方法,进一步包括:
当所述新的当前度量不与所述目标度量实质相同时,迭代尝试系统旋钮的第二子集和值的第二子集。
15.根据权利要求14所述的方法,进一步包括:
对于尝试过的系统旋钮和其值的每个子集,生成包括针对所尝试的系统旋钮和其值的子集的相应当前度量的临时方案。
16.根据权利要求15所述的方法,进一步包括:
分析所述临时方案的每一个,以识别最能满足目标度量的至少一个临时方案。
17.根据权利要求1所述的方法,进一步包括:
根据所述至少一个桶,预报至少一个随后的桶;并且
应用与所述至少一个随后的桶有关的所述优化方案。
18.根据权利要求1所述的方法,进一步包括:
将所述至少一个桶映射到至少一个调整组;
应用与每个所述至少一个调整组有关的所述优化方案。
19.根据权利要求1所述的方法,进一步包括:
基于之前测量的工作负载,将所述系统旋钮调整至其最佳静态值。
20.一种非瞬态计算机可读介质,其上存储有用于使处理电路执行用于计算系统的自动调整的进程的指令,所述进程包括:
将计算系统的当前工作负载映射在至少一个桶中;
测量表示计算系统的当前操作的当前操作度量;基于所述当前操作度量,为至少一个桶中的每一个确定至少一个优化方案,其中,所述至少一个优化方案至少包括具有最佳值的系统旋钮列表,所述系统旋钮配置成调节计算设备的操作以满足至少一个预定目标度量;
并且
将列在至少一个确定优化方案中的系统旋钮中的每一个设置成相应值。
21.一种计算系统,包括:
处理电路;以及
存储器,所述存储器包含指令,当由所述处理电路执行时,所述计算系统配置为:
将计算系统的当前工作负载映射在至少一个桶中;
测量表示计算系统的当前操作的当前操作度量;
基于所述当前操作度量,为至少一个桶中的每一个确定至少一个优化方案,其中,所述至少一个优化方案至少包括具有最佳值的系统旋钮列表,所述系统旋钮配置成调节计算设备的操作以满足至少一个预定目标度量;并且
将列在至少一个确定优化方案中的系统旋钮中的每一个设置成其相应值。
22.根据权利要求22所述的系统,其特征在于,所述当前操作是以下中的至少一个:计算系统的性能、计算系统的能耗、计算系统的功耗。
23.根据权利要求22所述的系统,其特征在于,所述当前操作度量包括以下至少一个:指示计算系统在一定时间周期内进行的工作量的性能度量、指示计算系统在一定时间周期内消耗的能量的能耗度量、以及指示计算系统在一定时间间隔内进行的每个工作量计算系统消耗的能量的平均功耗度量。
24.根据权利要求21所述的系统,其特征在于,使用基于位置的散列函数将当前工作负载分类到至少一个桶。
25.根据权利要求21所述的系统,其特征在于,所述系统进一步配置成:
接收包括系统旋钮列表的至少一个配置文件,其中,所述至少一个配置文件进一步包括所述至少一个预定目标度量。
26.根据权利要求25所述的系统,其特征在于,每个预定目标度量以至少一个优化属性为基础,其中所述至少一个优化属性的每一个是以下任一个:性能属性、功耗属性、能量属性、软件生成的进度提示以及网络带宽属性。
27.根据权利要求25所述的系统,其特征在于,每个系统旋钮是可以配置的参数,其中每个可配置参数包括以下任何一个:硬件配置参数、固件配置参数、操作系统(OS)配置参数以及应用程序配置参数。
28.根据权利要求21所述的系统,其特征在于,所述系统进一步配置成:
持续估计所述计算系统的所述当前工作负载。
29.根据权利要求28所述的系统,其特征在于,所述当前工作负载考虑以下至少一个:计算系统的软件应用程序、系统进程、以及硬件组件。
30.根据权利要求28所述的系统,其特征在于,所述系统进一步配置成:
分析计算系统的多个系统参数和线程参数。
31.根据权利要求31所述的系统,其特征在于,所述系统进一步配置成:
尝试所述至少一个优化方案的每一个,以确定最能满足目标度量的一个优化方案。
32.根据权利要求31所述的系统,其特征在于,所述系统进一步配置成:
确定所述至少一个优化方案是否满足目标度量;
当确定所述至少一个优化方案不满足目标度量时,建立新的优化方案;并且
基于新建立的优化方案,调整包括在配置列表中的系统旋钮。
33.根据权利要求32所述的系统,其特征在于,所述系统进一步配置成:
从系统旋钮的列表中选取系统旋钮的第一子集;
为所述系统旋钮的第一子集选取第一组值;
将所述系统旋钮的第一子集调整至所述第一组值的其相应值;
测量新的当前度量;
将所述新的当前度量与目标度量进行比较;并且
当所述新的目标度量与所述目标度量实质相同时,生成新的优化方案,以限定第一组系统旋钮和其相应的第一值组。
34.根据权利要求33所述的系统,其特征在于,所述系统进一步配置成:
当所述新的当前度量不与所述目标度量实质相同时,迭代尝试系统旋钮的第二子集和值的第二子集。
35.根据权利要求34所述的系统,其特征在于,所述系统进一步配置成:
对于尝试过的系统旋钮和其值的每个子集,生成包括针对所尝试的系统旋钮和其值的子集的各自当前度量的临时方案。
36.根据权利要求34所述的系统,其特征在于,所述系统进一步配置成:
分析所述临时方案中的每一个,以识别最能满足目标度量的至少一个临时方案。
37.根据权利要求21所述的系统,其特征在于,所述系统进一步配置成:
根据所述至少一个桶,预报至少一个随后的桶;并且
应用与所述至少一个随后的桶有关的所述优化方案。
38.根据权利要求21所述的系统,其特征在于,所述系统进一步配置成:
将所述至少一个桶映射到至少一个调整组;并且
应用与所述至少一个调整组有关的所述优化方案。
39.根据权利要求21所述的系统,其特征在于,所述系统进一步配置成:
基于之前测量的工作负载,将所述系统旋钮调优至其最佳静态值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211190996.8A CN116737256A (zh) | 2016-02-22 | 2017-02-22 | 自动调整计算系统的方法、计算系统和计算机可读介质 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662298191P | 2016-02-22 | 2016-02-22 | |
US62/298,191 | 2016-02-22 | ||
PCT/US2017/018844 WO2017147131A1 (en) | 2016-02-22 | 2017-02-22 | Techniques for self-tuning of computing systems |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211190996.8A Division CN116737256A (zh) | 2016-02-22 | 2017-02-22 | 自动调整计算系统的方法、计算系统和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108701060A true CN108701060A (zh) | 2018-10-23 |
Family
ID=59629934
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211190996.8A Pending CN116737256A (zh) | 2016-02-22 | 2017-02-22 | 自动调整计算系统的方法、计算系统和计算机可读介质 |
CN201780012424.1A Pending CN108701060A (zh) | 2016-02-22 | 2017-02-22 | 用于计算系统自动调整的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211190996.8A Pending CN116737256A (zh) | 2016-02-22 | 2017-02-22 | 自动调整计算系统的方法、计算系统和计算机可读介质 |
Country Status (4)
Country | Link |
---|---|
US (3) | US9958931B2 (zh) |
EP (1) | EP3420454B1 (zh) |
CN (2) | CN116737256A (zh) |
WO (1) | WO2017147131A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143174A (zh) * | 2018-11-02 | 2020-05-12 | 辉达公司 | 在共享功率/热约束下操作的硬件的最佳操作点估计器 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170249996A1 (en) * | 2016-02-26 | 2017-08-31 | Microsoft Technology Licensing, Llc | Opportunistic memory tuning for dynamic workloads |
US11269656B2 (en) | 2017-11-30 | 2022-03-08 | Samsung Electronics Co., Ltd. | Method and device for setting operating system |
GB2569109B (en) * | 2017-11-30 | 2021-03-31 | Samsung Electronics Co Ltd | Setting operating system parameters based on workload types |
US10942557B2 (en) | 2018-07-18 | 2021-03-09 | Dell Products L.P. | System and method to maintain optimal system performance while adhering to competing power cap policies |
CN108966330A (zh) * | 2018-09-21 | 2018-12-07 | 西北大学 | 一种基于Q-learning的移动端音乐播放器动态调节能耗优化方法 |
IT201900003667A1 (it) | 2019-03-13 | 2020-09-13 | Akamas S R L | Method and apparatus for tuning adjustable parameters in computing environment |
US11366697B2 (en) * | 2019-05-01 | 2022-06-21 | EMC IP Holding Company LLC | Adaptive controller for online adaptation of resource allocation policies for iterative workloads using reinforcement learning |
US11025711B2 (en) | 2019-05-02 | 2021-06-01 | EMC IP Holding Company LLC | Data centric resource management for edge cloud systems |
US11630971B2 (en) | 2019-06-14 | 2023-04-18 | Red Hat, Inc. | Predicting software performace based on different system configurations |
US11586474B2 (en) | 2019-06-28 | 2023-02-21 | EMC IP Holding Company LLC | Adaptation of resource allocation for multiple workloads using interference effect of resource allocation of additional workloads on performance |
US11113171B2 (en) | 2019-08-29 | 2021-09-07 | EMC IP Holding Company LLC | Early-convergence detection for online resource allocation policies for iterative workloads |
US11327801B2 (en) | 2019-08-29 | 2022-05-10 | EMC IP Holding Company LLC | Initialization of resource allocation for a workload characterized using a regression model |
US11868810B2 (en) | 2019-11-15 | 2024-01-09 | EMC IP Holding Company LLC | Resource adaptation using nonlinear relationship between system performance metric and resource usage |
US11494199B2 (en) * | 2020-03-04 | 2022-11-08 | Synopsys, Inc. | Knob refinement techniques |
US11349728B2 (en) * | 2020-03-27 | 2022-05-31 | EMC IP Holding Company LLC | Dynamic resource allocation based on fingerprint extraction of workload telemetry data |
US20210365302A1 (en) * | 2020-05-19 | 2021-11-25 | Hewlett Packard Enterprise Development Lp | Adaptive and distributed tuning system and method |
IT202100007631A1 (it) | 2021-03-29 | 2022-09-29 | Akamas Spa | Metodo e sistema per mettere a punto un ambiente informatico utilizzando una base di conoscenza |
EP4148573A1 (en) * | 2021-09-14 | 2023-03-15 | TTTech Auto AG | Method to execute a mode-transition in a multi-mode computer system |
US20230205680A1 (en) * | 2021-12-28 | 2023-06-29 | Advanced Micro Devices, Inc. | Emulating performance of prior generation platforms |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622273A (zh) * | 2012-02-23 | 2012-08-01 | 中国人民解放军国防科学技术大学 | 基于自学习负载预测的集群按需启动方法 |
CN103917950A (zh) * | 2011-11-10 | 2014-07-09 | 英特尔公司 | 具有控制变量、性能度量和/或满意度函数的计算机系统性能管理 |
CN104239150A (zh) * | 2014-09-15 | 2014-12-24 | 杭州华为数字技术有限公司 | 一种硬件资源调整的方法及装置 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5958058A (en) * | 1997-07-18 | 1999-09-28 | Micron Electronics, Inc. | User-selectable power management interface with application threshold warnings |
US6671802B1 (en) * | 2000-04-13 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | Performance optimization of computer system by dynamically and immediately updating a configuration setting based on detected change in preferred use |
DE10141626B4 (de) | 2000-09-06 | 2007-08-09 | International Business Machines Corp. | Dynamische Angleichung von Leistungsvermögen und Strombedarf |
US6964539B2 (en) | 2002-03-18 | 2005-11-15 | International Business Machines Corporation | Method for managing power consumption of multiple computer servers |
US7036008B2 (en) * | 2003-04-17 | 2006-04-25 | International Business Machines Corporation | Autonomic determination of configuration settings by walking the configuration space |
CA2426439A1 (en) | 2003-04-23 | 2004-10-23 | Ibm Canada Limited - Ibm Canada Limitee | Identifying a workload type for a given workload of database requests |
US7996839B2 (en) | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
US7448037B2 (en) | 2004-01-13 | 2008-11-04 | International Business Machines Corporation | Method and data processing system having dynamic profile-directed feedback at runtime |
US20070124684A1 (en) * | 2005-11-30 | 2007-05-31 | Riel Henri Han V | Automatic power saving in a grid environment |
US9218213B2 (en) * | 2006-10-31 | 2015-12-22 | International Business Machines Corporation | Dynamic placement of heterogeneous workloads |
US20080133608A1 (en) * | 2006-12-05 | 2008-06-05 | Douglas Brown | System for and method of managing workloads in a database system |
WO2010104521A1 (en) * | 2009-03-13 | 2010-09-16 | Hewlett-Packard Development Company, L.P. | Determining status assignments that optimize entity utilization and resource power consumption |
US20110022870A1 (en) * | 2009-07-21 | 2011-01-27 | Microsoft Corporation | Component power monitoring and workload optimization |
US8626888B2 (en) * | 2009-10-27 | 2014-01-07 | International Business Machines Corporation | Dynamic control of autonomic management of a data center |
US8321362B2 (en) * | 2009-12-22 | 2012-11-27 | Intel Corporation | Methods and apparatus to dynamically optimize platforms |
US8489745B2 (en) * | 2010-02-26 | 2013-07-16 | International Business Machines Corporation | Optimizing power consumption by dynamic workload adjustment |
CA2716646C (en) * | 2010-10-14 | 2020-04-07 | Ibm Canada Limited - Ibm Canada Limitee | Coordinated approach between middleware application and sub-systems |
CN102004671B (zh) * | 2010-11-15 | 2013-03-13 | 北京航空航天大学 | 一种云计算环境下数据中心基于统计模型的资源管理方法 |
US8843933B1 (en) * | 2011-05-25 | 2014-09-23 | Vmware, Inc. | System and method for managing a virtualized computing environment |
US8615589B1 (en) * | 2011-06-27 | 2013-12-24 | Amazon Technologies, Inc. | Resource optimization recommendations |
US8607243B2 (en) | 2011-09-20 | 2013-12-10 | International Business Machines Corporation | Dynamic operating system optimization in parallel computing |
US8756609B2 (en) * | 2011-12-30 | 2014-06-17 | International Business Machines Corporation | Dynamically scaling multi-tier applications vertically and horizontally in a cloud environment |
US9026817B2 (en) * | 2012-06-29 | 2015-05-05 | Intel Corporation | Joint optimization of processor frequencies and system sleep states |
US20130080760A1 (en) | 2012-08-10 | 2013-03-28 | Concurix Corporation | Execution Environment with Feedback Loop |
US8966462B2 (en) | 2012-08-10 | 2015-02-24 | Concurix Corporation | Memory management parameters derived from system modeling |
US9558006B2 (en) | 2012-12-20 | 2017-01-31 | Intel Corporation | Continuous automatic tuning of code regions |
US9544992B2 (en) * | 2013-01-29 | 2017-01-10 | Fci Americas Technology Llc | PCB having offset differential signal routing |
US20140223122A1 (en) * | 2013-02-06 | 2014-08-07 | International Business Machines Corporation | Managing virtual machine placement in a virtualized computing environment |
US9619251B2 (en) | 2013-05-30 | 2017-04-11 | Intel Corporation | Techniques for dynamic system performance tuning |
EP3014383A4 (en) | 2013-06-28 | 2016-12-07 | Schneider Electric It Corp | SYSTEMS AND METHODS FOR CALCULATING THE EFFICIENCY OF USING POWER IN DATA CENTERS |
CN104462582B (zh) * | 2014-12-30 | 2017-07-11 | 武汉大学 | 一种基于结构和内容二级过滤的Web数据相似性检测方法 |
US10402733B1 (en) * | 2015-06-17 | 2019-09-03 | EMC IP Holding Company LLC | Adaptive ensemble workload prediction model based on machine learning algorithms |
US9851774B2 (en) * | 2016-01-04 | 2017-12-26 | Qualcomm Incorporated | Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase |
-
2017
- 2017-02-22 CN CN202211190996.8A patent/CN116737256A/zh active Pending
- 2017-02-22 EP EP17757107.2A patent/EP3420454B1/en active Active
- 2017-02-22 WO PCT/US2017/018844 patent/WO2017147131A1/en active Application Filing
- 2017-02-22 CN CN201780012424.1A patent/CN108701060A/zh active Pending
- 2017-02-22 US US15/439,217 patent/US9958931B2/en active Active
-
2018
- 2018-04-30 US US15/966,731 patent/US10606337B2/en active Active
-
2020
- 2020-03-04 US US16/808,862 patent/US11429181B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103917950A (zh) * | 2011-11-10 | 2014-07-09 | 英特尔公司 | 具有控制变量、性能度量和/或满意度函数的计算机系统性能管理 |
CN102622273A (zh) * | 2012-02-23 | 2012-08-01 | 中国人民解放军国防科学技术大学 | 基于自学习负载预测的集群按需启动方法 |
CN104239150A (zh) * | 2014-09-15 | 2014-12-24 | 杭州华为数字技术有限公司 | 一种硬件资源调整的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143174A (zh) * | 2018-11-02 | 2020-05-12 | 辉达公司 | 在共享功率/热约束下操作的硬件的最佳操作点估计器 |
CN111143174B (zh) * | 2018-11-02 | 2023-09-05 | 辉达公司 | 在共享功率/热约束下操作的硬件的最佳操作点估计器 |
Also Published As
Publication number | Publication date |
---|---|
CN116737256A (zh) | 2023-09-12 |
US11429181B2 (en) | 2022-08-30 |
EP3420454A1 (en) | 2019-01-02 |
EP3420454A4 (en) | 2019-09-04 |
US20200201415A1 (en) | 2020-06-25 |
WO2017147131A1 (en) | 2017-08-31 |
US9958931B2 (en) | 2018-05-01 |
US20180246558A1 (en) | 2018-08-30 |
US10606337B2 (en) | 2020-03-31 |
EP3420454B1 (en) | 2022-05-25 |
US20170242472A1 (en) | 2017-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701060A (zh) | 用于计算系统自动调整的方法 | |
Alipourfard et al. | {CherryPick}: Adaptively unearthing the best cloud configurations for big data analytics | |
EP3089034B1 (en) | System and method for optimizing energy consumption by processors | |
US10200261B2 (en) | Multiple-computing-node system job node selection | |
US20170261949A1 (en) | Apparatus and method for optimizing quantifiable behavior in configurable devices and systems | |
CN111176419B (zh) | 估计在分布式计算机系统的多个节点上运行的作业的功率性能的方法和装置 | |
Moreno et al. | Improved energy-efficiency in cloud datacenters with interference-aware virtual machine placement | |
CN109324875B (zh) | 一种基于强化学习的数据中心服务器功耗管理与优化方法 | |
Luo et al. | Simulation of power consumption of cloud data centers | |
US10721137B2 (en) | Performance assurance using workload phase detection | |
US20210209481A1 (en) | Methods and systems for dynamic service performance prediction using transfer learning | |
US10432491B2 (en) | Control device for estimation of power consumption and energy efficiency of application containers | |
Cheng et al. | Towards energy efficiency in heterogeneous hadoop clusters by adaptive task assignment | |
KR101916294B1 (ko) | 클라우드 데이터 센터 분석을 위한 기술 | |
Hasan et al. | Heuristic based energy-aware resource allocation by dynamic consolidation of virtual machines in cloud data center | |
CN108574600B (zh) | 云计算服务器的功耗和资源竞争协同控制的服务质量保障方法 | |
WO2016171950A1 (en) | Multivariable control for power-latency management to support optimization of data centers or other systems | |
Samadi et al. | DT-MG: Many-to-one matching game for tasks scheduling towards resources optimization in cloud computing | |
Wu | Analysis of offloading decision making in mobile cloud computing | |
Jagroep et al. | A resource utilization score for software energy consumption | |
Zhanikeev | Optimizing virtual machine migration for energy-efficient clouds | |
Rayan et al. | Resource Prediction for Big Data Processing in a Cloud Data Center: A Machine Learning Approach: A Machine Learning Approach | |
Kasioulis et al. | Power Estimation Models for Edge Computing Devices | |
Ahmed et al. | Machine learning for load forecasting in a green data center | |
Patel et al. | Existing and Relevant Methodologies for Energy Efficient Cloud Data centers |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181023 |
|
RJ01 | Rejection of invention patent application after publication |