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

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

Info

Publication number
CN1773458A
CN1773458A CN200510117564.4A CN200510117564A CN1773458A CN 1773458 A CN1773458 A CN 1773458A CN 200510117564 A CN200510117564 A CN 200510117564A CN 1773458 A CN1773458 A CN 1773458A
Authority
CN
China
Prior art keywords
formation
task
resource
workload level
speed cache
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.)
Granted
Application number
CN200510117564.4A
Other languages
English (en)
Other versions
CN100397345C (zh
Inventor
R·G·哈特霍恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1773458A publication Critical patent/CN1773458A/zh
Application granted granted Critical
Publication of CN100397345C publication Critical patent/CN100397345C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

用于管理资源元素队列的方法和控制器
技术领域
本发明一般地涉及计算机系统中的资源元素队列,尤其是涉及管理这种队列以便改进用于问题确定的数据捕捉,同时降低对高速缓存性能的不利影响。
背景技术
很多大型计算机系统客户都要求系统具有较高的可用性。因此,监视系统状态以便帮助解决崩溃、故障或其它问题很重要。一种检查当前和刚才的系统状态的方法是当发生重大不利事件之后,检查数据结构的内容。
在正常操作过程中,系统存储器内的空间被分配给一个数据结构池,所述数据结构通常被称为分配单元或资源元素,其控制着各种类型任务的性能。所述结构包括,但是不限于,任务控制块和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,以及传输型介质,诸如数字和模拟通信链路。
为了示例和说明,已经给出了本发明的说明,但是其不旨在是无遗露的,或用来将本发明限制为所公开形式。许多修改和变更对于本领域技术人员来说是显而易见的。为了最好地解释本发明的原理、其实际应用,选择并描述了所述实施例,以便本领域的其它普通技术人员能够理解本发明的具有各种修改的各种实施例适合于构想出的特定使用。此外,虽然就装置进行了上述描述,但是还可以由管理资源元素队列的方法、包含有用于管理资源元素队列的指令的计算机程序产品、或用于部署包括集成到计算系统内的计算机可读代码的用于管理资源元素队列的计算基础设施的方法来满足本领域中的需求。

Claims (12)

1.一种用于管理计算机系统中的资源元素队列的方法,包括:
将存储器资源分配给至少一个有P个资源元素的第一队列和一个有Q个资源元素的第二队列,每个队列具有顶部和底部;
从第一队列的顶部分配第一元素给第一任务;
将与第一任务有关的第一数据拷贝到高速缓存中;
执行第一任务;
在完成第一任务之后,将第一元素释放到第一队列的底部;
为至少一个第二任务重复所述分配、拷贝、获取、执行和释放步骤;以及
如果正在同时执行的任务数等于P:
从第二队列的顶部分配第P+1个元素给第P+1个任务;
将与第P+1个任务有关的第P+1个数据拷贝到高速缓存中;
执行第P+1个任务;以及
当完成第P+1个任务之后,将第P+1个元素释放到第二队列的底部。
2.根据权利要求1所述的方法,还包括:
如果在已经从第二队列分配了至少第P+1个元素之后,正在同时执行的任务数变为小于P,则从第一队列中分配第三元素给第三任务;
将与第三任务有关的第三数据拷贝到高速缓存中;
执行第三任务;以及
在完成了第三任务之后,将第三元素释放到第一队列底部。
3.根据权利要求1所述的方法,其中:
将存储器资源分配给第一队列包括基本上使被分配的存储器资源的量与第一工作负载等级相匹配;并且
将存储器资源分配给第二队列包括基本上使被分配给第二队列的存储器资源的量与第二工作负载等级相匹配,第二工作负载等级大于第一工作负载等级。
4.一种队列控制器,包括:
有P个资源元素的第一队列,所述第一队列具有顶部和底部;
至少一个有Q个资源元素的第二队列,所述第二队列具有顶部和底部;
用于接收任务请求的装置;
用于从第一队列顶部分配元素给第一任务的装置;
用于将与该任务有关的数据拷贝到高速缓存的装置;
用于在完成该任务之后,将所述元素释放到第一队列底部的装置;
用于如果被同时分配的元素数等于P,则转换到第二队列的装置,从而:
从第二队列的顶部分配第P+1个元素给第P+1个任务;
将与第P+1个任务有关的第P+1个数据拷贝到高速缓存;以及
在完成了第P+1个任务之后,将第P+1个元素释放到第二队列底部。
5.根据权利要求4所述的队列控制器,其中用于转换的装置还包括用于如果被同时分配的元素数变为小于P,则转换回第一队列的装置。
6.根据权利要求4所述的队列控制器,还包括:
用于基本上使被分配给第一队列的元素数目P与第一工作负载等级相匹配的装置;以及
用于基本上使被分配给第二队列的元素数目Q与第二工作负载等级相匹配的装置,其中第二工作负载等级大于第一工作负载等级。
7.一种可用于可编程计算机的计算机可读介质的计算机程序产品,所述计算机程序产品具有被包含于其中的计算机可读代码,用于管理计算机系统中的资源元素队列,所述计算机可读代码包括用于下述的指令:
将存储器资源分配给至少一个有P个资源元素的第一队列和一个有Q个资源元素的第二队列,其中每个队列具有顶部和底部;
从第一队列的顶部分配第一元素给第一任务;
将与第一任务有关的第一数据拷贝到高速缓存;
执行第一任务;
在完成第一任务之后,将第一元素释放到第一队列底部;
为至少一个第二任务重复所述分配、拷贝、获取、执行和释放步骤;并且
如果正在同时执行的任务数等于P:
从第二队列的顶部分配第P+1个元素给第P+1个任务;
将与第P+1个任务有关的第P+1个数据拷贝到高速缓存中;
执行第P+1个任务;以及
在完成了第P+1个任务之后,将第P+1个元素释放到第二队列的底部。
8.根据权利要求7所述的计算机程序产品,还包括用于下述的指令:
如果在已经从第二队列分配了至少第P+1个元素之后,正在同时执行的任务数变为小于P,则从第一队列中分配第三元素给第三任务;
将与第三任务有关的第三数据拷贝到高速缓存中;
执行第三任务;以及
当完成了第三任务之后,将第三元素释放到第一队列底部。
9.根据权利要求7所述的计算机程序产品,其中:
用于将存储器资源分配给第一队列的指令包括基本上使被分配的存储器资源的数量与第一工作负载等级相匹配的指令;以及
用于将存储器资源分配给第二队列的指令包括基本上使被分配给第二队列的存储器资源的数量与第二工作负载等级相匹配的指令,第二工作负载等级大于第一工作负载等级。
10.一种用于部署计算基础设施的方法,包括将计算机可读代码集成到计算系统内,其中与所述计算系统相结合的所述代码能够执行下列操作:
将存储器资源分配给至少一个具有P个资源元素的第一队列和一个具有Q个资源元素的第二队列,其中每个队列具有顶部和底部;
从第一队列的顶部分配第一元素给第一任务;
将与第一任务有关的第一数据拷贝到高速缓存中;
执行第一任务;
在完成第一任务之后,将第一元素释放到第一队列底部;
为至少一个第二任务重复所述分配、拷贝、获取、执行和释放步骤;并且
如果正在同时执行的任务数等于P:
从第二队列的顶部分配第P+1个元素给第P+1个任务;
将与第P+1个任务有关的第P+1个数据拷贝到高速缓存中;
执行第P+1个任务;以及
在完成第P+1个任务之后,将第P+1个元素释放到第二队列的底部。
11.根据权利要求10所述的方法,其中与所述计算系统相结合的所述代码还能够执行下列操作:
如果在已经从第二队列分配了至少第P+1个元素之后,正在同时执行的任务数变为小于P,则从第一队列中分配第三元素给第三任务;
将与第三任务有关的第三数据拷贝到高速缓存中;
执行第三任务;以及
在完成第三任务之后,将第三元素释放到第一队列底部。
12.根据权利要求10所述的方法,其中:
分配给第一队列的存储器资源的数量基本上与第一工作负载等级相匹配;以及
分配给第二队列的存储器资源的数量基本上与第二工作负载等级相匹配,第二工作负载等级大于第一工作负载等级。
CNB2005101175644A 2004-11-10 2005-11-04 用于管理资源元素队列的方法和控制器 Expired - Fee Related CN100397345C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/986,486 2004-11-10
US10/986,486 US20060101469A1 (en) 2004-11-10 2004-11-10 Method, controller, program product and services for managing resource element queues

Publications (2)

Publication Number Publication Date
CN1773458A true CN1773458A (zh) 2006-05-17
CN100397345C CN100397345C (zh) 2008-06-25

Family

ID=36317868

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101175644A Expired - Fee Related CN100397345C (zh) 2004-11-10 2005-11-04 用于管理资源元素队列的方法和控制器

Country Status (2)

Country Link
US (1) US20060101469A1 (zh)
CN (1) CN100397345C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069224B2 (en) 2007-06-01 2011-11-29 Alibaba Group Holding Limited Method, equipment and system for resource acquisition
CN104519150A (zh) * 2014-12-31 2015-04-15 迈普通信技术股份有限公司 网络地址转换端口分配方法及系统
CN107818056A (zh) * 2016-09-14 2018-03-20 杭州华为数字技术有限公司 一种队列管理方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003039B2 (en) 2012-11-29 2015-04-07 Thales Canada Inc. Method and apparatus of resource allocation or resource release
US10936369B2 (en) * 2014-11-18 2021-03-02 International Business Machines Corporation Maintenance of local and global lists of task control blocks in a processor-specific manner for allocation to tasks

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430850A (en) * 1991-07-22 1995-07-04 Massachusetts Institute Of Technology Data processing system with synchronization coprocessor for multiple threads
CN1149476C (zh) * 1995-03-16 2004-05-12 松下电器产业株式会社 资源分配装置
US5860159A (en) * 1996-07-01 1999-01-12 Sun Microsystems, Inc. Multiprocessing system including an apparatus for optimizing spin--lock operations
JP3945886B2 (ja) * 1997-03-17 2007-07-18 富士通株式会社 計算機システムにおける主記憶の割当て方式およびそのための記録媒体
US6131113A (en) * 1998-02-24 2000-10-10 International Business Machines Corporation Managing a shared resource in a multi-processor system
US7137116B2 (en) * 1999-11-09 2006-11-14 Microsoft Corporation Method and system for performing a task on a computer
US7724760B2 (en) * 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069224B2 (en) 2007-06-01 2011-11-29 Alibaba Group Holding Limited Method, equipment and system for resource acquisition
CN104519150A (zh) * 2014-12-31 2015-04-15 迈普通信技术股份有限公司 网络地址转换端口分配方法及系统
CN104519150B (zh) * 2014-12-31 2018-03-02 迈普通信技术股份有限公司 网络地址转换端口分配方法及系统
CN107818056A (zh) * 2016-09-14 2018-03-20 杭州华为数字技术有限公司 一种队列管理方法及装置

Also Published As

Publication number Publication date
CN100397345C (zh) 2008-06-25
US20060101469A1 (en) 2006-05-11

Similar Documents

Publication Publication Date Title
US8261281B2 (en) Optimizing allocation of resources on partitions of a data processing system
US9977689B2 (en) Dynamic scaling of management infrastructure in virtual environments
CN108701059B (zh) 多租户资源分配方法和系统
US6785756B2 (en) Methods and systems for multi-policy resource scheduling
CN110058932B (zh) 一种用于数据流驱动计算的存储方法和存储系统
US6587938B1 (en) Method, system and program products for managing central processing unit resources of a computing environment
US6651125B2 (en) Processing channel subsystem pending I/O work queues based on priorities
CN109213555B (zh) 一种面向虚拟桌面云的资源动态调度方法
US6519660B1 (en) Method, system and program products for determining I/O configuration entropy
US7007276B1 (en) Method, system and program products for managing groups of partitions of a computing environment
US10333859B2 (en) Multi-tenant resource coordination method
US8473427B2 (en) Block allocation times in a computer system
US20060020944A1 (en) Method, system and program products for managing logical processors of a computing environment
CN104040485A (zh) Paas分层调度和自动缩放
US9021290B2 (en) Systems and methods for dynamic power management in a blade server
CN103530170A (zh) 在虚拟机环境中提供硬件虚拟化的系统和方法
EP2074512A1 (en) An entitlement management system
CN1602480A (zh) 管理附装在数据网络上的存储器资源
CN113342477B (zh) 一种容器组部署方法、装置、设备及存储介质
CN100397345C (zh) 用于管理资源元素队列的方法和控制器
US20230155958A1 (en) Method for optimal resource selection based on available gpu resource analysis in large-scale container platform
CN111125070A (zh) 一种数据交换方法及平台
CN110447019B (zh) 存储器分配管理器及由其执行的用于管理存储器分配的方法
CN1288565C (zh) 跨越存储器边界的选择性存储器合并的方法与系统
CN114442955B (zh) 全闪存储阵列的数据存储空间管理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee