进程级活动标记制造技术

技术编号:21976474 阅读:51 留言:0更新日期:2019-08-28 02:34
实施例涉及使得软件与功耗遥测系统对接。进程可能具有与能量估计引擎对接的标记指令。当能量估计引擎记录进程的能耗时,进程还可以标注、标记或以其他方式描述进程执行时期间的处理时段。进程的逻辑可以确定这些时段应该如何被标记,以及它们何时开始和结束。已标记的时段与进程所消耗的能量关联,使得可以了解进程在不同的能耗时段所做的工作的细节。

Process Level Activity Markers

【技术实现步骤摘要】
【国外来华专利技术】进程级活动标记
技术介绍
计算设备消耗能量以运行。诸如处理器、显示器、总线、网络接口、存储装置等计算设备的部件全都消耗能量。通常,理想的是将计算设备所需的能量的数量最小化,例如以延长电池寿命或减少服务器场消耗的大量的能量的数量。在计算设备上执行的软件在很大程度上决定了多少能量将被消耗。构建软件单元所做的许多设计和工程选择可以显著地影响任何给定时刻所需的功率量。虽然效率通常总是有助于降低能耗,但是很难预测特定的设计和编码选择可能如何影响功率需求。例如,应用的能耗极大地依赖于应用如何被使用、哪些特殊的硬件部件被使用、正在执行哪些其他软件,等等。当扩展到执行相同软件的大量设备时,这些变量会被放大。个体设备的建模和研究具有限制。关于功率使用的生产反馈可以变得有用。很少有工具可以帮助软件开发人员了解在软件被不同的用户部署以用于生产时能量是如何消耗的,也很少有工具为大量设备提供关于系统能耗的信息。提供生产反馈的一些工具仅仅提供了每个应用的能耗信息。其他工具提供了关于多少能量被不同类型的工作消耗的系统级信息。提供关于应用能耗的代码级信息的工具已经被设计出。然而,这些工具依赖于代码分析和能量建模以预测能耗特性。这样的工具不适合生产环境,并且不能提供有关软件如何在生产设备中消耗能量的详细信息。此外,没有能量分析工具使得应用的逻辑任意决定如何以及何时测量能耗。能耗分析以对正在被建模或测量的软件透明的方式被建模和测量。以下描述的技术涉及使得软件开发人员自定义在应用正在执行时如何以及何时测量能耗。
技术实现思路
以下
技术实现思路
仅仅为了介绍以下具体实施方式所讨论的一些概念。本
技术实现思路
够全面,也不旨在用于说明权利要求主题的范围,范围由最后呈现的权利要求来阐述。实施例涉及使得软件与功耗遥测系统对接。一个进程可能具有与能量估计引擎对接的标记指令。当能量估计引擎记录进程的能耗时,进程还可以标注、标记或以其他方式描述进程在执行时期间的处理时段。进程的逻辑可以确定这些时段应该如何被标记,以及它们何时开始和结束。已标记的时段与进程所消耗的能量关联,因此可以了解进程在不同的能耗时段期间所做的细节。许多附加特征将在下面参照以下的详细描述与关联的附图一并考虑而被解释。附图说明根据附图阅读以下详细描述可以更好地理解本说明,其中附图中使用类似的参考数字被用于指代伴随说明书中的类似部分。图1示出了被配置为测量和报告能耗信息的计算设备。图2示出了能量估计引擎的细节。图3示出了高速缓存的示例。图4示出了表示被存储在数据库中的三个进程在一段时间内的估计能耗的图。图5示出了能量估计引擎的实施例,该引擎使得进程使用关于进程在任何时间点正在做什么的任意信息来注释其能耗数据。图6示出了进程(左侧)和能量估计引擎(右侧)之间的交互。图7示出了计数器和能量数据的另一个示例。图8示出了表示标记的进程的图。图9示出了可在其上实现实施例的计算设备的细节。具体实施方式图1示出了被配置为测量和报告关于能耗的信息的计算设备100。计算设备100可以有一个或多个硬件部件102,诸如中央处理器(CPU)、图形处理单元(GPU)、显示器、总线、网络接口和其他类型的众所周知的计算硬件。计算设备100还具有用于协调硬件使用的操作系统104。操作系统104可以是按照本文描述的方式修改或增强的任何类型的已知操作系统。与大多数操作系统一样,操作系统104包含进程管理器106。进程管理器106执行典型的进程管理任务,诸如在进程创建、进程终止、跟踪和管理进程状态、协调进程的执行以及为这些任务管理进程表,等等。操作系统104还包括一个能量估计引擎108。能量估计引擎108接收来自进程管理器106和可选的来自硬件部件102的功率信息。能量估计引擎108使用功率信息以规律时间间隔估计总能耗,由硬件设备、进程、应用或其他部件估计能耗故障。能量估计被记录到110数据库。遥测客户端112经由网络114周期性地将数据库110传输给聚合服务114。聚合服务114是一种网络服务,它还接收来自执行能量估计引擎的其他计算设备100的能量遥测数据。遥测客户端112和聚合服务114可以被实现为使用已知的遥测技术或系统,但需要修改以报告能耗数据。聚合服务114将来自计算设备100的能量遥测数据组合成全局数据集。全局数据集中的组合能量遥测数据可以被查询。优选地,依赖于可用的详细程度和敏感信息是否可访问,应用开发人员最好只能访问与该开发人员的软件相关的聚合能量数据。能量估计引擎108可以以多种方式被实现。例如,能量估计引擎108可以作为带有内核模式和用户模式部件的后台进程而运行。在任何情况下,能量估计引擎108应该能够估计和记录每个进程在时间增量上消耗了多少能量。也就是说,功率使用是在每个进程的基础上随时间估计和存储。其他功率估计也可以被计算,例如每个硬件部件、根据显示器是打开还是关闭所消耗的能量、由硬件部件分解的进程所消耗的能量等等。如所记录的,如何估计能耗并不重要。在一个实施例中,能量估计引擎实现了能量供应和消耗的数学模型。该模型可以将由一个或多个硬件部件测量的或来自一个或多个硬件部件的功率数据作为输入。在一个实施例中,功率测量在短时间间隔内连续采样。功率采样可以包括由一个或多个功率源(例如电池、插入线、太阳能元件等)提供的功率和由每个硬件部件吸取的功率。模型可能有默认的参数,其可以通过硬件供应商、芯片制造商等的设备简档进行调整。如所记录的,功率测量可以周期性地被快照或被采样。通过该数学模型可将功率测量方法结合起来,以估计不同时段的能耗。总之,能耗引擎随时间并且以变化的细节水平来计算能耗。在一个实施例中,仅仅(或至少)捕获CPU相关的功率数据,并用于估计能耗。在每个样例点/间隔上,进程管理器104可以标识分配给哪个进程的CPU工作的比例(例如,周期)。该信息稍后可能与CPU能耗的估计相结合,以估计每个进程随时间已经使用了多少能量。为了估计某一时刻(例如最近的采样时间)的总(和/或CPU)能耗,数学能量模型可能需要一系列最近的功率样本(CPU和/或其他硬件部件)。因此,对每个进程能耗的估计可能滞后于最近的功率测量。为了解释这种滞后,数学模型可以用它自己的内部单位——能量计数器——来表示所提供和消耗的比例功率。比例功率可以从一个采样时段变化到另一个采样时段。在采样时,以表示在一段时间内的比例功率的令牌或计数器的形式计算各个元素(进程、一些硬件部件等)的临时比例功率估计值。一些硬件部件可以直接计算能量。当一个样本时段的总能量估计可用时,每个受监视元素(进程、硬件部件等)的能量可以以其先前估计的比率以能量计数器的形式被容易计算。这种技术通过允许间歇性地进行能量估计,减少了能量估计的计算负载,将在以下进一步解释。虽然在图1中显示为单个单元,但是能量估计引擎108可以用任何类型的架构和部件分解来实现。例如,可以存在促进进程间通信的元件,诸如远程进程调用(RPC)客户端和/或服务器,用于采样功率/负载数据(例如,从驱动程序和进程管理器106)的内核模块以及用于实现能量估计的数学模型的用户模式后台进程,消耗功率采样和能量计数器,并输出能量数据到数据库110中。通常,本文所描述的技术可以用于任何能够估计每个进程使用了多少能量和/或功率的系统。本文档来自技高网...

【技术保护点】
1.一种由计算设备执行的方法,所述方法包括:执行操作系统,所述操作系统管理任意进程的执行;重复地估计所述任意进程的能耗并且存储能量信息,所述能量信息包括相应任意进程的进程标识符,所述相应任意进程的所述进程标识符与所述任意进程的能耗的相应估计相关联地被存储,所述估计已经基于获得的处理器资源的分配而被计算以用于所述相应任意进程的执行;在执行所述任意进程时,接收与估计能耗相关的标签请求,所述标签请求由所述任意进程在执行时提交,每个标签请求包括由对应的进程确定的相应标签;通过确定标记的能耗估计来响应标签请求,所述标记的能耗估计针对提交所述标签请求的任何进程的执行时段而被估计,所述时段的开始对应于所述标签请求的接收;以及将所述标签请求的所述标签和所述标记的能耗估计与提交所述标签请求的任何进程的所述进程标识符关联地存储在所述能量信息中。

【技术特征摘要】
【国外来华专利技术】2017.01.11 US 62/445,212;2017.02.27 US 15/444,2191.一种由计算设备执行的方法,所述方法包括:执行操作系统,所述操作系统管理任意进程的执行;重复地估计所述任意进程的能耗并且存储能量信息,所述能量信息包括相应任意进程的进程标识符,所述相应任意进程的所述进程标识符与所述任意进程的能耗的相应估计相关联地被存储,所述估计已经基于获得的处理器资源的分配而被计算以用于所述相应任意进程的执行;在执行所述任意进程时,接收与估计能耗相关的标签请求,所述标签请求由所述任意进程在执行时提交,每个标签请求包括由对应的进程确定的相应标签;通过确定标记的能耗估计来响应标签请求,所述标记的能耗估计针对提交所述标签请求的任何进程的执行时段而被估计,所述时段的开始对应于所述标签请求的接收;以及将所述标签请求的所述标签和所述标记的能耗估计与提交所述标签请求的任何进程的所述进程标识符关联地存储在所述能量信息中。2.根据权利要求1所述的方法,其中所述估计由所述计算设备实现的模型来执行,所述模型对被提供到所述计算设备的一个或多个硬件组件的以及由所述计算设备的所述一个或多个硬件组件使用的功率进行建模。3.根据权利要求1所述的方法,其中所述估计和所述确定所述标记的能耗估计由执行在所述计算设备上的能量估计引擎来执行,所述能量估计引擎包括接口,所述任意进程通过所述接口向所述能量估计引擎提交所述标签请求。4.根据权利要求1所述的方法,还包括从所述任意进程中的一些进程接收第二标签请求,其中所述第二标签请求基于具有相同的标签作为终止的标签请求来终止相应标签请求中的一些标签请求的时段,并且其中终止时段还确定其对应的标记的能耗估计。5.根据权利要求1所述的方法,还包括经由网络向聚合服务传输所述能量信息,所述聚合服务从其他计算设备接收能量信息,从所述计算设备和所述其他计算设备聚合所述能量信息,并且呈现聚合的所述能量信息以用于通过所述网络进行查询。6.一种计算设备,包括:处理硬件;存储硬件,其存储操...

【专利技术属性】
技术研发人员:S·普拉巴卡尔T·伊扎兹C·埃尔根R·马里亚尼I·D·卡利诺夫B·M·希南V·桑德拉姆Z·S·霍尔姆斯J·D·帕特森S·H·沙赫
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1