首页> 中国专利> 用于管理资源元素队列的方法和控制器

用于管理资源元素队列的方法和控制器

摘要

提供了一种用于更有效地管理资源队列的方法、控制器、程序产品和服务。配置两个或多个队列以便处理各种大小的工作负载。从每个队列的顶部分配资源元素并将其返回到底部。可以对每个队列的大小进行选择,以便提供足够的资源元素处理系统的各种等级的工作负载。当工作负载增加并且一个队列中的全部元素都已被分配时,从下一个队列的顶部分配新的资源元素并将其返回到底部。当工作负载降低时,不再从用于较高工作负载的队列分配资源元素。由此,在保持了高效的高速缓存利用率的同时,增强了队列中历史数据的保持。

著录项

  • 公开/公告号CN1773458A

    专利类型发明专利

  • 公开/公告日2006-05-17

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200510117564.4

  • 发明设计人 R·G·哈特霍恩;

    申请日2005-11-04

  • 分类号G06F9/46(20060101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人于静;李峥

  • 地址 美国纽约

  • 入库时间 2023-12-17 17:12:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-12-30

    专利权的终止(未缴年费专利权终止)

    专利权的终止(未缴年费专利权终止)

  • 2008-06-25

    授权

    授权

  • 2006-07-12

    实质审查的生效

    实质审查的生效

  • 2006-05-17

    公开

    公开

说明书

技术领域

本发明一般地涉及计算机系统中的资源元素队列,尤其是涉及管理这种队列以便改进用于问题确定的数据捕捉,同时降低对高速缓存性能的不利影响。

背景技术

很多大型计算机系统客户都要求系统具有较高的可用性。因此,监视系统状态以便帮助解决崩溃、故障或其它问题很重要。一种检查当前和刚才的系统状态的方法是当发生重大不利事件之后,检查数据结构的内容。

在正常操作过程中,系统存储器内的空间被分配给一个数据结构池,所述数据结构通常被称为分配单元或资源元素,其控制着各种类型任务的性能。所述结构包括,但是不限于,任务控制块和DMA控制块。该存储器池被配置成包含着用于规定数量的资源元素的空间的表或队列。当处理器收到任务请求时,队列控制器就从所述队列的顶部分配一个资源元素给所述数据结构。如果在先前的使用中还没有出现该数据,则数据(指令,系统状态信息和其它数据)被拷贝到高速缓冲存储器以便进行处理。当任务完成时,释放资源元素并将其返回到该队列以便随后重用。如果分配给队列的存储器不够,则将没有足够的资源元素可用于处理系统工作负载所需的那么多的同时激活的元素。然而,如果队列的大小变得非常大,大量数据在处理器的高速缓存中循环,导致了低的高速缓存利用率:到重新分配一个元素时为止,它已经被从高速缓存中清仓了。

资源元素可能会以下述两种方式中的一种返回队列:到队列顶部或到队列底部。如果所述元素被返回到队列底部,则下一个被分配的元素,顶部元素将是最近最少使用的元素。从而,到该元素被实际重新分配时为止,很可能以前的数据将不再存在于高速缓存内,并且因此处理变得较慢。然而,在重大错误事件发生的情况下,资源元素的内容以及其它元素的内容很可能完好无损,并可用于被检查以便确定问题。另一方面,如果资源元素被返回到表的顶部,则下一个分配的将是最近使用的元素;即,相同的元素。因此,很可能以前的数据仍在高速缓存内,并且因此处理将变得相对快。然而,资源元素的内容将被重写,并且被释放的资源元素的有用的历史记录将丢失。

由此,仍有对允许保持数据的历史记录,同时最小化对高速缓存性能的影响的队列管理的需要。

发明内容

本发明提供了一种用于更有效地管理资源队列的方法、控制器、程序产品和服务。不是使用被无效率地确定大小以便处理最大预期工作负载的单个队列,配置两个或多个队列来处理各种大小的工作负载。例如,可以选择第一队列的大小,以便提供足够的资源元素来处理系统的正常工作负载。从第一队列的顶部分配资源元素并将其返回到底部。可以选择第二队列的大小,以便提供足够的资源元素处理系统增加的工作负载。如果工作负载增加了,并且第一队列中的全部资源元素被同时分配了,则从第二队列的顶部分配新的资源元素并被返回到底部。可以配置附加的队列,每个都有选定的大小以处理增加的工作负载。当每个队列的资源元素被耗尽时,分配下一个队列中的元素。当工作负载下降时,则不再从用于较高工作负载的队列中分配资源元素。

由此,在保持了高效的高速缓存利用率的同时,增强了对历史数据的保持。

附图说明

图1是本发明的队列控制器的方块图;

图2A-2E示意性地表示了对根据本发明配置的资源元素队列的使用;以及

图3是本发明的队列管理方法的流程图。

具体实施方式

图1是本发明的队列控制系统100的方块图。控制器100包括处理器102,该处理器接收请求并处理请求以及传送响应。控制器100还包括高速缓存104和存储器装置110,高速缓存104用于快速访问最近使用的数据,存储器装置110中存储有指令112以及其它从数据源106获取的数据。

如在图2中示出的,存储器装置110包括两个或更多的队列114和116。虽然只示出了两个队列,还可以用附加的队列来配置所述存储器装置。队列114和116的数量和大小可以根据这样的因素确定,尤其是诸如,高速缓存104的大小、在各种工作负载下高速缓存的利用率、存储器装置110的性能特性,以及期望的系统性能。此外,队列114和116的数量和大小在系统运行期间可以被静态地或动态地调整以便优化性能。

第一队列114的大小被选为容纳P个资源元素,而第二队列116的大小被选为容纳Q个资源元素;队列114和116的大小不必相同。参照图2A-2E以及图3的流程图,队列控制器100把P个资源元素的存储器空间分配给第一队列114(步骤300),并把Q个资源元素的存储器空间110分配给第二队列116(步骤302;图2A)。还可以把附加的存储器空间110分配给被创建的任意的附加队列。当收到任务请求时(步骤304),检查第一个队列114,以便确定其是否包含有未被分配的资源元素(步骤306)。若有,则将最顶部的资源元素114a分配给该任务(步骤308;图2B),并且如果还没有出现,则与该任务相关的数据(包括指令,数据结构,和来自数据源106的数据)被拷贝到高速缓存104中(步骤310)。接着执行该任务(步骤312)并且资源元素被释放到第一队列114的底部(步骤314)。

有时在分配了第一个资源元素之后,可能会收到另一个任务请求(步骤304;为了清楚起见,图3的流程图在随着第一个任务的完成释放了第一个资源元素之后示出了这种事件;然而,在完成前一个任务之前可能会收到新的任务请求)。同样,检查第一队列114,以便确定其是否包含有未被分配的资源元素(步骤306),若有,则把当前最顶部的资源元素114b分配给该任务(步骤308;图2C)。然而,如果任何时候第一队列114的P个资源元素已经全部被分配了(图2D),如果工作负载增加到一个新的更重的等级时,这将会发生,则检查第二队列116,以便确定其是否包含有未被分配的资源元素(步骤318)。若有,则把最顶部的资源元素116a分配给该任务(步骤320;图2E)。该处理继续进行(步骤310-316),并且当收到新任务时(步骤304),再次检查队列以便识别出具有未被分配资源元素的最低等级的队列。如流程图中的省略号所指示的,该处理可以包括比示出的两个队列114和116更多的队列。

为了区分来自不同队列的资源元素,并确保每个元素都被释放到正确的队列,在每个元素中都包括一个字段,该字段标识该元素是从哪个队列中被分配的(步骤314-316)。

由于资源元素被从每个队列顶部分配并被释放到底部,所以最近最少使用的元素被分配给新任务,而为问题确定保持了最近最多使用的元素。此外,在高压力或提高的工作负载期间,将从在低压力或正常工作负载期间没有被使用的较高等级的队列中分配资源元素。从而,在更可能发生故障的高工作负载期间,资源元素的内容甚至被更长时间地保持。

指出下述内容很重要,即,虽然已经在一个完整运行的数据处理系统环境中对本发明进行了描述,但是本领域的普通技术人员将会理解,能够以指令的计算机可读介质的形式和各种形式发布本发明的处理,并且不管实际用于承载该发布的信号承载介质的具体类型如何,本发明都可适用。计算机可读介质的例子包括可记录类型介质,诸如软盘、硬盘驱动器、RAM和CD-ROM,以及传输型介质,诸如数字和模拟通信链路。

为了示例和说明,已经给出了本发明的说明,但是其不旨在是无遗露的,或用来将本发明限制为所公开形式。许多修改和变更对于本领域技术人员来说是显而易见的。为了最好地解释本发明的原理、其实际应用,选择并描述了所述实施例,以便本领域的其它普通技术人员能够理解本发明的具有各种修改的各种实施例适合于构想出的特定使用。此外,虽然就装置进行了上述描述,但是还可以由管理资源元素队列的方法、包含有用于管理资源元素队列的指令的计算机程序产品、或用于部署包括集成到计算系统内的计算机可读代码的用于管理资源元素队列的计算基础设施的方法来满足本领域中的需求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号