当前位置: 首页 > 专利查询>微软公司专利>正文

用于资源管理的方法和系统技术方案

技术编号:2850279 阅读:151 留言:0更新日期:2012-04-11 18:40
本发明专利技术管理计算设备中的资源以便于在设备上操作的竞争客户机之间分配资源。构造预算分层结构以对由资源提供者分配给一个或多个客户机的资源的累计使用的限制进行编码。资源管理器依照构成分层结构的预算确认并仲裁由资源提供者向一个或多个客户机分配资源的请求。资源管理器向客户机通知资源的可用性和短缺,以提升对分层结构的预算中编码的限制的依从性。

【技术实现步骤摘要】

本专利技术一般涉及计算设备中的资源,尤其涉及管理计算设备中的资源。
技术介绍
操作系统采用资源管理方案来限制应用程序之间的干扰,实现优先级划分和控制资源分配的策略,且一般管理运行许多独立软件应用程序的系统的总体行为。现有资源管理方案大部分都是先到先服务的。诸如在数字VAX/VMS、BSD/UNIX和Windows NT操作系统等中使用的基于计数器的资源管理方案试图维护由一个或多个进程使用的资源的绝对计数。例如,计数器可跟踪内核存储器使用、中央处理器单元(CPU)使用、或输入/输出(I/O)数据传输。基于计数器的资源管理方案的一个问题是确定限制是什么以及达到或超出这一限制的后果。限制通常在达到该限制时被提高。在Windows操作系统的上下文中,对某些资源的使用设置限制一般是通过诸如作业对象、内核配额、CPU亲缘性和各种特别的资源专用限制等机制来实现的。资源使用也可当例如存储器管理器基于如何使用内核虚拟地址空间来对其使用设上限时沿功能线来设上限。另一示例是当传输控制协议/网际协议(TCP/IP)对内核池的使用基于当前所发送的数据包的类型被动态设上限时,例如,表示语音数据的数据包对于内核池的使用可能具有比并不确保有质量的语音传输的数据包具有更高的上限。在某些情况下,资源管理方案基于设置竞争资源的处理的相对优先级,以协助对资源竞争做出仲裁,如当前在调度CPU资源时所完成的。另外,资源管理方案可以基于特权,即要求进程具有执行某些操作的特权来实现资源分配,如当前通过要求资源具有锁定存储器中的物理页的特权而完成的。对于现有的资源管理方案有若干问题。由于大多数资源都是系统级的,因此在先来先服务的基础上管理资源可能会导致拒绝服务的问题。这是由于资源可能遭受其它应用程序、其它用户或网络可见服务的无限制的消耗。对现有机制的依赖造成了这样一种不可预测的环境,其中由于错误的、自私的或恶意的应用程序已经占用资源,因此应用程序通常无法获得运行所需的资源。该问题在大型终端服务机器中尤为尖锐。基于优先级的资源管理方案只不过使竞争更加恶化。由于应用程序无法独立地建立其相对于其它应用程序的优先级,因此一般不可能设置公平地共享资源的优先级。在大多数情况下,甚至不可能公平地定义优先级。在CPU资源的情况下,这通常导致应用程序人工地提升其优先级以确保访问,而不管别处所存在的需求。最终后果是应用程序竞争被提高到不正常程度的优先级,从而使优先级方案原本预期实现的公平性策略无效。如果没有对资源竞争的限制,很难向特定应用程序提供预先定义的服务级别。管理员或服务提供者一般无法为应用程序指定最小或最大的资源量。这造成了服务器整合情形中的问题,且迫使管理员和服务提供者通过例如动态地调整优先级来管理特定应用程序的CPU使用来支持整合。某些系统试图通过使用资源保证来克服资源管理中固有的某些问题。并非仅仅设置限制或优先级,而是应用程序可对之前隐式分配的资源建立契约。保证通过在请求资源和实际使用资源之间添加间接层消除了对资源的瞬时竞争。通过以先到先服务的方式显式地保留资源,客户机获得关于对资源的未来使用的契约(例如,保证的I/O延时),而不论任何其它未完成的保证如何。带宽是其中资源保证对于多媒体应用程序的实现尤其重要的一个示例。然而,保证本身是资源,且保证的分配可能失败。当个人计算机移至起居室并担当多种新的角色时,资源管理变得更重要,尤其是在管理资源使用中的冲突的时候。另外,服务器计算机需要更有效地管理资源以提供更可预测的可操作环境。
技术实现思路
现有技术的上述问题通过本专利技术的原理得以克服,本专利技术针对用于管理计算设备中的资源的方法、系统、计算机程序产品和数据结构。本专利技术还针对用于管理计算设备中的资源以便于在设备上操作的竞争进程或线程之间的资源分配的方法、系统、计算机程序产品以及数据结构。依照本专利技术的一方面,预算为一个或多个客户机对资源需求和限定进行编码。代表客户机执行的任意数量的进程、线程或其组合可以与单个预算相关联。特定的进程或线程也可以与多个预算相关联,但在任何时刻仅服从一个预算。进程和线程基于在活动预算中编码的需求和限定以及其它考虑事项来竞争资源。依照本专利技术的另一方面,用于特定进程或线程的活动预算可至少部分地取决于该进程或线程正作为其代表来执行的客户机,在其生存期期间可以多次改变。在一组当前执行的线程上为一个或多个客户机执行服务的服务进程的情况下,该进程或线程当前正作为其代表来执行的客户机可以使用资源-客户机身份模拟来确定。资源-客户机身份模拟通过假定客户机要定位的资源身份并临时将其附加到客户机的活动预算,临时将进程或线程与客户机相关联。通常,这是通过检查当前客户机线程的活动预算来实现的。依照本专利技术的又一方面,预算至少部分地通过为客户机所支持的每一资源维护三种数量中的一种或多种,对与该预算相关联的客户机(或多个客户机)的需求和限定进行编码,这三种数量指示了限制“L”、保留“R”和提交“C”。依照本专利技术一方面,预算限制“L”表示与该预算相关联的客户机能够从所支持的资源的提供者,即资源提供者获得的资源量的最大值。限制可以是硬限制或软限制,它是当达到阈值时支配适当的行为的区别。如果限制是硬限制,则它是绝对最大值,且可以通过采取诸如使分配资源的请求失败或采用速率控制等一个或多个动作来强制实施。然而,如果限制是软限制,则限制仅担当对于相关的资源提供者在决定是否要满足客户机的分配资源请求时的建议。通常,资源提供者基于资源利用级别以及当需要时是否能以最小的性能额外开销来回收资源来确定是否提供软资源分配。依照本专利技术的另一方面,预算保留“R”表示资源的预分配,它确保代表客户机对多达保留量“R”的未来资源分配请求很可能成功,此处也被成为保证。预算保留“R”是由预算限制“L”来约束的,而无论该限制是硬限制还是软限制。预算保留“R”还可表示跨越多个分配的足够的资源量,每一分配从预算保留中划分出一部分。依照本专利技术的又一方面,预算提交“C”表示资源提供者至今为止已分配给与预算相关联的客户机的资源量。与保留值一样,预算提交“C”是由预算限制“L”来约束的,而无论该限制是硬限制还是软限制。另外,预算提交“C”可超出保留值“R”。依照本专利技术的再一方面,预算分层结构将单独的预算中编码的资源需求和限定链接在一起。预算分层结构中的预算是以n元树格式来组织的,其中每一预算对象最多具有一个父对象以及无限数量的子对象。由此,预算分层结构可以被认为具有单个根预算,它没有父预算。在预算分层结构中与子预算相关联的客户机也服从父预算(包括根预算)的资源限制“L”。父预算可担当默认的活动预算,除非未明确创建子预算。对客户机施加的限制进一步限定了在子和父预算中维护的限制,此处被成为有效资源限制。依照本专利技术的另外一个方面,预算分层结构可以是外部或内部的。外部预算分层结构可以基于策略考虑事项在其使用之前显式地构造。内部预算分层结构可以由试图自管理代表其执行的线程和进程的资源消耗的客户机动态地构造。如果客户机具有足够的特权例如以使应用程序服从除当前预算中编码的策略之外的策略,则可允许客户机脱离其当前活动预算作为其一部分的预算分层结构。需要限制对新进程可用的资源的应用程序可创建子预算来限制可能的恶意或危险的行为。本文档来自技高网
...

【技术保护点】
一种便于在计算机系统中有效地管理资源的方法,所述方法包括:跟踪第一预算中涉及至少一个客户机对资源的使用的值,所述值包括表示可被分配给客户机的最大资源量的第一限制,以及表示已经被分配给客户机的资源量的第一提交;接收资源提供者确认向所述至少一个客户机分配资源量的客户机请求的请求;以及如果将所述第一提交增加所请求的量不会导致所述第一提交超过所述第一限制,则确认所述客户机请求。

【技术特征摘要】
US 2005-2-22 11/064,1411.一种便于在计算机系统中有效地管理资源的方法,所述方法包括跟踪第一预算中涉及至少一个客户机对资源的使用的值,所述值包括表示可被分配给客户机的最大资源量的第一限制,以及表示已经被分配给客户机的资源量的第一提交;接收资源提供者确认向所述至少一个客户机分配资源量的客户机请求的请求;以及如果将所述第一提交增加所请求的量不会导致所述第一提交超过所述第一限制,则确认所述客户机请求。2.如权利要求1所述的方法,其特征在于,还包括从所述资源提供者接收对所请求的量已被分配给所述至少一个客户机的确认;以及将所述第一提交增加所请求的量。3.如权利要求2所述的方法,其特征在于,所述第一限制是软限制;且其中,将所述第一提交增加所请求的量包括将正常提交增加到所述第一限制;且所述方法还包括将超过所述第一限制的余量作为超额提交报告给所述资源提供者,其中,所述正常提交表示可在正常的服务级别分配给所述至少一个客户机的量,且所述超额提交表示可在降低的服务级别分配给所述至少一个客户机的量。4.如权利要求1所述的方法,其特征在于,所述值还包括表示可被预分配给所述客户机的最大资源量的第一保留,所述第一保留是由所述第一限制界定的;接收所述资源提供者确认向所述至少一个客户机预分配资源量的客户机请求的请求;以及如果将所述第一提交增加所请求的量不会导致所述第一提交超过所述第一保留,则确认所述客户机请求。5.如权利要求4所述的方法,其特征在于,还包括从所述资源提供者接收对所请求的量已被预分配给所述至少一个客户机的确认;以及将所述第一提交增加所请求的量。6.如权利要求1所述的方法,其特征在于,还包括跟踪第二预算中涉及至少一个其它客户机对同一资源的使用的值,所述值包括表示可被分配给所述其它客户机的最大资源量的第二限制,以及表示已被分配给所述其它客户机的资源量的第二提交;分层地将所述第一和第二预算相关,作为具有表示可被分配给所述第一和第二预算的所有客户机的最大资源量的有效限制的值的公共根预算的子预算;接收所述资源提供者确认向所述至少一个其它客户机分配资源量的客户机请求的请求;累计所述第一和第二提交;以及如果将所累计的提交增加所请求的量不会导致所累计的提交超过所述有效限制,则确认所述客户机请求。7.如权利要求1所述的方法,其特征在于,所述资源使用还服从特色限制,所述特色限制基于所述资源使用的类型;且其中,如果所述客户机请求不导致所述客户机的资源使用超过对所述资源使用类型的特色限制,则确认所述客户机请求。8.如权利要求1所述的方法,其特征在于,还包括接收所述资源提供者仲裁对所述资源的客户机请求的请求;为当前向其分配资源的目标客户机确定相对优先级以及至少一个允许的动作;以及当基于所述相对优先级和所述至少一个允许的动作可从所述目标客户机回收资源时,赞同所述请求客户机做出仲裁。9.如权利要求8所述的方法,其特征在于,为所述目标客户机确定相对优先级以及至少一个允许的动作包括生成对策略数据库的查询。10.如权利要求8所述的方法,其特征在于,还包括通知可从其中回收资源的所述目标客户机自愿放弃所述资源。11.如权...

【专利技术属性】
技术研发人员:A吉杉DB普罗伯特
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1