CN100487656C - 资源管理的方法与系统 - Google Patents
资源管理的方法与系统 Download PDFInfo
- Publication number
- CN100487656C CN100487656C CNB2005101204740A CN200510120474A CN100487656C CN 100487656 C CN100487656 C CN 100487656C CN B2005101204740 A CNB2005101204740 A CN B2005101204740A CN 200510120474 A CN200510120474 A CN 200510120474A CN 100487656 C CN100487656 C CN 100487656C
- Authority
- CN
- China
- Prior art keywords
- task
- allocation units
- relevant
- class
- formation
- 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.)
- Expired - Fee Related
Links
- 238000007726 management method Methods 0.000 title claims description 21
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000013468 resource allocation Methods 0.000 claims abstract description 20
- 230000015572 biosynthetic process Effects 0.000 claims description 72
- 230000006870 function Effects 0.000 claims description 10
- 238000007689 inspection Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 description 53
- 238000005755 formation reaction Methods 0.000 description 52
- 230000008569 process Effects 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 5
- 239000000835 fiber Substances 0.000 description 5
- 150000001875 compounds Chemical class 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种用于资源分配单元排队的方法、系统、配置以及程序,其中,对与任务相关的分配单元进行分类。根据所述分配单元的该分类,将任务结束时所释放的分配单元排列在队列中一个所选定的位置,供该队列中另一个任务使用。在一个实施例中,如果被分类为第一类,该分配单元则被排列在队列的第一端;如果被分类为第二类,该分配单元则被排列在队列的第二端。并且还描述和要求了其它的实施例。
Description
技术领域
本发明涉及用于管理资源的方法、系统、配置(deployment)以及程序。
背景技术
计算系统通常包括一台或多台用于处理数据和运行应用程序的主计算机(“主机”)、用于存储数据的直接存取存储设备(DASD)、以及用于控制主机和DASD之间的数据传送的存储控制器。存储控制器,也称为控制单元或存储导向器(directior),管理对通常包括连接于一回路体系结构中的多个硬盘驱动器的一存储空间的存取,该存储空间也可称为直接存取存储设备(DASD)。主机可以通过该存储控制器把输入/输出(I/O)请求传送给该存储空间。
为了在发生故障的情况下保持可用性,许多已知的现有技术的存储控制器提供了冗余的硬件群集(cluster)。每个硬件群集包括一个处理器合成体(complex)、超高速缓冲存储器、诸如备份有电池的随机存取存储器(RAM)的非易失存储器(NVS)、以及向附属存储器提供连接路径的独立电源。一个群集中的NVS从另一个群集中的超高速缓冲存储器备份写数据,因此,如果一个群集发生故障,则可把该故障群集的超高速缓冲存储器中的写数据存储在幸免群集的NVS中。在一个群集发生故障之后,所有输入/输出(I/O)请求都会被导向该幸免(surviving)群集。当两个群集均可用时,每个群集均可被指派来处理对配置在物理存储设备中的特定逻辑存储设备的I/O请求。
在执行这些和其它任务时,一个群集不仅可以在本地使用本地群集自身的能力来执行操作,而且也可以请求在该存储控制器系统中的一个远程群集上执行操作。而且,每个存储控制器均可具有适配器来通过网络与主计算机或另一个存储控制器进行通信。例如,从主存储控制器向次存储控制器的写指令,可以由该主存储控制器的适配器的处理器生成,并且通过网络发布给该次存储控制器。
现有多种技术用于确定内存(memory)的哪一部分或哪些部分超高速缓冲存储在群集处理器超高速缓冲存储器或适配器CPU超高速缓冲存储器中。在许多这样的技术中,在超高速缓冲存储器中数据被利用得越频繁,其越有可能被保留在超高速缓冲存储器中。相反,在超高速缓冲存储器中的数据未被使用时间越长,该数据越有可能被来自其它内存单元(memory location)的数据覆写。
许多任务具有相关的数据结构,通常被称为任务控制块,其中可以存储与任务相关的操作参数、状态信息以及其它数据。这些数据不仅可以用于执行该任务,而且还可在产生错误时诊断问题。
每个任务或操作均可能消耗正在执行所请求操作的群集或适配器的资源的相当大的部分。这些资源可能包括内存(memory)空间、总线带宽或网络连接带宽、以及群集或适配器的处理器的计算能力。
各种技术已经被用于管理资源分配,从而操作以适当的方式进行。例如,可以把资源进一步细分成放置在一个或多个队列中的分配单元。因此,一个分配单元可以为一部分内存、一个任务控制块、一部分总线带宽等。为了执行任务,适当的资源分配单元从队列中被取出,并且被分配以供该任务所使用。当该任务完成或以其其它方式终止时,赋予该任务的分配单元被释放并且返回到适当队列,以供随后任务所使用。
在一个已知的系统中,从队列的顶部把分配单元分配给新的任务,而且一旦任务结束,所释放的分配单元返回到队列的底部。于是,最近最少使用的分配单元为下一个将被分配的分配单元。这样的设置可以通过延迟对分配单元的重新使用来保留与分配单元相关的数据。因此,例如,如果分配单元是一个任务控制块,则该任务控制块的数据可以被保留,用于问题诊断或其它用途,直至该任务控制块到达队列的顶部并且被重新使用以及其数据被覆写为止。
另一方面,如果分配单元为含有已超高速缓冲存储在群集处理器超高速缓冲存储器中的数据的一部分内存,则重新使用存储在超高速缓冲存储器中的数据的延迟可能导致该数据在被另一个任务使用之前从超高速缓冲存储器中被刷新(flush)。随着分配单元队列长度增加,数据从超高速缓冲存储器中被过早刷新的可能性增大。
在某些系统中,可以对分配单元队列的长度进行限制,以提高超高速缓冲存储器的使用效率。如果可用于从队列分配的分配单元的数目不足以满足对分配单元的需求,则可通过将任务本身排列在各种类型队列中以等待任务执行所需的分配单元的可用性,来对资源分配单元的分配进行定量配给(ration)。
另一种已知的方案是,不仅从队列的顶部把分配单元指派给新任务,而且一旦任务结束,就使得被释放的分配单元返回到队列的顶部。于是,最近最常使用的分配单元是下一个将被分配的分配单元。这样设置可以提高超高速缓冲存储器的效率。然而,与分配单元相关的历史数据的保留可能会受到该分配单元的快速重新使用的负面影响。
发明内容
本发明提供一种任务管理方法,包括:对与任务相关的分配单元进行分类,其中所述分类包括第一类和第二类;当相关的任务结束时,释放所述任务的分配单元;以及根据所述分配单元的所述分类,把所述释放的分配单元排列在一队列中一个所选定的位置,重新用于所述队列中的另一任务,其中所述排列包括:如果被分类为所述第一类,则把分配单元排在所述队列的第一端;以及如果被分类为所述第二类,则把分配单元排在所述队列的第二端,其中从所述第一端开始,按队列次序,从所述队列去除所述分配单元,以供另一个任务加以使用,其中所述第一类的排列的分配单元的重新使用被优先进行,而所述第二类的排列的分配单元的重新使用被滞后进行。
本发明还提供一种任务管理系统,包括:处理器;以及多个资源分配单元;其中,所述处理器的逻辑适于:使用分配给任务的至少一个分配单元执行该任务;对与任务相关的分配单元进行分类,其中所述分类包括第一类和第二类;保持可用于分配给任务的分配单元队列;当相关的任务结束时,释放分配单元;以及根据所述分配单元的所述分类,把所述释放的分配单元排列在所述队列中所选定的位置,以供所述队列中另一个任务重新使用;其中所述排列包括:如果被分类为所述第一类,则把分配单元排在所述队列的第一端;以及如果被分类为所述第二类,则把分配单元排在所述队列的第二端,其中从所述第一端开始,按队列次序,从所述队列去除所述分配单元,以供另一个任务加以使用,其中所述第一类的排列的分配单元的重新使用被优先进行,而所述第二类的排列的分配单元的重新使用被滞后进行。
本发明还提供一种任务管理方法,包括:使用分配给任务的至少一个分配单元执行任务;对与任务相关的分配单元进行分类;其中所述分类包括第一类和第二类;保持可用于分配给任务的分配单元队列;当相关的任务结束时,释放分配单元;以及根据所述分配单元的所述分类,把所述释放的分配单元排列在所述队列中所选定的位置,以供所述队列中另一个任务重新使用;其中所述排列包括:如果被分类为所述第一类,则把分配单元排在所述队列的第一端;以及如果被分类为所述第二类,则把分配单元排在所述队列的第二端,其中从所述第一端开始,按队列次序,从所述队列去除所述分配单元,以供另一个任务加以使用,其中所述第一类的排列的分配单元的重新使用被优先进行,而所述第二类的排列的分配单元的重新使用被滞后进行。
在本发明中,对与任务相关的分配单元进行分类。根据分配单元的这一分类,所述随着任务结束而被释放的分配单元被排列在队列中所选定的位置,以供该队列中另一个任务使用。在一个实施例中,如果被分类为第一类,则该分配单元被排在该队列的第一端,如果被分类为所述第二类,则该分配单元被排在该队列的第二端。其它的实施例被描述和要求。
附图说明
现在,参照附图。其中,在所有图中以相同的参考标记表示相应的部分:
图1示出了其中实现了本发明的一些方面的计算环境的实例;
图2示出了根据此处所提供的描述的一个方面对资源分配单元进行排队的实例;
图3示出了根据此处所提供的描述的一个方面对资源分配单元进行排队的另一实例;
图4示出了在资源分配单元排队时所使用的数据结构的一个实例;
图5示出了根据此处所提供的描述的一个方面对用于资源分配单元排队的任务进行分类的一个实例;以及
图6示出了网络环境中计算部件的体系结构,诸如主机、存储控制器、群集、以及任何其它计算设备。
具体实施方式
在以下的描述中,将参照附图,这些附图构成下列描述的一部分,并且示出了本发明的几个实施例。应该认识到,在不脱离本发明的范围的情况下,也可以使用其它实施例,并且可以进行结构和操作上的改变。
图1示出了其中实现了本发明的一些方面的计算体系结构。一个或多个主机102a,102b....102n,经由主存储控制器106a,与一个主存储系统104a,诸如本领域已知的DASD或其它存储系统,进行数据通信。以类似的方式,主机102a,102b....102n,经由次存储控制器106b,与一个次存储系统104b,诸如本领域已知的DASD或其它存储系统,进行数据通信。主机102可以为本领域已知的任何计算设备,例如,服务器、大型机、工作站、个人计算机、手持计算机、膝上机、电话设备、网络电器等。存储控制器106a、106b以及一个或多个主系统102经由网络108进行通信,网络108可以包括存储区域网络(SAN)、局域网(LAN)、内部网络(Intranet)、Internet、广域网(WAN)等。主和次存储系统104、104b可分别包括硬盘驱动器、磁带盒库、光盘以及本领域已知的任何合适的非易失存储媒体。
可以把主和次存储系统104、104b分别设置为一个存储设备阵列,例如,Just a Bunch of Disks(仅一组磁盘(JBOD))、DASD、独立磁盘冗余阵列(RAID)阵列、虚拟设备等。主和次存储控制器106a、106b可以包括本领域中任何存储控制器或服务器,例如IBM企业存储服务器(ESS)或本领域已知的任何其它存储控制器。在某些实施方式中,可以把每个存储系统104a、104b的存储空间配置为多个逻辑设备(LD)110a,110b....110n。
可以把主存储系统104a或逻辑设备110a,110b....110n分别划分成含有数据块的存储块,并且可以进一步把存储块划分成含有数据子块的存储子块。在某些实施方式中,数据块为轨道(track)的内容,而数据子块为轨道的扇区的内容。为便于引述,此处将把术语轨道和扇区用作数据块和数据子块的例子,但这些术语的使用并不意味着把本发明的技术限制于轨道和扇区。本发明的技术适合于任何类型的存储器、以任何形式划分的存储块或数据块。
存储控制器106a、106b分别包括硬件部件的两个独立群集120a、120b,以提供改进可用性的冗余度。尽管结合具有群集的存储控制器描述了所示的实施例,但应该认识到,此处所提供的描述可适合于使用单一处理器或多处理器的各种系统。
所示的实施例的每个群集120a、120b可以保持在一个分离的功率边界上,并且包括处理器合成体122a、122b、超高速缓冲存储器124a、124b、以及非易失存储单元(NVS)126a、126b。NVS 126a、126b可以包括备份有电池的RAM、或任何其它类型的用于备份超高速缓冲存储器中的数据的非易失或易失的备份超高速缓冲存储器。主机102a,102b....102n将向群集120a、120b提交导向目标逻辑设备(LD)110a,110b....110n的、包括写数据的应用I/O请求,目标逻辑设备(LD)110a,110b....110n被指派给群集120a、120b。群集120a、120b中的NVS 126a、126b被用于备份另一个群集120b、120a中的超高速缓冲存储器124b、124a中的写数据,例如,NS 126a备份超高速缓冲存储器124中的写数据。
存储控制器106a、106b包括用于读数据的读过程和用于写数据的写过程。主存储控制器106a还包括用于把数据从主存储控制器106a传送到远程存储器的同步过程,例如,在次存储控制器106b处的存储器104b。当任务获得执行任务所需的控制器资源时,为了加以执行,由操作调度器调度每一过程的每一任务或操作。可以在处理器122a、112b或适配器130中以软件、固件、硬件或者它们的组合来实现该操作调度器。
在某些实施方式中,读过程、写过程以及同步过程实现为固件。在某些实施方式中,读过程、写过程以及同步过程实现为用于每一过程的独立软件程序。在某些实施方式中,读过程、写过程以及同步过程可以互相组合或者与其它软件程序组合。
次存储控制器106b提供了一或多个存取磁盘存储器的恢复系统,例如次存储器104b,其保持主存储器104a的卷(volume)的全部或一个子集的备份拷贝。次存储器可以为直接存取存储设备(DASD)。次存储器104b还被划分成含有数据块的存储块,并且该存储块可以进一步被划分成含有数据子块的存储子块。在某些实施方式中,数据块为轨道,而数据子块为轨道的扇区。为了便于引述,此处将把术语轨道和扇区用作数据块和数据子块的实例,但这些术语的使用并不意味着把本发明的技术限制于轨道和扇区。本发明的技术适合于任何类型的存储器、以任何形式划分的存储块或数据块。
在某些实施方式中,可移去(removable)存储器(而不是远程存储器或者附于(in addition to)远程存储器,例如次存储器104b)可用于保持主存储器104a的全部或一个子集的备份拷贝,而且本发明的技术把数据传送给可移去存储器而不是远程存储器。可移去存储器可以驻留在主存储控制器106a中。
在某些实施方式中,主存储控制器106a和次存储控制器106b可以包括IBM企业存储服务器,或者包括本领域已知的任何其它控制单元。
在某些实施例中,主存储控制器106a和/或次存储控制器106b可以包括本领域已知的任何计算设备,例如,大型机、服务器、个人计算机、工作站、膝上机、手持计算机、电话设备、网络电器、虚拟设备、存储控制器等。
主站点可以包括多个主存储控制器、主存储器以及主计算机。次站点可以包括多个次存储控制器、恢复系统以及次存储器。
在某些实施例中,数据保持在卷对(volume pair)中。卷对包括主存储设备(例如,主存储器104a)中的一个卷和次存储设备(例如,次主存储器104b)中的一个相应的卷,其中,次存储设备器104b包括主卷中所保持的数据的一致的拷贝。例如,主存储器104a可以包括卷1和卷2,而次存储器104b可以包括相应的卷1和卷2。可以提供一个主存储控制器,以控制对主存储器的存取,以及可以提供一个次存储控制器,以控制对次存储器的存取。
在某些实施例中,主存储控制器106a和次存储控制器106b经由通信路径,诸如直接高速传输线路(例如,企业系统连接(ESCON)、或者光纤连接(FICON)、或者光纤连接协议(FCP)链路),进行通信。然而,通信路径可以包括本领域已知的任何其它通信装置,包括网络传输线路、光纤电缆等。
所示的实施例的每个存储控制器106a、106b还包括网络适配器130,该网络适配器130允许每个存储控制器106a、106b与每个主机102a,102b....102n以及其它存储控制器进行通信。针对每个存储控制器106a、106b的群集和适配器之间的通信,每个群集120a,120b以及适配器130具有一个邮件管理过程。
为了把数据写至目标逻辑设备110a,110b....110n,诸如主机102a的主机向主存储控制器106a、106b发布写命令,例如嵌入作为光纤通道协议(FCP)帧的适当的网络协议帧中的一个SCSI(小型计算机系统接口)。主存储控制器106a的网络适配器130接收该写命令,并且经由其邮件管理器把适当的写操作发送给主存储控制器106a的群集120a,120b之一的邮件管理器。
如先前所提到的,通常是有用的是把数据写至一个以上的存储设备上以便在数据在一个设备上丢失的情况下可以从另一个设备提取该数据。例如,实现该冗余数据写入的一种技术是使得一个存储控制器106a的逻辑存储设备110a,110b....110n与另一个存储控制器106b的逻辑存储设备110a,110b....110n成对。于是,例如,可以把存储控制器106a的逻辑存储设备110a与存储控制器106b的逻辑存储设备110a成对。在这样的一种结构中,可以对存储控制器106a的群集120a进行编程,以便识别对存储控制器106a的逻辑存储设备110a的写操作应在存储控制器106b的逻辑存储设备110a上被重复。
对于同步PPRC,在诸如主机102a的主机完成了向主存储控制器106a写入轨道链(chain)之前,该链中的所有轨道通常将也被传送至次存储控制器106b。在某些实施方式中,该传送将由同步过程完成,该同步过程通常在该写过程的完成的确认被发送给主机102a之前将已完成。
对于PPRC Extended Distance(扩展距离),主机102a将在轨道还没有被发送给次存储控制器106b的情况下完成把该轨道写至主存储控制器106a。在该轨道已经被写至主存储控制器106b之后,该同步过程将会发现对应于该轨道的指示符(indicator)被设置成指示该轨道与次存储控制器106b处的相应的轨道不同步,并且该同步过程将把该轨道发送至次存储控制器106b。即,相对该主机所写的轨道,异步地发送该轨道。
为了把轨道发送给次存储控制器106b,群集120a可以向主存储控制器106a的网络适配器130发送邮件消息。作为响应,主存储控制器106a的网络适配器130可以以和主机102a,102b....102n的方式相似的方式,向次存储控制器106b发布写命令,诸如嵌入作为光纤通道协议(FCP)帧的适当的网络协议帧中的SCSI(小型计算机系统接口)命令。次存储控制器106b的网络适配器130接收该写命令,并且经由其邮件管理器把适当的写操作发送给次存储控制器106b的群集120a,120b之一的邮件管理器。
如先前所提到的,每个任务或操作利用正在执行所请求的操作的群集120a,120b或者适配器130的资源的一部分。这些资源可以包括内存空间、总线带宽或网络连接带宽、以及群集或适配器的处理器的计算能力。为了管理资源的分配,以致操作能够以适当的方式进行,把资源进一步划分成放置在一或多个队列中的分配单元。因此,分配单元可以为一部分内存、任务控制块、一部分总线带宽等。为了执行任务,从队列中取出相应的资源分配单元,并分配以供该任务所使用。当任务完成或以其它方式终止时,指派给该任务的分配单元被释放,并且被返回到适当的队列,以供后续任务所使用。
根据此处提供的描述的一个方面,分配单元一旦释放,可以根据该分配单元的分类,被排列在队列的选定位置。如下面更加详细的解释,这样的设置有助于超高速缓冲存储器的有效利用,以及保留与各种任务的执行相关的重要历史数据。应该认识到,可以根据特殊应用而利用其它方面。
图2描述了一个诸如群集120a的群集或适配器的操作调度器的操作的实例,该操作调度器在向任务或操作分配资源时有助于群集或适配器的操作。例如,适配器130可以为运行诸如FC-SB-2(FICON)FC4 Upper Level Protocol(上层协议)的协议的FIBRE通道适配器。应该认识到,也可以使用其它协议。
在一个操作中,对一或多个资源分配单元进行分类(方框200)。这些分配单元与任务相关联,并且在该任务的执行过程中被所关联的任务用作所分配的分配单元。该分类可以在所关联的任务的执行之前、期间或之后进行。
如下面更加详细的解释,分配单元的分类可以基于不同的准则。例如,一个准则可以是与分配单元相关联的任务的类型。另一个准则可以为所关联任务的完成结果。应该认识到,也可以利用其它准则对该分配单元进行分类。
当所关联的任务的执行结束时,分配给该任务的分配单元可以被释放(方框202),以供其它任务所用。因此,所释放的分配单元可被排列(方框204)在一个或多个队列中以等待被分配给另一任务。根据此处提供的描述的一个方面,可以把特定的释放分配单元在该队列中所排列的位置选为对该特定应用单元的分类的函数(function)。
例如,如果被分类为第一类,所释放的分配单元则可被排列在其特定队列的顶部。或者,如果被分类为不同的类,分配单元则可被排列在其特定队列的底部。应该认识到,特定分配单元在队列中所排列的位置可以根据特定的应用而改变。
图3描述了诸如群集120a的群集或适配器的操作调度器的操作的更详细的实例,该操作调度器在向任务或操作分配资源时有助于群集或适配器的操作。在一个操作中,用于任务的任务控制块被标记(方框300),以指示被分配给该任务的一个或多个分配单元的分类。在该实例中,该任务控制块的所关联的任务在对分配给该任务的分配单元进行分类和释放该分配单元之前就已经结束。如先前所提到的,对已经分配或将要分配给一个任务的分配单元的分类可以根据特定的应用而在任务结束之前、期间或之后进行。
图4描述了任务控制块400的实例,例如,该任务控制块400提供了用于诸如读或写操作的任务的数据结构。然而,应该认识到,也可以采用其它类型的数据结构来存储分类信息。该实例的任务控制块400包括多个数据字段402a,402b....402n,其中的每个均可存储诸如用于引导所关联的任务的执行的参数或其它数据的数据。字段402a,402b....402n还可以存储包括状态的状态信息或检查信息,所述状态信息描述任务执行的方式,所述检查信息描述完成结果。于是,例如,如果在任务执行期间的某一时刻出现错误情况,则可以在一个或多个字段402a,402b....402n中设置一个或多个比特来指示错误或检查情况。
另外,任务控制块400具有一个或多个分配单元分类标识(flag)404a,404b....404n,可以对分配单元标识404a,404b....404n加以标记(方框300),以表明分配给该任务的一个或多个分配单元的分类。在一个实例中,任务控制块400可以利用单一的分配单元分类字段,诸如字段404a,来表示分配给与任务控制块400相关联的任务的所有分配单元(包括任务控制块400本身)的分类。于是,例如,当设置诸如标识404a的这样的分配单元分类标识(例如,设置为“1”值)时,其表示:分配给该任务控制块400的任务(包括任务控制块400本身)的所有资源分配单元,应在任务控制块400的任务结束时,被释放至它们各自队列的顶部。相反,例如,当重新设置诸如标识404a的这样的分配单元标识(例如,设置为“0”值)时,其表示:分配给该任务控制块400的任务(包括任务控制块400本身)的所有资源分配单元,应在任务控制块400的任务结束时,被释放至它们各自队列的底部。
在另一个实例中,例如,任务控制块400可以使用两或两个以上的分配单元分类字段,诸如字段404a,404b,以表示分配给与任务控制块400相关联的任务的分配单元的不同类型的分类。例如,可以使用字段404a来表示分配给与任务控制块400相关联的任务的内存部分分配单元的分类。于是,当设置分配单元分类标识404a时,其表示:分配给该任务控制块400的任务的所有内存部分资源分配单元,应在任务控制块400的任务结束时,被释放至它们队列的顶部,以及当重新设置时,应在任务控制块400的任务结束时,被释放至它们队列的底部。
作为另一个例子,可以使用字段404b来表示各种数据结构的分类,例如分配给任务的任务控制块400本身。于是,当设置分配单元分类标识404b时,其可表示:分配给该任务的任务控制块400的分配单元应在任务控制块400的任务结束时被释放到其队列的顶部,以及当重新设置时,应在任务控制块400的任务结束时被释放到其队列的底部。应该认识到,分配单元分类字段404a,404b以及404n的数目和采用各字段404a,404b以及404n分类的分配单元的类型可以根据特定的应用而变化。
例如,当诸如字段404a的分配单元分类字段被设置来表示与该字段相关的资源分配单元应在任务控制块400的任务结束时被释放至它们各自队列的顶部时,例如,可以把那些分配单元描述为被分类为属于第一类,此处可以将第一类称为“类1”。在所示的实施例中,被分类为类1的分配单元被视为其中快速重新使用为较高优先级的分配单元。例如,一种内存部分分配单元可能是用于类1分类的好的候选,其中,该内存部分分配单元已经被超高速缓冲存储在群集的超高速缓冲存储器中,并且与该被超高速缓冲存储的内存部分分配单元相关的任务已经在无错误或检查情况的情况下成功完成。如果情况如此,该内存部分分配单元则可以被释放到相应队列的顶部,以便于该分配单元的快速重新使用。因此,当该内存部分分配单元被下一个任务重新使用时,与该内存部分相关的数据更可能位于超高速缓冲存储器中。
相反,例如,当重新设置诸如字段404a的分配单元分类字段来表示与该字段相关的资源分配单元应在任务控制块400的任务结束时被释放到它们各自队列的底部时,可以把那些分配单元描述为被分类为属于第二类,例如,此处可以将第二类称为“类2”。在所示的实施例中,被分类为类2的分配单元被视为其中历史数据恢复为较高优先级的分配单元。例如,已经在有错误或检查情况的情况下结束的、用于任务的任务控制块分配单元可能是用于类2分类的一个好的候选。如果情况如此,该任务控制块分配单元则可以被释放到相应队列的底部,以延迟对该分配单元的重新使用。因此,与该任务控制块相关的数据更可能在随后的任务控制块转储(dump)或其它诊断或恢复操作中用于研究。
图5示出了对与任务相关的分配单元进行分类的操作的实例。在所示的实施例中,描述了用于对资源分配单元进行分类的多种准则。应该认识到,也可以根据特定应用,把较少的、更多的或者与所说明的这些准则不同的准则用于分类目的。而且,在所示的实施例中,资源分配单元被分类为“类1”,即被分类为被释放到其相应队列顶部的分配单元;或者资源分配单元被分类为“类2”,即被分类为被释放到其相应队列底部的分配单元。需要理解的是,也可以使用其它类来对这些类进行补充或替代,包括表示分配单元释放到对列中的其它位置的类。
在一个操作中,确定(方框500)与一个或多个分配单元相关的任务是否无错地完成。例如,该确定可以通过检查与该任务相关的任务控制块400的一个或多个适当数据字段402a,402b....402n来进行。在所示的实施例中,如果任务在有错误或其它检查情况的情况下得以完成,则分配单元被分类(方框502)为“类2”,即,该分配单元应被释放到其相应队列的底部。由于被排列其相应队列的底部,该分配单元的重新使用被延迟,尽管该分配单元会朝队列的顶部移动。从而,与该分配单元相关的数据,例如任务控制块中的数据,更可能在随后数据转储或其它诊断或恢复操作过程中用于研究。因此,对与该分配单元相关的适当的分配单元分类字段404a,404b....404n进行标记(图3,框300),以表示类2分类。
如果确定(方框500)与该分配单元相关的任务确实在无错误或其它检查情况的情况下得以完成,则可以进行另一个确定(方框504):该任务是否“非频繁”出现。如果是,则把该分配单元分类(方框502)为“类2”,即,该分配单元应被释放到其相应队列的底部,以增加分配单元,例如任务控制块中的数据,在随后的数据转储或其它诊断或恢复操作过程中用于研究的可能性。因此,对与该分配单元相关的适当的分配单元分类字段404a,404b....404n进行标记(图3,框300),以表示类2分类。
如果将非频繁出现的任务释放至队列的底部,则其不太可能对整个超高速缓冲存储器的效率产生大的影响。另外,许多非频繁出现的任务可能具有有益于恢复操作的重要的诊断数据。例如,在存储控制器中,与数据读或数据写任务相比,设备级别控制任务,例如,选择性重新设置、取消或系统重新设置,是相对不频繁的任务。作为另一个例子,链接级别控制任务,例如,建立逻辑路径,也是相对不频繁的的任务。其它例子包括FCP中的“任务管理”功能,例如,清除任务、中止任务等;FICON中的许多其它链接级别功能;以及FCP扩展的链接服务。可以把分配给这样的非频繁任务的分配单元分类为类2,以便其在被释放时将被释放至它们各自队列的底部。
如果确定(方框504)与该分配单元相关的任务不是非频繁任务,则可以进行另一个确定(方框506):该任务是否与“问题情况”相关联。如果相关联,则再次把该分配单元分类(方框502)为“类2”,即,应该把该分配单元释放到其相应队列的底部。因此,对与该分配单元相关的适当的分配单元分类字段404a,404b....404n进行标记(图3,框300),以指示类2分类。
例如,任务可以源于问题情况的出现。例如,把由FICON通道所引发的任务或通道命令字(CCW)链与通道末端的分割状态或重试状态相分离,则可能增大与分配单元相关的用于问题判断的数据的值。这样的情况通常不太频繁地出现,并且可以指出关于超高速缓冲存储器或非易失存储器的利用情况的问题。可以把执行被断开的链的任务分类为类2,因为该任务不是在无错误或其它检查情况的情况下得以完成的(方框500)。另外,也可以把用于重新连接以完成操作的任务分类为类2,因为重新连接任务源于先前问题情况,即,最初的断开。
在所示的实施例中,如果断定(方框500)与该分配单元相关的任务在无错误或其它检查情况的情况下得以完成,并且断定(方框504)与该分配单元相关的任务是频繁任务,以及断定(方框506)该任务不与一个“问题情况”相关联,则可以把该分配单元分类(方框508)为类1,即,应该把该分配单元释放至其相应队列的顶部,以允许快速地重新使用,从而提高超高速缓冲存储器的效率。应该认识到,也可以使用其它分类准则,以及用于其它目的。
当对分配给任务的分配单元进行分类,并且对与该任务相关的控制块400的适当字段404a,404b....404n进行标记(方框300)时,一个或多个分配单元可以随着任务结束而被释放(图3,方框302)。对于每个所释放的分配单元,可以检查对分配单元的分类(方框304)。在所示的实施例中,可以通过检查与为其分配该分配单元的任务相关的控制块400的适当的分配单元分类标识404a,404b....404n,来检查所释放的分配单元的分类。应该认识到,可以根据特定应用把分类记录在各种数据结构中。
如果断定已经把分配单元分类为类1,则把所释放的分配单元排队(方框306)于其相应队列的顶部。相反,如果断定已经把分配单元分类为类2,则把所释放的分配单元排队(方框308)于其相应队列的底部。
在另一个操作中,可以判断是否还有要排队的附加分配单元。如果有,则可以根据特定分配单元的分类,检查(方框304)对其余所释放的分配单元的分类,并且将其排列在顶部(方框306)或底部(方框308)。一旦断定(方框310)已经对所有所释放的分配单元进行了排队,则该过程完成(方框312)。
附加的实施方式细节
所描述的用于对资源分配单元进行排队的技术可以实施为一种使用标准编程和/或工程技术来生产软件、固件、硬件或者它们的任何组合的方法、装置、配置或者制造产品。此处所使用的术语“制造产品”指的是在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)、或诸如磁存储媒体(例如,硬盘驱动器、软盘、磁带等)的计算机可读媒体、光存储器(CD-ROM、光盘等)、易失和非易失存储器件(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等)中所实现的代码或逻辑。处理器合成体可存取和执行计算机可读媒体中的代码。其中实现优选实施例的代码可进一步通过传输媒体或者从网络上的文件服务器进行存取。在这样的情况下,其中实现了这种代码的制造产品可以包括传输媒体,例如,网络传输线路、无线传输媒体、通过空间的信号传播、无线电波、红外信号等。因此,“制造产品”可以包括其中包含了这种代码的媒体。另外,“制造产品”还可以包括其中实施了这种代码的、并且可以处理和执行这种代码的硬件和软件部件的组合。当然,本领域的技术人员将会认识到,在不脱离本发明的范围的情况下可以对这一配置进行诸多修改,而且制造产品可以包括本领域已知的任何信息承载媒体。
某些实施例可涉及一种用于把人工计算指令或自动处理的集成的计算机可读代码配置在计算系统中的方法,其中,能够使与计算系统相结合的代码执行所描述实施例的操作。
在所描述的实施方式中,如由处理器合成体122a和122b或者适配器130的处理器所执行的那样,描述某些操作。在可选的实现中,如处理器所执行的那样描述的某些操作可以由各种计算机、处理器以及控制器来执行。例如,把一个实施例描述为FIBRE通道适配器。应该认识到,可选的实施例包括存储控制器I/O适配器、存储控制器设备适配器、存储控制器服务器、磁带和磁盘驱动器固件、zOs通道适配器、zOs软件应用、主总线适配器、个人计算机软件程序、操作系统软件、用于对等通信的存储控制器启动器适配器等。
在所描述的实施方式中,提供了双群集。在可选的实现中,可以具有一个或两个以上的群集,并且能够在任何群集中实施资源管理。
图2、3以及5中所示的逻辑描述了某些按某种次序发生的事件。在可选的实现中,可以按不同的次序执行某些操作,并且可以对它们进行修改或删除。而且,可以把步骤添加到以上所述逻辑,并仍与所描述的实施方式相符。另外,此处所描述的操作可以顺序地出现,也可并行地处理某些操作。而且还可以由单一的处理器或者由分布式的处理单元执行操作。
变量N用于表示针对某些所描述的元素的任何整数变量,并且当用于不同的场合时,可以表示相同的或不同的整数值。
图6示出了计算机体系结构800的一种实施方式,诸如图1中所示的主机和存储控制器群集的网络部件。体系结构800可以包括处理器802(例如,微处理器)、内存804(例如,易失存储器件)、以及存储器806(例如,诸如磁盘驱动器、光盘驱动器、磁带驱动器等的非易失存储器)。存储器806可以包括一个内部的存储器件,或者附属存储器或网络可存取的存储器。可以把存储器806中的程序加载到内存804中,并且可以由处理器802以本领域已知的方式执行。该体系结构还包括能够与网络进行通信的网卡808。输入设备810用于向处理器802提供用户输入,并且可以包括键盘、鼠标器、记录笔、麦克风、触敏显示屏、或者本领域已知的任何其它激活或输入机构。输出设备812能够呈递从处理器802或者其它部件所传输的信息,例如显示监视器、打印机、存储器等。
以上,已经说明性地描述了本发明的不同实施例。这一描述不旨在穷举或限制于所公开内容的精确形式。鉴于以上的描述,进行多方面的修改和变化是可能的。
Claims (27)
1.一种任务管理方法,包括:
对与任务相关的分配单元进行分类,其中所述分类包括第一类和第二类;
当相关的任务结束时,释放所述任务的分配单元;以及
根据所述分配单元的所述分类,把所述释放的分配单元排列在一队列中一个所选定的位置,重新用于所述队列中的另一任务,其中所述排列包括:如果被分类为所述第一类,则把分配单元排在所述队列的第一端;以及如果被分类为所述第二类,则把分配单元排在所述队列的第二端,其中从所述第一端开始,按队列次序,从所述队列去除所述分配单元,以供另一个任务加以使用,其中所述第一类的排列的分配单元的重新使用被优先进行,而所述第二类的排列的分配单元的重新使用被滞后进行。
2.根据权利要求1所述的方法,其中,所述分类包括:如果与所述分配单元相关的任务无错地完成,则把该分配单元分类为所述第一类。
3.根据权利要求1所述的方法,其中,所述分类包括:如果与所述分配单元相关的任务有错地完成,则把该分配单元分类为所述第二类。
4.根据权利要求3所述的方法,其中,所述有错地完成的任务是在检查情况下完成的输入/输出任务。
5.根据权利要求1所述的方法,其中,所述分类包括:如果与分配单元相关的任务以第一频率出现,则将该分配单元分类为所述第一类;而如果与分配单元相关的任务以小于所述第一频率的第二频率出现,则将该分配单元分类为所述第二类。
6.根据权利要求5所述的方法,其中,以小于所述第一频率的第二频率出现的所述任务包括设备级别控制任务和任务管理功能,其中,所述设备级别控制任务包括选择性重新设置任务、清除任务和系统重新设置任务中的至少一个任务,所述任务管理功能包括清除任务和中止任务中的至少一个任务。
7.根据权利要求6所述的方法,其中,所述任务由存储控制器执行,而且其中,以小于所述第一频率的第二频率出现的所述任务是链接级别控制任务。
8.根据权利要求7所述的方法,其中,所述链接级别控制任务是建立逻辑路径任务。
9.根据权利要求6所述的方法,其中,所述任务由存储控制器执行,而且其中,所述分类包括:如果与分配单元相关的任务由通道启动并被断开,则将该分配单元分类为所述第二类;而且如果把相关的任务用于重新连接一条被断开的链,则将该分配单元分类为所述第二类。
10.一种任务管理系统,包括:
处理器;以及
多个资源分配单元;
其中,所述处理器的逻辑适于:
使用分配给任务的至少一个分配单元执行该任务;
对与任务相关的分配单元进行分类,其中所述分类包括第一类和第二类;
保持可用于分配给任务的分配单元队列;
当相关的任务结束时,释放分配单元;以及
根据所述分配单元的所述分类,把所述释放的分配单元排列在所述队列中所选定的位置,以供所述队列中另一个任务重新使用;其中所述排列包括:如果被分类为所述第一类,则把分配单元排在所述队列的第一端;以及如果被分类为所述第二类,则把分配单元排在所述队列的第二端,其中从所述第一端开始,按队列次序,从所述队列去除所述分配单元,以供另一个任务加以使用,其中所述第一类的排列的分配单元的重新使用被优先进行,而所述第二类的排列的分配单元的重新使用被滞后进行。
11.根据权利要求10所述的系统,其中,所述分类包括:如果与所述分配单元相关的任务无错地完成,则把该分配单元分类为所述第一类。
12.根据权利要求10所述的系统,其中,所述分类包括:如果与所述分配单元相关的任务有错地完成,则把该分配单元分类为所述第二类。
13.根据权利要求12所述的系统,其中,所述完成而有错的任务是在检查情况下完成的输入/输出任务。
14.根据权利要求10所述的系统,其中,所述分类包括:如果与分配单元相关的任务以第一频率出现,则将该分配单元分类为所述第一类;而如果与分配单元相关的任务以小于所述第一频率的第二频率出现,则将该分配单元分类为所述第二类。
15.根据权利要求14所述的系统,其中,以小于所述第一频率的第二频率出现的所述任务包括设备级别控制任务和任务管理功能,其中,所述设备级别控制任务包括选择性重新设置任务、清除任务和系统重新设置任务中的至少一个任务,所述任务管理功能包括清除任务和中止任务中的至少一个任务。
16.根据权利要求15所述的系统,还包括存储控制器,该存储控制器包括所述处理器,其中,所述任务由所述存储控制器执行,而且其中,以小于所述第一频率的第二频率出现的所述任务是链接级别控制任务。
17.根据权利要求16所述的系统,其中,所述链接级别控制任务是建立逻辑路径任务。
18.根据权利要求15所述的系统,还包括存储控制器,该存储控制器包括所述处理器,其中,所述任务由所述存储控制器执行,而且其中,所述分类包括:如果与分配单元相关的任务由通道启动并被断开,则将该分配单元分类为所述第二类;而且如果把相关的任务用于重新连接被断开的链,则将该分配单元分类为所述第二类。
19.一种任务管理方法,包括:
使用分配给任务的至少一个分配单元执行任务;
对与任务相关的分配单元进行分类;其中所述分类包括第一类和第二类;
保持可用于分配给任务的分配单元队列;
当相关的任务结束时,释放分配单元;以及
根据所述分配单元的所述分类,把所述释放的分配单元排列在所述队列中所选定的位置,以供所述队列中另一个任务重新使用;其中所述排列包括:如果被分类为所述第一类,则把分配单元排在所述队列的第一端;以及如果被分类为所述第二类,则把分配单元排在所述队列的第二端,其中从所述第一端开始,按队列次序,从所述队列去除所述分配单元,以供另一个任务加以使用,其中所述第一类的排列的分配单元的重新使用被优先进行,而所述第二类的排列的分配单元的重新使用被滞后进行。
20.根据权利要求19所述的方法,其中,所述分类包括:如果与所述分配单元相关的任务无错地完成,则把该分配单元分类为所述第一类。
21.根据权利要求19所述的方法,其中,所述分类包括:如果与所述分配单元相关的任务有错地完成,则把该分配单元分类为所述第二类。
22.根据权利要求21所述的方法,其中,所述有错地完成的任务是在检查情况下完成的输入/输出任务。
23.根据权利要求19所述的方法,其中,所述分类包括:如果与分配单元相关的任务以第一频率出现,则将该分配单元分类为所述第一类;而如果与分配单元相关的任务以小于所述第一频率的第二频率出现,则将该分配单元分类为所述第二类。
24.根据权利要求23所述的方法,其中,以小于所述第一频率的第二频率出现的所述任务包括设备级别控制任务和任务管理功能,其中,该设备级别控制任务包括选择性重新设置任务、清除任务和方法重新设置任务中的至少一个任务,所述任务管理功能包括清除任务和中止任务中的至少一个任务。
25.根据权利要求24所述的方法,其中,所述任务由存储控制器执行,而且其中,以小于所述第一频率的第二频率出现的所述任务是链接级别控制任务。
26.根据权利要求25所述的方法,其中,所述链接级别控制任务是建立逻辑路径任务。
27.根据权利要求24所述的方法,其中,所述任务由存储控制器执行,而且其中,所述分类包括:如果与分配单元相关的任务由一通道启动并被断开,则将该分配单元分类为所述第二类;而且如果把相关的任务用于重新连接被断开的链,则将该分配单元分类为所述第二类。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/993,740 | 2004-11-18 | ||
US10/993,740 US7487319B2 (en) | 2004-11-18 | 2004-11-18 | Resource allocation unit queue |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1776624A CN1776624A (zh) | 2006-05-24 |
CN100487656C true CN100487656C (zh) | 2009-05-13 |
Family
ID=36387807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101204740A Expired - Fee Related CN100487656C (zh) | 2004-11-18 | 2005-11-18 | 资源管理的方法与系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7487319B2 (zh) |
CN (1) | CN100487656C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899958B2 (en) * | 2006-12-21 | 2011-03-01 | Unisys Corporation | Input/output completion system and method for a data processing platform |
US8359599B2 (en) * | 2007-11-20 | 2013-01-22 | Ricoh Production Print Solutions LLC | Methods and systems for efficient use and mapping of distributed shared resources |
US8838797B2 (en) * | 2009-07-10 | 2014-09-16 | Empire Technology Development Llc | Dynamic computation allocation |
US20120260037A1 (en) * | 2011-04-11 | 2012-10-11 | Jibbe Mahmoud K | Smart hybrid storage based on intelligent data access classification |
US9037815B2 (en) * | 2012-06-28 | 2015-05-19 | International Business Machines Corporation | Analyzing and reducing dump data |
US9323574B2 (en) * | 2014-02-21 | 2016-04-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Processor power optimization with response time assurance |
US10152388B1 (en) * | 2014-09-30 | 2018-12-11 | EMC IP Holding Company LLC | Active stream counts for storage appliances |
US10120716B2 (en) * | 2014-10-02 | 2018-11-06 | International Business Machines Corporation | Task pooling and work affinity in data processing |
US9720733B1 (en) * | 2015-04-28 | 2017-08-01 | Qlogic Corporation | Methods and systems for control block routing |
CN107016008B (zh) | 2016-06-06 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 信息处理方法和装置及动态信息的显示方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3034873B2 (ja) * | 1988-07-01 | 2000-04-17 | 株式会社日立製作所 | 情報処理装置 |
US5404550A (en) * | 1991-07-25 | 1995-04-04 | Tandem Computers Incorporated | Method and apparatus for executing tasks by following a linked list of memory packets |
US5671446A (en) * | 1995-03-16 | 1997-09-23 | Apple Computer, Inc. | Method and apparatus for atomically accessing a queue in a memory structure where LIFO is converted to FIFO |
FI991334A (fi) * | 1999-06-10 | 2000-12-11 | Nokia Networks Oy | Menetelmä kaksisuuntaisen jonon toteuttamiseksi muistissa ja muistijär jestely |
US7137116B2 (en) | 1999-11-09 | 2006-11-14 | Microsoft Corporation | Method and system for performing a task on a computer |
US6757897B1 (en) * | 2000-02-29 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and methods for scheduling and performing tasks |
US20030236961A1 (en) * | 2000-11-07 | 2003-12-25 | Qiu Chaoxin C. | Systems and methods for management of memory in information delivery environments |
US6785713B1 (en) * | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US6622177B1 (en) * | 2000-07-27 | 2003-09-16 | International Business Machines Corporation | Dynamic management of addresses to an input/output (I/O) device |
US6948009B2 (en) | 2002-06-04 | 2005-09-20 | International Business Machines Corporation | Method, system, and article of manufacture for increasing processor utilization |
US20050114858A1 (en) * | 2003-11-25 | 2005-05-26 | Telefonaktiebolaget L M Ericsson | Cancelled task management in a computer system |
-
2004
- 2004-11-18 US US10/993,740 patent/US7487319B2/en not_active Expired - Fee Related
-
2005
- 2005-11-18 CN CNB2005101204740A patent/CN100487656C/zh not_active Expired - Fee Related
-
2008
- 2008-12-10 US US12/332,263 patent/US7774571B2/en not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
一种基于多哈希表的堆式动态存储管理方法. 孙凌宇,冷明.井冈山师范学院学报,第24卷第6期. 2003 |
一种基于多哈希表的堆式动态存储管理方法. 孙凌宇,冷明.井冈山师范学院学报,第24卷第6期. 2003 * |
可变式分区算法演示程序的设计与实现. 陈荔,杨小东,张昕瑞.计算机应用,第24卷. 2004 |
可变式分区算法演示程序的设计与实现. 陈荔,杨小东,张昕瑞.计算机应用,第24卷. 2004 * |
Also Published As
Publication number | Publication date |
---|---|
CN1776624A (zh) | 2006-05-24 |
US7774571B2 (en) | 2010-08-10 |
US20090089791A1 (en) | 2009-04-02 |
US20060107015A1 (en) | 2006-05-18 |
US7487319B2 (en) | 2009-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100487656C (zh) | 资源管理的方法与系统 | |
US7587427B2 (en) | Hierarchical storage system, and control method and program therefor | |
CN100385406C (zh) | 执行与多个代理节点关联的备份节点的计划备份 | |
US7047355B2 (en) | Updated data write method using journal log | |
CN100590607C (zh) | 存储系统以及存储区域释放方法以及存储装置 | |
US6912635B2 (en) | Distributing workload evenly across storage media in a storage array | |
US8429369B2 (en) | Storage management program, storage management method, and storage management apparatus | |
CN100507821C (zh) | 用于存储区域网络内部的分配数据的方法和装置 | |
CN100461112C (zh) | 动态改善逻辑分区的存储器亲和性的装置和方法 | |
EP1843249A2 (en) | Storage controllers for asynchronous mirroring | |
US9619285B2 (en) | Managing operation requests using different resources | |
US7356452B1 (en) | System and method for simulating performance of one or more data storage systems | |
US7653830B2 (en) | Logical partitioning in redundant systems | |
CN101310250A (zh) | 选择包括首要和次级群集上的端口的路径以用于将位于首要卷的数据传输到次级卷 | |
US10203879B2 (en) | Control device and control method | |
US5701473A (en) | System for optimally storing a data file for enhanced query processing | |
CN101158915B (zh) | 作为修改记录操作的部分的核实记录的方法和系统 | |
JP2003030197A (ja) | 全文検索システム及び全文検索プログラム | |
CN1332320C (zh) | 用于保留存储器的方法和系统 | |
US7290099B2 (en) | Using parallelism for clear status track processing during error handling behavior in a storage system | |
US20050198411A1 (en) | Commingled write cache in dual input/output adapter | |
CN104115127A (zh) | 存储系统和数据管理方法 | |
CN101135995A (zh) | 用于从别名地址池中移除别名地址的方法和设备 | |
US7370081B2 (en) | Method, system, and program for communication of code changes for transmission of operation requests between processors | |
US7917906B2 (en) | Resource allocation in a computer-based system |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090513 Termination date: 20151118 |
|
EXPY | Termination of patent right or utility model |