处理优化负载调整的制作方法

文档序号:6367101阅读:176来源:国知局
专利名称:处理优化负载调整的制作方法
处理优化负载调整
背景技术
大规模软件开发项目是广泛的,并且许多独立工作的开发者创作源代码,其稍后被编译以开发软件应用,比如操作系统或浏览器应用。用于广泛的软件构建项目的构建过程也是系统资源密集型的,并且专用的机器可运行若干小时以便每当其被编译时构建软件项目。用于控制计算设备上的机器资源利用的静态值的使用典型地要求用户干预并且可以不应用于不同计算设备的所有硬件配置,这导致次优构建性能。一些常规技术基于在构建软件构建项目的调用之前定义的静态线程池来操作。然而,这些技术也不能够对改变机器资源条件和利用作出响应。

发明内容
该发明内容介绍处理优化负载调整的简化概念,并且所述概念在以下具体实施方 式中被进一步描述并且/或者在附图中被示出。本发明内容不应当被认为描述要求保护的主题的必要特征,也不会用于确定或限制要求保护的主题的范围。描述了处理优化负载调整。在实施例中,软件构建项目的工作单元被处理,并且处理工作单元一般地使计算设备的处理资源的利用最大化。在实现方式中,计算设备的处理资源包括一个或多个处理器(CPU)、随机存取存储器(RAM)与盘输入/输出(盘I/O)等待时间(latency)阈值。当软件构建项目的工作单元被处理时,处理资源的性能数据可以被收集。可做出关于处理资源的利用对于处理软件构建项目同时避免不利的资源条件是否是最优的确定。然后可以响应于关于处理资源的利用不是最优的确定,增加正处理的工作单元的数量。可替代地,可以响应于关于处理资源的利用超过最优处理的确定,减少正处理的工作单元的数量。可替代地,可以允许正处理的工作单元在没有调度用于处理的附加工作单元的情况下完成处理。在其它实施例中,处理资源的性能数据指示CPU利用的百分比、可用RAM的百分比和盘I/O等待时间。处理资源的性能数据可以是性能数据的平均值并且以实时间隔收集。此外,软件构建项目的每个工作单元调用不同水平的处理资源利用。处理资源的参数可被定义为用于确定处理资源的利用是否是最优的基础。在其它实施例中,一个或多个附加的设备应用的任务可以在处理软件构建项目的工作单元的计算设备上执行。然后,收集的性能数据指示处理资源的利用,以处理针对附加的设备应用以及软件构建项目的工作单元的任务。关于处理资源的利用在处理软件构建项目方面是否是最优的确定还可以包括避免处理针对附加设备应用的任务的中断。


处理优化负载调整的实施例参照以下附图被描述。相同数字始终可以用于引用图中所示的类似特征和组件
图I示出可以实现处理优化负载调整的实施例的示例计算设备。
图2示出根据一个或多个实施例的处理资源利用在时间上的示例曲线图。图3示出根据一个或多个实施例的处理优化负载调整的示例方法。图4示出根据一个或多个实施例的另一个示例计算设备。图5示出根据一个或多个实施例的处理资源利用在时间上的另一个示例曲线图。图6示出根据一个或多个实施例的处理优化负载调整的示例方法。图7示出可以实现处理优化负载调整的实施例的示例设备的各种组件。
具体实施例方式描述处理优化负载调整,并且可以实现用于构建引擎负载节流的实施例,以便优化处理资源以构件或编译软件构建项目。可以监控诸如一个或多个处理器(CPU),随机存取 存储器(RAM)以及盘输入/输出(盘I/O)等待时间之类的计算设备的处理资源,以确定处理资源的利用是否是最优的。处理资源被实时监控以确定计算设备是否能够增加处理,同时处理软件构建项目的指令工作单元和/或附加的设备应用的应用任务指令。如果处理工作负载未被最大化,软件构建项目的附加指令工作单元可被调度用于处理,以增加处理工作负载。如果处理资源的利用超过了最优处理,那么软件构建项目的指令工作单元可被中止(suspend),以减少处理工作负载。可替代地,可以允许当前处理的软件构建项目的指令工作单元完成处理,而不增加或减少处理工作负载。虽然处理优化负载调整的特征和概念可以在任何数量的不同设备、系统、环境、网络和/或配置中实现,但是处理优化负载调整的实施例在下面的示例设备、系统和方法的上下文中被描述。图I示出可以实现处理优化负载调整的实施例的示例计算设备100。示例计算设备可以是任何类型的计算机、服务器、专用机器、状态机等。计算设备可以用各种组件实现,比如一个或多个处理器102 (CPU)和实现数据存储的存储器设备104 (例如计算机可读存储介质)。计算设备还可包括任何数量的不同组件以及它们的组合,如参考图7所示的示例设备进一步描述的。计算设备的处理器和存储器将处理优化服务106实现为计算机可执行指令,比如软件应用,其可执行来实现本文描述的处理优化负载调整的各种实施例。计算设备100包括处理资源108,例如一个或多个处理器102 (CPU)、随机存取存储器(RAM) 110和盘输入/输出(I/O)等待时间阈值112。可替代地或者此外,计算设备的被监控处理资源可包括网络带宽,或一般地可以包括基于预定义度量(metric)的任何资源以确定最优的资源利用。本文中被称为处理资源的RAM是逻辑构造,它扩展到非物理RAM存储装置,例如当数据被页面溢出RAM并被写到盘时。当信息被页面溢出RAM时,软件指令可以被写到盘。当软件应用和/或项目的任务和指令被执行时,性能数据计数器114保持处理资源的性能数据。对应于处理资源的性能数据指示CPU利用的百分比,可用的RAM的百分比和盘I/O等待时间。在实施例中,计算设备100包括处理资源参数116,并且处理资源108的参数可定义用于比较以确定处理资源的利用是否是最优的。计算设备的用户可以配置最优资源利用的系统。在实现方式示例中,根据发起用于处理最优负载调整的处理优化服务106的设置阈值默认,处理资源可以在下表中表示为
权利要求
1.计算机实现的方法(300),包括 处理(302)使计算设备(100)的处理资源(108)的利用最大化的软件构建项目(118)的工作单元(122); 随着软件构建项目的一个或多个工作单元被处理,收集(304)处理资源的性能数据(114); 确定(308)处理资源的利用对处理软件构建项目同时避免不利资源条件而言是否是最优的; 响应于所述确定处理资源的利用不是最优的,增加(310)正在处理的工作单元的数量。
2.如权利要求I所述的计算机实现的方法,还包括响应于所述确定处理资源的利用超过最优处理,进行以下之一的操作 减少正在处理的工作单元的数量;或 允许正在处理的工作单元完成处理。
3.如权利要求I所述的计算机实现的方法,还包括调度软件构建项目的附加工作单元以增加正在处理的工作单元的数量。
4.如权利要求I所述的方法,其中处理资源的参数可被定义为用于所述确定处理资源的利用是否是最优的基础。
5.如权利要求I所述的计算机实现的方法,其中 计算设备的处理资源包括一个或多个处理器(CPU)、随机存取存储器(RAM)及盘输入/输出(盘I/O)等待时间阈值;以及 性能数据指示CPU利用的百分比、可用的RAM的百分比以及盘I/O等待时间。
6.如权利要求I所述的计算机实现的方法,其中软件构建项目的每个工作单元调用不同水平的处理资源利用。
7.如权利要求I所述的计算机实现的方法,其中用于处理资源的性能数据是性能数据的平均值并且在实时间隔中被收集。
8.如权利要求I所述的计算机实现的方法,还包括处理在计算设备上执行的一个或多个附加应用的任务; 其中性能数据指示处理资源的利用以处理软件构建项目的一个或多个工作单元和一个或多个附加应用的任务;以及 其中对处理软件构建项目而言确定处理资源的利用是否是最优的包括避免中断所述一个或多个附加应用的任务的处理。
9.一种计算设备(100),包括 一个或多个处理器(CPU) 102,其被配置成执行软件指令(120); 随机存取存储器(RAM) 110,其被配置成保持用以处理使计算设备的处理资源(108)的利用最大化的软件构建项目(118)的工作单元(122)的软件指令; 性能数据计数器(114),其随着软件构建项目的一个或多个工作单元被处理而保持处理资源的性能数据; 处理优化服务(106),其被配置成对于处理软件构建项目且避免不利资源条件而言确定处理资源的利用是否是最优的; 调度器(124),其被配置成调度软件构建项目的附加工作单元以响应于处理资源的利用非最优的确定来增加用于处理的工作单元的数量。
10.如权利要求9所述的计算设备,其中响应于处理资源的利用超过最优处理的确定,调度器还被配置成 减少用于处理的工作单元的数量;或 允许正在处理的工作单元完成处理。
全文摘要
在处理优化负荷调整的实施例中,软件构建项目的工作单元被处理,并且所述处理一般地使计算设备的处理资源的利用最大化。当软件构建项目的工作单元被处理时,处理资源的性能数据被收集。作出关于对处理软件构建项目同时避免不利的资源条件而言处理资源的利用是否是最优的确定。然后可以响应于确定处理资源的利用不是最优的,增加正处理的工作单元的数量。可替代地,可以响应于确定处理资源的利用超过最优处理,减少正处理的工作单元的数量。可替代地,正处理的工作单元可以被允许在没有调度用于处理的附加工作单元的情况下完成处理。
文档编号G06F9/50GK102708006SQ20121008582
公开日2012年10月3日 申请日期2012年3月28日 优先权日2011年3月28日
发明者A.A.乌索罗, J.M.克拉斯, 林征 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1