CN1178349A - 用于保留资源的方法 - Google Patents

用于保留资源的方法 Download PDF

Info

Publication number
CN1178349A
CN1178349A CN97117408.3A CN97117408A CN1178349A CN 1178349 A CN1178349 A CN 1178349A CN 97117408 A CN97117408 A CN 97117408A CN 1178349 A CN1178349 A CN 1178349A
Authority
CN
China
Prior art keywords
resource
clue
request
explorer
keep
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
CN97117408.3A
Other languages
English (en)
Other versions
CN1132112C (zh
Inventor
A·必斯霍普
G·哈米尔顿
T·托克
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1178349A publication Critical patent/CN1178349A/zh
Application granted granted Critical
Publication of CN1132112C publication Critical patent/CN1132112C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种用于在一计算机系统中管理资源的方法。根据本发明的一个实施例,一资源管理器接收第一操作的第一请求。此请求识别第一资源并且指定执行所述第一操作所需的第一资源的数量。作为响应,资源管理器确定由第一请求指定的第一资源的数量是否可以保留。响应在第一请求中指定的第一资源的数量可以保留。此资源管理器在分配第一资源给第一请求之前保留在第一请求中指定的第一资源的数量。

Description

用于保留资源的方法
本发明涉及计算机系统,并且特别地,本发明涉及保留和管理计算机系统资源。
在诸如嵌入式系统、机顶单元(Set-top box)、或者通用计算机等的计算环境中,其中的资源(例如,存贮器)是有限的,软件开发应适应完成操作所需的资源是否可获得的不确定性。
对于通用计算机,编写得好的软件在必需资源时请求资源,并且检验所请求的资源实际上被提供。如果确定一资源未被提供,那么正在执行的操作就会中途中止,并且分配给此操作前阶段的一些资源被返回给系统。
但是,在一个具有稀少资源的系统中,这种方法不能很好地执行。例如,如果仅仅具有足够的资源可用于一个操作执行直至结束,但是,此系统需要启动两个操作,那么两个操作就会半途而废。
有些系统试图通过为特定操作指定资源池来解决上述问题。但这种方法也存在一些问题。
考虑具有两个操作A和B的例子。每个操作仅仅分配100字节存贮器。再考虑其中操作A不使用其100字节存贮器而B需要150字节存贮器的情况。即使此系统中有200字节存贮器可用,但是操作B不能进行,因为100字节的存贮器只能用于操作A。
有些程序设计者试图通过预分配资源来解决这一问题。例如,如果一个程序设计者知道在一操作的开始需要100字节存贮器,在此操作的中途需要另外100字节,而在此操作的结尾需要100字节,那么这个程序设计者在此操作开始前将分配300字节存贮器。
但是,预分配资源至少存在三个缺点。首先,在一面向目标的环境中,可能没有方法预先分配恰当目标类型的资源。一个程序设计者必须分配一个类的未初始化示例并且在其后初始化它们。然而,许多类设备禁止建立该类的未初始化示例。
其次,大多数代码在编写时没有考虑预分配。因此,当集成码(integratingcode)已经预分配资源而现有码(existing code)未预分配任何资源时,就没有方法管理所述现有码使用可能已被预分配的资源。
第三,资源预分配禁止系统进行智能管理。从系统的角度来看,一旦一资源已经分配,那么就认为此资源在使用中。因此,即使某些已经分配的资源实际上不在使用中,系统也不可能管理这些已分配的资源(例如,临时借用一些已分配的存贮器给一单独操作)。
本发明的一个实施例提供了一种用于在一计算机系统中管理资源的方法。根据本发明的一个实施例,一资源管理器接收第一操作的第一请求。所述第一请求识别第一资源并且指定执行所述第一操作所需的第一资源的数量。作为响应,资源管理器确定由第一请求请求的第一资源的数量是否可以保留。如果由第一请求请求的第一资源的数量可以保留,所述资源管理器在分配第一资源给第一操作之前保留由第一请求请求的第一资源的数量。
本发明的一个实施例通过例子来说明,并且不限于附图的描述,其中类似的标记表示相同的元素,并且其中:
图1说明了能够实现本发明的一个实施例的一个计算机系统。
图2a是一个流程图,描述了本发明的一个实施例中的步骤。
图2b是一个流程图,描述了本发明的一个实施例中的步骤。
下面说明一种用于在分配资源之前保留这些资源的方法。
参照图1,依据本发明的一实施例可实现的计算机系统被标示为100。显示在计算机系统100的存贮器104中的是一操作系统110,此操作系统110控制用户应用程序的执行并且提供诸如调度、数据输入/输出控制、和其它数据管理任务等的服务。
包括在操作系统中的有资源管理器112,此资源管理器是一个负责计算机系统资源分配的控制程序。可替换的是,此资源管理器112可存储在一计算机可读的介质上,例如磁盘,它可通过磁盘驱动单元120访问,如图1的计算机系统所示,此资源管理器112也能存储在一单独的计算机系统中,并且通过网络设备112在连接到计算机系统100的一网络中访问,其中所述网络设备122也如计算机系统100中包括的部分所示。
包括在存贮器104中的还有多线索程序115,如图所示,此多线索程序115当前正在执行。在现代的交互软件中,单个程序可以由多个控制流组成,通常称为:“控制线索”(线索)。线索将在一些不同的运行程序(即,进程)之间切换的概念扩展到在一些不同的功能之间切换,其中的功能在单个程序内几乎同时执行(即,单个程序中的多任务)。其结果是,由于在一个线索睡眠时(例如,从磁盘取数据)另一个线索可以运行,因此可以实现单个程序更好的性能和更高的吞吐量。
虽然属于一个程序的多个线索共享相同的地址空间,但是每个线索都有其自己的程序计数器(P.C.)、寄存器组和堆栈。其结果是,在线索之间切换的额外开销(例如,存储几个寄存器的状态、堆栈指针、程序计数器等等)明显小于在进程之间切换所引起的额外开销(例如,存储虚拟存储器映象的状态,文件描述符等等)。
计算机资源分配到每个线索以便完成与每个线索有关的相应操作,分配的资源可以包括随机存取存贮器、网络带宽、显示器、打印机、或者能够分配给运行程序的一个操作的任意其它计算机系统设备。
为了获得完成操作所需的资源,每个线索提出一请求到所述资源管理器112。资源管理器读取此请求以便确定所请求的资源和所请求的数量。然后资源管理器读资源状态表125(RST)以便确定是否可以得到所请求资源的请求数量。
在一个实施例中,RST包括每个资源的可用指示符,它显示有多少个特定资源可用于保留(例如,127)。在一替换实施例中,一个保留指示符能够用于显示当前被保留的每个资源数量。
如果所请求资源的所请求数量是可以得到的,那么资源管理器保留所请求资源的所请求数量(其后称为保留资源)。另一方面,如果所请求资源的所请求数量不能获得,那么此请求线索可以选择不开始其操作。
当保留所请求数量的所请求资源时,资源管理器插入一入口到保留表130中以便保留资源。在保留表中的每个入口标识保留资源、保留资源的数量,和已经保留此资源的线索。另外,资源管理器修改RST以反映所述保留。
在保留后的某个时候,保留资源被分配给已为其保留的线索。由于在为一请求分配资源之前为此请求保留了一部分所述资源,故请求此资源的线索一定有足够的资源完成其操作。
当保留资源分配给请求线索时,资源管理器修改现用表(In-use Table)145(IT)以表示保留资源当前分配给一线索。当一资源已经分配给一线索时,就可以假定,从资源管理器和计算机系统的角度来看,已经分配的所述资源量在使用中。
在替换实施例中,本发明提供了一种智能管理已经保留的资源的方法。例如,通过将资源保留与资源分配分离,系统可以知道哪些资源当前正在使用和哪些资源没有正在使用。其结果是,不在使用中但被一线索保留的资源能够临时租借给一较高优先级的操作。
参照图2,示出的流程图描述了本发明根据一个实施例执行的步骤。在框202中,一线索提出一请求到资源管理器以获得完成与此线索相关联的一操作运行所需的资源。在一个实施例中,线索的每个请求标识资源请求的数量和请求的优先级。在替换实施例中,请求线索也可以包括相对于程序115的其它线索的自己的优先权。
在读取线索的请求后,在判定框204中,资源管理器读取资源状态表(RST)125的可用指示符(例如127)以便确定所请求数量的所请求资源是否可以保留。在一个替换实施例中,在判定框204中,资源管理器也可以确定可以保留的请求资源量是否低于一预定阈值,其中可以保留的请求资源量应该认为是相对较低。
如果所请求数量的请求资源是可以获得的,或者在所述替换实施例中超过预定阈值,那么,在框206中,资源管理器保留所请求数量的请求资源(其后称为保留资源)。
更具体地,资源管理器将一入口138插入到保留表130中。在一个实施例中,保留表的每个入口标识请求资源131、为请求线索保留的资源量132、已请求资源的线索133、请求的优先权134,例如正常或非必需、以及可能指示请求线索的优先权135。在可替换的实施例中,只要RST的入口指示已经分配的资源,它们就可以在本发明的范围内变化。而且,除正常的或非必需的之外的优先级能够被分配给每个请求线索的请求而不脱离本发明的范围。
在块208中,资源管理器修改RST的可用指示器127以显示所述保留资源不能被保留。
在块210中,在资源管理器已经保留了所请求数量的所请求资源后的某个时候,保留资源动态地分配给已为其保留的各个线索。所述动态分配定义为,当请求线索需要保留资源时,分配部分保留资源给请求线索。
在块212中,为响应部分保留资源被动态地分配给请求线索,资源管理器修改现用表145以显示目前分配给已经请求此资源的线索的保留资源的数量。在一个实施例中,现用表的每个入口可以指示资源146、目前分配的数量147、以及已经为其分配此资源的线索148。
例如,如果线索1已经保留了100KB的存贮器,但最初仅分配25K,那么,线索1的现用表的入口将仅指示已分配25K存贮器给线索1。而且,如果线索1最初分配了100K存贮器,并且其执行过程半途而止,则线索1只利用50K存贮器就完成了其操作,那么资源管理器可以修改线索1的入口以显示目前仅仅为线索1分配了50K存贮器。
在一个实施例中,如果资源管理器在判定块204中确定不能得到所请求数量的所请求资源,或者在替换实施例中,确定可获得的数量低于预定的阈值,那么资源管理器就尝试挂起在先请求。在一替换实施例中,当所请求资源在预定级之下,如果此请求是非必需的或者请求此资源的线索的优先级低于一预定优先级,则可将资源管理器设计为拒绝此请求。
当试图挂起一在先请求时,资源管理器在块214中读保留表以发现一分离线索的一在先请求,此在先请求已经保留了满足当前请求的足够的所请求资源,而此当前请求已经不能保留部分所请求的资源。在一替换实施例中,资源管理器能够尝试挂起一组在先请求,这一组在先请求加在一起保留了满足当前请求的足够所请求资源。
一旦资源管理器发现了一在先请求,此在先请求已经保留了满足当前请求的足够的所请求资源,则在块216中,资源管理器读现用表以确定多少所请求资源已经分配给所述在先请求。如果所请求资源未分配给所述在先请求,或者如果满足当前请求的足够的所请求资源未分配给此在先请求,那么在判定框218中,资源管理器在此在先请求和此当前请求之间执行一逻辑比较。否则,在框217中,资源管理器拒绝此当前请求。
在块218中由资源管理器218执行的逻辑比较被预定。例如,此逻辑比较可以比较所述当前请求和在先请求的优先权,以及/或者当前请求线索和在先请求线索的优先权。
如果在比较中在先请求大于当前请求,则在块220中,资源管理器将拒绝此当前请求或者尝试挂起另一个在先请求。另一方面,如果在此逻辑比较中当前请求大于在先请求,则在块222中,资源管理器将临时挂起在先请求并且在保留表中为当前请求插入一入口。挂起在先请求对一计算机系统的用户是透明的。
在一个实施例中,在保留表中的当前请求入口将包括一指向所挂起的在先请求的指针137。其结果是,当当前请求与此请求资源断绝关系时,资源管理器将读此指针以确定解挂哪一个在先请求。此外,在保留表中,所述挂起请求入口可以包括一个字段136,设置此字段以表示相应的请求目前被挂起。
考虑显示在图1的存贮器中的例子。第三线索138向资源管理器提出一请求以获得150K存贮器。资源管理器读RST并且确定所有的存贮器已经被保留。这时,资源管理器读保留表并且发现第二线索139已经保留了足以满足第三线索138的请求的150K存贮器。
然后,资源管理器比较第三线索的存贮器请求的优先权(正常)和第二线索的存贮器请求的优先权(非必需)。资源管理器可能也已经比较了第三请求的优先权(第二)和第二请求的优先权(第九)。
接着,资源管理器确定了第三线索的请求高于第二线索的请求,资源管理器读现用表并且确定没有存贮器已经分配给第二线索。其结果是,资源管理器挂起第二线索139的请求并且为第三线索138的请求插入一入口到保留表中。
保留表中第三线索139的请求入口包括一指向第二线索的请求的指针。其结果是,在第三线索与所述存贮器断绝关系后,资源管理器将读所述第三线索的请求指针并且解挂所述第二线索的存贮器请求,如块224中所示。
在前面的说明中已经参照特定的示例性的实施例描述了本发明。但是显然,在不脱离本发明的较宽的精神和范围的情况下,可以对其作出各种修改和变化。例如,这里已经显示出资源管理器,包括RST、现用表和保留表等在存贮器104中,这些项也可存储在磁盘或光盘上并且通过盘驱动器120访问。
因此,应该认为本说明书和附图是说明性的而不是限制性的意义。而且,后面的权利要求指示了本发明的范围,在权利要求等效的意义和范围内的各种变化都包括在其范围内。

Claims (42)

1、一种用于在一计算机系统中管理资源的计算机实现的方法,包括步骤:
一资源管理器接收第一操作的第一请求,所述第一请求识别第一资源并且指定执行所述第一操作所需的第一资源的数量;
此资源管理器确定由第一请求指定的第一资源的数量是否可以保留;以及
根据在第一请求中指定的第一资源的数量可以保留,此资源管理器在分配第一资源给第一请求之前保留在第一请求中指定的第一资源的数量。
2、根据权利要求1的计算机实现的方法,其特征在于第一操作是第一线索,所述第一线索是属于一个程序的一组线索的其中之一,所述的一组线索共享一个地址空间,并且所述线索组的每个线索分配有一单独的程序计数器。
3、根据权利要求2的计算机实现的方法,其特征在于还包括步骤:
根据所述第一资源的数量不能够保留,此资源管理器拒绝第一请求。
4、根据权利要求2的计算机实现的方法,其特征在于资源管理器包括一资源状态表,所述资源状态表指示能够被一线索保留的第一资源的数量;
所述资源管理器包括一保留表,所述保留表存储用于所述线索组的资源保留,其中,在此保留表中的每个入口识别一资源、保留的此资源数量、此资源已经为其保留的一线索、以及此资源已经为其保留的此线索的请求优先权,以及
所述资源管理器还包括一现用表,所述现用表指示已经分配给一线索的一资源的数量。
5、根据权利要求4的计算机实现的方法,其特征在于确定是否可以获得由第一请求指定的第一资源数量的步骤,还包括读资源状态表以确定由第一请求指定的第一资源数量是否能够保留。
6、根据权利要求5的计算机实现的方法,其特征在于资源管理器保留的步骤还包括下列步骤:
插入一入口到保留表中;以及
修改资源状态表以指示在第一请求中指定的第一资源数量不能保留。
7、根据权利要求6的计算机实现的方法,其特征在于还包括步骤:
至少动态分配一部分第一资源给第一线索,其中资源管理器修改现用表以指示此部分第一资源目前分配给第一线索。
8、根据权利要求7的计算机实现的方法,其特征在于还包括步骤:
响应第一线索以第一资源被完成,修改资源状态表以指示分配给第一线索的第一资源数量能够保留,
并且修改现用表以指示分配给第一线索的此第一资源数量能够分配。
9、根据权利要求8的计算机实现的方法,其特征在于资源管理器确定由第一请求指定的第一资源数量是否可以获得的步骤还包括以下列步骤:
资源管理器读资源状态表以确定能够保留的第一资源的数量是否在一预定阈值之下。
10、根据权利要求9的计算机实现的方法,其特征在于还包括步骤:
响应能够保留的所述第一资源数量在所述预定阈值之下和第一请求的优选权是非必需的或者第一线索的优先权在一预定优先权之下,资源管理器拒绝第一请求。
11、根据权利要求10的计算机实现的方法,其特征在于资源管理器确定由第一请求指定的每资源的数量是否能够保留的步骤,还包括下列步骤:
响应由第一请求指定的第一资源的数量不能获得或者能够保留的第一资源的数量在所述预定阈值之下,资源管理器执行第一线索的第一请求对第二线索的第二请求的一预定逻辑比较,所述资源管理器在分配第一资源到所述第二线索之前已经为所述第二请求至少保留了一部分第一资源;以及
响应在逻辑比较中第一线索的第一请求大于第二线索的第二请求,资源管理器临时挂起第二线索的第二请求并且为第一线索的第一请求至少保留一部分第一资源。
12、根据权利要求11的计算机实现的方法,其特征在于还包括步骤:
在第一线索与第一资源断绝关系后解挂第二线索的第二请求。
13、根据权利要求12的计算机实现的方法,其特征在于还包括步骤:
响应在逻辑比较中第二线索的第二请求大于第一线索的第一请求,资源管理器拒绝第一线索的第一请求。
14、根据权利要求13的计算机实现的方法,其特征在于资源管理的是一有限资源计算机系统的操作系统的一部分。
15、一种计算机可读的介质,在其上已经存储了许多指令序列,所述指令序列包括一些指令,当一处理器执行这些指令时,使所述处理器执行步骤:
接收第一操作的第一请求,所述第一请求识别第一资源并且指定执行所述第一操作所需的第一资源的数量;
确定由第一请求指定的第一资源的数量是否可以保留;以及
根据在第一请求中指定的第一资源的数量可以保留,在分配第一资源给第一请求之前保留在第一请求中指定的第一资源的数量。
16、根据权利要求15的计算机可读的介质,其特征在于第一操作是第一线索,所述第一线索是属于一个程序的一组线索的其中之一,所述的一组线索共享一个地址空间,并且所述线索组的每个线索分配有一单独的程序计数器。
17、根据权利要求16的计算机可读的介质,其特征在于在其中还有储有附加指令,当一处理器执行这些附加指令时,使所述处理器的执行步骤:
根据所述第一资源的数量不能够保留,拒绝第一请求。
18、根据权利要求16的计算机可读的介质,其特征在于在其上还存储一资源管理器,此资源管理器包括一资源状态表,所述资源状态表指示能够被一线索保留的第一资源的数量;
所述资源管理器包括一保留表,所述保留表存储用于所述线索组的资源保留,其中,在此保留表中的每个入口识别一资源、保留的此资源数量、此资源已经为其保留的一线索、以及此资源已经为其保留的此线索的请求优先权,以及
所述资源管理器还包括一现用表,所述现用表指示已经分配给一线索的一资源的数量。
19、根据权利要求18的计算机可读的介质,其特征在于确定是否可以获得由第一请求指定的第一资源数量的步骤,还包括读资源状态表以确定由第一请求指定的第一资源数量是否能够保留。
20、根据权利要求19的计算机可读的介质,其特征在于资源管理的保留的步骤还包括下列步骤:
插入一入口到保留表中;以及
修改资源状态表以指示在第一请求中指定的第一资源数量不能保留。
21、根据权利要求20的计算机可读的介质,其特征在于在其中还存储有附加指令,当一处理器执行这些附加指令时,使所述处理器执行步骤:
至少动态分配一部分第一资源给第一线索,其中资源管理器修改现用表以指示此部分第一资源目前分配给第一线索。
22、根据权利要求21的计算机可读的介质,其特征在于在其中还存储有附加指令,当一处理器执行这些附加指令时,使所述处理器执行步骤:
响应第一线索以第一资源被完成,修改资源状态表以指示分配给第一线索的第一资源数量能够保留,
并且修改现用表以指示分配给第一线索的此第一资源数量能够分配。
23、根据权利要求22的计算机可读的介质,其特征在于确定由第一请求指定的第一资源数量是否可以获得的步骤还包括下列步骤:
资源管理器读资源状态表以确定能够保留的第一资源的数量是否在一预定阈值之下。
24、根据权利要求23的计算机可读的介质,其特征在于在其中还存储有附加指令,当一处理器执行这些附加指令时,使所述处理器执行步骤:
响应能够保留的所述第一资源数量在所述预定阈值之下和第一请求的优先权是非必需的或者第一线索的优先权在一预定优先权之下,资源管理器拒绝第一请求。
25、根据权利要求23的计算机可读的介质,其特征在于确定由第一请求指定的第一资源数量是否能够保留的步骤,还包括下列步骤:
响应由第一请求指定的第一资源的数量不能获得或者能够保留的第一资源的数量在所述预定阈值之下,资源管理器执行第一线索的第一请求对第二线索的第二请求的一预定逻辑比较,所述资源管理器在分配第一资源到所述第二线索之前已经为所述第二请求至少保留了一部分第一资源;以及
响应在逻辑比较中第一线索的第一请求大于第二线索的第二请求,资源管理器临时挂起第二线索的第二请求并且为第一线索的第一请求至少保留一部分第一资源。
26、根据权利要求25的计算机可读的介质,其特征在于其中还存储有附加指令,当一处理器执行这些附加指令时,使所述处理器执行步骤:
在第一线索以第一资源被完成后解挂第二线索的第二请求。
27、根据权利要求26的计算机可读的介质,其特征在于在其中还存贮有附加指令,当一处理器执行这些附加指令时,使所述处理器执行步骤:
响应在逻辑比较中第二线索的第二请求大于第一线索的第一请求,资源管理器拒绝第一线索的第一请求。
28、根据权利要求27的计算机可读的介质,其特征在于其中资源管理器是一有限资源计算机系统的操作系统的一部分。
29、配置用于管理资源的一计算机系统,此计算机系统包括:
配置的一资源管理器接收第一操作的第一请求,所述第一请求识别第一资源并且指定执行所述第一操作所需的第一资源的数量;
还配置此资源管理器以确定由第一请求指定的第一资源的数量是否可以保留;以及
还配置此资源管理器为,响应在第一请求中指定的第一资源的数量可以保留,在分配第一资源给第一操作之前保留在第一请求中指定的第一资源的数量。
30、根据权利要求29的计算机系统,其特征在于第一操作是第一线索,所述第一线索是属于一个程序的一组线索的其中之一,所述的一组线索共享一个地址空间,并且所述线索组的每个线索分配有一单独的程序计数器。
31、根据权利要求30的计算机系统,其特征在于资源管理器还被配置用于,响应所述第一资源的数量不能够保留而拒绝第一请求。
32、根据权利要求30的计算机系统,其特征在于资源管理器包括一资源状态表,所述资源状态表指示能够被一线索保留的第一资源的数量;
所述资源管理器包括一保留表,所述保留表存储用于所述线索组的资源保留,其中,在此保留表中的每个入口识别一资源、保留的此资源数量、此资源已经为其保留的一线索、以及此资源已经为其保留的此线索的请求优先权,以及
所述资源管理器还包括一现用表,所述现用表指示已经分配给一线索的一资源的数量。
33、根据权利要求32的计算机系统,其特征在于资源管理器被配置为,读资源状态表以确定由第一请求指定的第一资源数量是否能够保留。
34、根据权利要求33的计算机系统,其特征在于资源管理器被配置为,插入一入口到保留表中,并且修改资源状态表以指示在第一请求中指定的第一资源数量不能保留,以便保留在第一请求中指定的第一资源数量。
35、根据权利要求34的计算机系统,其特征在于资源管理器被配置为,至少动态分配一部分第一资源给第一线索,其中资源管理器修改现用表以指示此部分第一资源目前分配给第一线索。
36、根据权利要求35的计算机系统,其特征在于资源管理器被配置为,响应第一线索利用第一资源而被完成,修改资源状态表以指示分配给第一线索的一第一资源数量能够保留,并且修改现用表以指示分配给第一线索的此第一资源数量能够分配。
37、根据权利要求36的计算机系统,其特征在于资源管理器被配置为,读资源状态表以确定能够保留的第一资源的数量是否在一预定阈值之下。
38、根据权利要求37的计算机系统,其特征在于资源管理器被配置为,响应能够保留的所述第一资源数量在所述预定阈值之下和第一请求的优先权是非必需的或者第一线索的优先权在一预定优先权之下,拒绝第一请求。
39、根据权利要求37的计算机系统,其特征在于资源管理器被配置为,响应由第一请求指定的第一资源的数量不能获得或者能够保留的第一资源的数量在所述预定阈值之下,执行第一线索的第一请求对一第二线索的第二请求的一预定逻辑比较,所述资源管理器在分配第一资源到所述第二线索之前已经为所述第二请求至少保留了一部分第一资源;并且
此资源管理器还配置为,响应在逻辑比较中第一线索的第一请求大于第二线索的第二请求,临时挂起第二线索的第二请求并且为第一线索的第一请求至少保留一部分第一资源。
40、根据权利要求39的计算机系统,其特征在于资源管理器配置为,在第一线索利用第一资源而被完成后解挂第二线索的第二请求。
41、根据权利要求40的计算机系统,其特征在于资源管理器被配置为,响应在逻辑比较中第二线索的第二请求大于第一线索的第一请求,拒绝第一请求。
42、根据权利要求41的计算机系统,其特征在于资源管理器是一有限资源计算机系统的操作系统的一部分。
CN97117408.3A 1996-07-01 1997-06-27 用于保留资源的方法及计算机系统 Expired - Lifetime CN1132112C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US671313 1996-07-01
US671,313 1996-07-01
US08/671,313 US5826082A (en) 1996-07-01 1996-07-01 Method for reserving resources

Publications (2)

Publication Number Publication Date
CN1178349A true CN1178349A (zh) 1998-04-08
CN1132112C CN1132112C (zh) 2003-12-24

Family

ID=24693982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97117408.3A Expired - Lifetime CN1132112C (zh) 1996-07-01 1997-06-27 用于保留资源的方法及计算机系统

Country Status (6)

Country Link
US (1) US5826082A (zh)
EP (1) EP0817041A3 (zh)
JP (1) JPH1063519A (zh)
KR (1) KR100463235B1 (zh)
CN (1) CN1132112C (zh)
SG (1) SG85591A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384176C (zh) * 2002-05-23 2008-04-23 国际商业机器公司 在通信系统中保留资源的方法和系统

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763454B2 (en) * 1994-05-27 2004-07-13 Microsoft Corp. System for allocating resources in a computer system
JP3285780B2 (ja) * 1996-11-22 2002-05-27 株式会社インフォメディア研究所 対話型オンラインシステムにおける管理システム
US6938254B1 (en) * 1997-05-06 2005-08-30 Microsoft Corporation Controlling memory usage in systems having limited physical memory
FR2769105B1 (fr) * 1997-09-30 1999-10-29 Bull Sa Dispositif et procede de prise en compte de l'execution d'une tache sur un systeme informatique
DE19802364A1 (de) * 1998-01-22 1999-07-29 Siemens Ag Vorrichtung und Verfahren zur Steuerung von Prozessen auf einem Computersystem
US6078912A (en) * 1998-04-15 2000-06-20 Travelhost, Inc. Computer-based system and method for resource determination and management
US6947987B2 (en) * 1998-05-29 2005-09-20 Ncr Corporation Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
FR2779595B1 (fr) * 1998-06-08 2000-07-21 Thomson Multimedia Sa Procede de gestion de priorites d'acces a des ressources dans un reseau domestique et appareil de mise en oeuvre
EP0964333A1 (en) 1998-06-10 1999-12-15 Sun Microsystems, Inc. Resource management
US6170020B1 (en) * 1998-06-30 2001-01-02 Compaq Computer Corporation Reservation and dynamic allocation of resources for sole use of docking peripheral device
TW511034B (en) * 1998-11-09 2002-11-21 Intel Corp Scheduling requests in a system
US7487534B1 (en) 1998-11-12 2009-02-03 General Instrument Corporation Application programming interface (API) for accessing and managing resources in digital television receiver
US6910210B1 (en) * 1998-11-24 2005-06-21 Microsoft Corp. System and method for terminating applications
FR2786582B1 (fr) * 1998-11-27 2001-01-05 Bull Sa Outil de gestion de disponibilites de ressources
EP1037147A1 (en) 1999-03-15 2000-09-20 BRITISH TELECOMMUNICATIONS public limited company Resource scheduling
EP1037146A1 (en) * 1999-03-15 2000-09-20 BRITISH TELECOMMUNICATIONS public limited company Resource scheduling
KR20010037077A (ko) * 1999-10-13 2001-05-07 서평원 컴퓨터 시스템에서의 프로세스 운영 최적화 방법
US6832228B1 (en) * 1999-10-21 2004-12-14 International Business Machines Corporation Apparatus and method for providing a threadsafe object pool with minimal locking
US6973653B1 (en) * 1999-10-21 2005-12-06 Sony Corporation Method for utilizing resource characterizations to optimize performance in an electronic device
EP1096754A1 (de) * 1999-10-27 2001-05-02 Abit AG Verfahren zur Vermeidung von Originalitätskonflikten bei Datentransaktionsvorgängen
US6725456B1 (en) * 1999-11-29 2004-04-20 Lucent Technologies Inc. Methods and apparatus for ensuring quality of service in an operating system
GB2359387B (en) * 2000-02-15 2004-04-14 Motorola Inc Operating a user station in a cellular communications system
US6732140B1 (en) * 2000-02-28 2004-05-04 Northrop Grumman Corporation System and method for dynamic allocation of software resources
DE10015737A1 (de) * 2000-03-15 2001-09-27 Aditus Gmbh Software Hardware Verfahren zur datenbankgestützten elektronischen Abwicklung von Operationen zur Reservierung und/oder Verwaltung von Ressourcen
US6799208B1 (en) * 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US7284244B1 (en) 2000-05-02 2007-10-16 Microsoft Corporation Resource manager architecture with dynamic resource allocation among multiple configurations
US7111297B1 (en) 2000-05-02 2006-09-19 Microsoft Corporation Methods and architectures for resource management
US7058947B1 (en) 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
US7024668B2 (en) 2000-05-15 2006-04-04 Matsushita Electric Industrial Co., Ltd. Application execution apparatus and method
GB2367913A (en) * 2000-09-16 2002-04-17 Motorola Inc Processor resource scheduler
US6625709B2 (en) * 2000-10-30 2003-09-23 Microsoft Corporation Fair share dynamic resource allocation scheme with a safety buffer
US7065764B1 (en) 2001-07-20 2006-06-20 Netrendered, Inc. Dynamically allocated cluster system
US7334228B2 (en) * 2001-07-27 2008-02-19 International Business Machines Corporation Runtime-resource management
US7499960B2 (en) 2001-10-01 2009-03-03 Oracle International Corporation Adaptive memory allocation
US7409517B2 (en) * 2001-10-01 2008-08-05 Oracle International Corporation Dynamic and automatic memory management
US7328261B2 (en) * 2001-11-21 2008-02-05 Clearcube Technology, Inc. Distributed resource manager
JP4058752B2 (ja) * 2001-12-11 2008-03-12 日本電気株式会社 携帯情報端末装置
US7447777B1 (en) * 2002-02-11 2008-11-04 Extreme Networks Switching system
US7814204B1 (en) 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
US7298746B1 (en) 2002-02-11 2007-11-20 Extreme Networks Method and system for reassembling and parsing packets in a network environment
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US7321926B1 (en) 2002-02-11 2008-01-22 Extreme Networks Method of and system for allocating resources to resource requests
ES2387763T3 (es) * 2002-05-06 2012-10-01 Swisscom Ag Sistema y procedimiento para la administración de recursos de módulos de recursos portátiles
US7484216B2 (en) * 2002-06-18 2009-01-27 Microsoft Corporation System and method for decoupling space reservation in transactional logging systems
DE10393434D2 (de) * 2002-09-30 2005-10-06 Thomas Schoebel-Theuer Verfahren zur Regulierung des Datenzugriffs bei einemaus mehreren Einzelsystemen bestehenden System auf wenigstens eine Datenspeichereinrichtung
US7134125B2 (en) * 2003-02-07 2006-11-07 Intel Corporation Method for firmware to provide seamless regulation of system resources and extend additional configuration methods for system resource management
JP3951949B2 (ja) * 2003-03-31 2007-08-01 日本電気株式会社 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
US20070022423A1 (en) * 2003-11-06 2007-01-25 Koninkl Philips Electronics Nv Enhanced method for handling preemption points
JP4603256B2 (ja) * 2003-12-01 2010-12-22 日本電気株式会社 ユーザ認証システム
US7688746B2 (en) * 2003-12-29 2010-03-30 Intel Corporation Method and system for dynamic resource allocation
JP2007519103A (ja) * 2004-01-08 2007-07-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチプロセッサシステムにおけるリソース管理
US8584129B1 (en) * 2004-02-20 2013-11-12 Oracle America, Inc. Dispenser determines responses to resource requests for a single respective one of consumable resource using resource management policy
WO2005089236A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
US7890629B2 (en) 2004-03-13 2011-02-15 Adaptive Computing Enterprises, Inc. System and method of providing reservation masks within a compute environment
WO2005089246A2 (en) * 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providiing advanced reservations in a compute environment
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
EP2341432A1 (en) * 2004-03-13 2011-07-06 Adaptive Computing Enterprises, Inc. System and method of co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) * 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7885843B2 (en) * 2004-08-31 2011-02-08 Sap Ag Computer-implemented decision support system and method
WO2006027152A1 (en) * 2004-09-09 2006-03-16 Fujitsu Siemens Computers, Inc. Method for provisioning a server in a computer arrangement
US7991890B2 (en) * 2004-09-30 2011-08-02 Microsoft Corporation Game console communication with a device
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US20090083508A1 (en) * 2004-11-11 2009-03-26 Koninklijke Philips Electronics, N.V. System as well as method for managing memory space
US20060156308A1 (en) * 2005-01-07 2006-07-13 Jarvis Thomas C Deadlock-prevention system
US7853777B2 (en) * 2005-02-04 2010-12-14 Mips Technologies, Inc. Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions
US7631130B2 (en) * 2005-02-04 2009-12-08 Mips Technologies, Inc Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor
US7657891B2 (en) * 2005-02-04 2010-02-02 Mips Technologies, Inc. Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency
US7490230B2 (en) 2005-02-04 2009-02-10 Mips Technologies, Inc. Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor
US7996455B2 (en) 2005-06-17 2011-08-09 Adaptive Computing Enterprises, Inc. System and method for providing dynamic roll-back reservations in time
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
ES2614751T3 (es) 2005-04-07 2017-06-01 Iii Holdings 12, Llc Acceso bajo demanda a recursos informáticos
US8392927B2 (en) * 2005-05-19 2013-03-05 Hewlett-Packard Development Company, L. P. System and method for determining a partition of a consumer's resource access demands between a plurality of different classes of service
KR100823171B1 (ko) 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US8209417B2 (en) * 2007-03-08 2012-06-26 Oracle International Corporation Dynamic resource profiles for clusterware-managed resources
JP4966060B2 (ja) * 2007-03-16 2012-07-04 株式会社リコー 情報処理装置及び情報処理プログラム
US8095932B2 (en) * 2007-08-14 2012-01-10 Intel Corporation Providing quality of service via thread priority in a hyper-threaded microprocessor
JP4935595B2 (ja) * 2007-09-21 2012-05-23 富士通株式会社 ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
KR100948597B1 (ko) * 2007-12-17 2010-03-24 한국전자통신연구원 다중 복호기 시스템에서의 리소스 공유 스케줄 제어 장치및 그 장치에서의 리소스 공유 스케줄 제어 방법
FR2926146B1 (fr) * 2008-01-04 2009-12-25 Bull Sas Dispositif informatique a memoire reservee pour des applications prioritaires.
US20120297395A1 (en) * 2008-08-18 2012-11-22 Exludus Inc. Scalable work load management on multi-core computer systems
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
EP2439253A1 (en) 2010-10-05 2012-04-11 Research Institute of Petroleum Industry (RIPI) Hydrodesulfurization nanocatalyst comprising a support of nanotube / nanorod alumina, method of preparation and application
US10459886B2 (en) 2014-08-06 2019-10-29 Quest Software Inc. Client-side deduplication with local chunk caching
US9990352B2 (en) 2014-08-06 2018-06-05 Quest Software Inc. Chunk compression in a deduplication aware client environment
US9917894B2 (en) 2014-08-06 2018-03-13 Quest Software Inc. Accelerating transfer protocols
US9984093B2 (en) * 2014-08-06 2018-05-29 Quest Software Inc. Technique selection in a deduplication aware client environment
US10521368B2 (en) * 2015-12-24 2019-12-31 Arm Limited Arbitration of requests requiring a variable number of resources
US11537397B2 (en) * 2017-03-27 2022-12-27 Advanced Micro Devices, Inc. Compiler-assisted inter-SIMD-group register sharing
US10503550B2 (en) 2017-09-30 2019-12-10 Intel Corporation Dynamic performance biasing in a processor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5917654A (ja) * 1982-07-22 1984-01-28 Hitachi Ltd 磁気テ−プ装置の割当て方式
US5249290A (en) * 1991-02-22 1993-09-28 At&T Bell Laboratories Method of and apparatus for operating a client/server computer network
US5495339A (en) * 1991-08-19 1996-02-27 Xerox Corporation Scheduling multiple disk requests and writing data buffers to disk
JPH05173989A (ja) * 1991-12-24 1993-07-13 Kawasaki Steel Corp 計算機及びマルチプロセッサ計算装置
US5475844A (en) * 1992-11-27 1995-12-12 Nec Corporation Heavily loaded resource evaluation system
US5535312A (en) * 1993-01-28 1996-07-09 Xerox Corporation Apparatus and method for managing memory in a printing system
US5386551A (en) * 1993-04-16 1995-01-31 Storage Technology Corporation Deferred resource recovery
US5640595A (en) * 1993-06-29 1997-06-17 International Business Machines Corporation Multimedia resource reservation system with graphical interface for manual input of resource reservation value
US5408663A (en) * 1993-11-05 1995-04-18 Adrem Technologies, Inc. Resource allocation methods
US5632032A (en) * 1994-02-07 1997-05-20 International Business Machines Corporation Cross address space thread control in a multithreaded environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384176C (zh) * 2002-05-23 2008-04-23 国际商业机器公司 在通信系统中保留资源的方法和系统

Also Published As

Publication number Publication date
US5826082A (en) 1998-10-20
KR980010840A (ko) 1998-04-30
JPH1063519A (ja) 1998-03-06
EP0817041A2 (en) 1998-01-07
EP0817041A3 (en) 1999-11-17
CN1132112C (zh) 2003-12-24
SG85591A1 (en) 2002-01-15
KR100463235B1 (ko) 2005-09-16

Similar Documents

Publication Publication Date Title
CN1132112C (zh) 用于保留资源的方法及计算机系统
EP0814405B1 (en) Method and apparatur for information processing and memory allocation system
CA2367982C (en) Resource scheduling
JPH07175698A (ja) ファイルシステム
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
US6219772B1 (en) Method for efficient memory allocation of small data blocks
US6363410B1 (en) Method and system for threaded resource allocation and reclamation
EP0844564B1 (en) Memory manager system and method therefor
US6912712B1 (en) Real time control system for multitasking digital signal processor using ready queue
CN111124674A (zh) 一种硬件资源的管理方法、存储介质及终端
US20060112254A1 (en) Satisfying memory allocation requests from memory pool or lookaside lists based on memory size requested to be allocated
US20060236065A1 (en) Method and system for variable dynamic memory management
CN111400032B (zh) 一种资源分配的方法及装置
US20050268031A1 (en) Method for controlling cache memory of storage device
US9619151B2 (en) Region management apparatus, region management method, and program
CN112346848A (zh) 一种管理内存池的方法、装置及终端
EP2672390B1 (en) Memory controller
JP2924725B2 (ja) バッファ割り当て制御システム
JPH05120041A (ja) 資源割り当て管理方式
JPH01191221A (ja) 磁気ディスク領域の動的割り当て管理方式
CN117724991A (zh) 嵌入式系统的动态内存管理方法、系统、终端及存储介质
JPS63292456A (ja) 複数媒体収納型デ−タ記録装置の媒体割り当て制御方式
CN117593170A (zh) 一种显存分配方法、装置、设备及可读存储介质
CN116821033A (zh) 一种PCIe设备控制方法及装置
CN115033354A (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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20031224