CN1132112C - 用于保留资源的方法及计算机系统 - Google Patents
用于保留资源的方法及计算机系统 Download PDFInfo
- Publication number
- CN1132112C CN1132112C CN97117408.3A CN97117408A CN1132112C CN 1132112 C CN1132112 C CN 1132112C CN 97117408 A CN97117408 A CN 97117408A CN 1132112 C CN1132112 C CN 1132112C
- Authority
- CN
- China
- Prior art keywords
- resource
- request
- thread
- explorer
- computer system
- 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 - Lifetime
Links
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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5014—Reservation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource 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字节存贮器。
但是,预分配资源至少存在三个缺点。首先,在一面向目标的环境中,可能没有方法预先分配恰当目标类型的资源。一个程序设计者必须分配一个类的未初始化示例并且在其后初始化它们。然而,许多类设备禁止建立该类的未初始化示例。
其次,大多数代码在编写时没有考虑预分配。因此,当集成码(integrating code)已经预分配资源而现有码(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 (30)
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、根据权利要求4的计算机实现的方法,其特征在于还包括以下步骤:
根据第一资源低于预定级,资源管理器在第一请求低于预定优先级时拒绝该第一请求。
30、根据权利要求18的计算机系统,其特征在于根据第一资源低于预定级,资源管理器在第一请求低于预定优先级时拒绝该第一请求。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US671,313 | 1996-07-01 | ||
US671313 | 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 CN1178349A (zh) | 1998-04-08 |
CN1132112C true 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) |
Families Citing this family (97)
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 |
CA2349182C (en) * | 1998-11-12 | 2009-12-15 | General Instrument Corporation | Application programming interface (api) for accessing and managing resources in a 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 |
EP1037146A1 (en) * | 1999-03-15 | 2000-09-20 | BRITISH TELECOMMUNICATIONS public limited company | Resource scheduling |
EP1037147A1 (en) * | 1999-03-15 | 2000-09-20 | BRITISH TELECOMMUNICATIONS public limited company | Resource scheduling |
KR20010037077A (ko) * | 1999-10-13 | 2001-05-07 | 서평원 | 컴퓨터 시스템에서의 프로세스 운영 최적화 방법 |
US6973653B1 (en) * | 1999-10-21 | 2005-12-06 | Sony Corporation | Method for utilizing resource characterizations to optimize performance in an electronic device |
US6832228B1 (en) * | 1999-10-21 | 2004-12-14 | International Business Machines Corporation | Apparatus and method for providing a threadsafe object pool with minimal locking |
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 |
US7111297B1 (en) * | 2000-05-02 | 2006-09-19 | Microsoft Corporation | Methods and architectures for resource management |
US7284244B1 (en) | 2000-05-02 | 2007-10-16 | Microsoft Corporation | Resource manager architecture with dynamic resource allocation among multiple configurations |
US6799208B1 (en) * | 2000-05-02 | 2004-09-28 | Microsoft Corporation | Resource manager architecture |
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 |
US7409517B2 (en) * | 2001-10-01 | 2008-08-05 | Oracle International Corporation | Dynamic and automatic memory management |
US7499960B2 (en) | 2001-10-01 | 2009-03-03 | Oracle International Corporation | Adaptive memory allocation |
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 |
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 |
US7814204B1 (en) | 2002-02-11 | 2010-10-12 | Extreme Networks, Inc. | Method of and system for analyzing the content of resource requests |
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 |
US7126963B2 (en) * | 2002-05-23 | 2006-10-24 | International Business Machines Corporation | Apparatus, method and computer program to reserve resources in communications system |
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 | 日本電気株式会社 | 分散型資源管理システムおよび分散型資源管理方法並びにプログラム |
WO2005045666A2 (en) * | 2003-11-06 | 2005-05-19 | Koninklijke Philips Electronics, N.V. | An 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 |
KR20060135697A (ko) * | 2004-01-08 | 2006-12-29 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 멀티-프로세서 시스템에서의 자원 관리 |
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 |
US7890629B2 (en) * | 2004-03-13 | 2011-02-15 | Adaptive Computing Enterprises, Inc. | System and method of providing reservation masks within a compute environment |
WO2005089241A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providing object triggers |
WO2005089246A2 (en) * | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providiing advanced reservations in a compute environment |
EP1735706A4 (en) | 2004-03-13 | 2008-08-13 | Cluster Resources Inc | SYSTEM AND METHOD FOR CO-ASSIGNING RESERVATION ENGLOBING DIFFERENT TYPES OF CALCULATION RESOURCES |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | 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 |
CN101057220A (zh) * | 2004-11-11 | 2007-10-17 | 皇家飞利浦电子股份有限公司 | 用于管理存储器空间的系统和方法 |
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 |
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 |
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 |
US7698430B2 (en) | 2005-03-16 | 2010-04-13 | Adaptive Computing Enterprises, Inc. | On-demand compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9075657B2 (en) | 2005-04-07 | 2015-07-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
US7996455B2 (en) * | 2005-06-17 | 2011-08-09 | Adaptive Computing Enterprises, Inc. | System and method for providing dynamic roll-back reservations in time |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
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 |
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 |
US9990352B2 (en) | 2014-08-06 | 2018-06-05 | Quest Software Inc. | Chunk compression in a deduplication aware client environment |
US10459886B2 (en) | 2014-08-06 | 2019-10-29 | Quest Software Inc. | Client-side deduplication with local chunk caching |
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 |
US12033238B2 (en) | 2020-09-24 | 2024-07-09 | Advanced Micro Devices, Inc. | Register compaction with early release |
US12236529B2 (en) | 2021-12-27 | 2025-02-25 | Advanced Micro Devices, Inc. | Graphics discard engine |
Family Cites Families (10)
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 |
-
1996
- 1996-07-01 US US08/671,313 patent/US5826082A/en not_active Expired - Lifetime
-
1997
- 1997-06-21 SG SG9702119A patent/SG85591A1/en unknown
- 1997-06-26 EP EP97304580A patent/EP0817041A3/en not_active Withdrawn
- 1997-06-27 CN CN97117408.3A patent/CN1132112C/zh not_active Expired - Lifetime
- 1997-06-30 KR KR1019970029297A patent/KR100463235B1/ko not_active IP Right Cessation
- 1997-07-01 JP JP9188923A patent/JPH1063519A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US5826082A (en) | 1998-10-20 |
CN1178349A (zh) | 1998-04-08 |
EP0817041A3 (en) | 1999-11-17 |
KR100463235B1 (ko) | 2005-09-16 |
JPH1063519A (ja) | 1998-03-06 |
KR980010840A (ko) | 1998-04-30 |
EP0817041A2 (en) | 1998-01-07 |
SG85591A1 (en) | 2002-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1132112C (zh) | 用于保留资源的方法及计算机系统 | |
EP0814405B1 (en) | Method and apparatur for information processing and memory allocation system | |
US7219347B1 (en) | Resource scheduling | |
US5247660A (en) | Method of virtual memory storage allocation with dynamic adjustment | |
CN100466602C (zh) | 动态共享存储器存储空间的实现方法 | |
US8051265B2 (en) | Apparatus for managing memory in real-time embedded system and method of allocating, deallocating and managing memory in real-time embedded system | |
US20130088501A1 (en) | Allocating and deallocating portions of memory | |
JP2004164370A (ja) | 仮想ボリュームの記憶領域割当方法、その装置及びプログラム | |
CN101847127A (zh) | 一种内存管理方法及装置 | |
US6219772B1 (en) | Method for efficient memory allocation of small data blocks | |
US20050268049A1 (en) | Dynamic memory management | |
EP0844564B1 (en) | Memory manager system and method therefor | |
KR100800347B1 (ko) | 자동화 데이터 저장 라이브러리 내의 데이터 저장 드라이브 | |
US20060236065A1 (en) | Method and system for variable dynamic memory management | |
US7770177B2 (en) | System for memory reclamation based on thread entry and release request times | |
US7293144B2 (en) | Cache management controller and method based on a minimum number of cache slots and priority | |
EP2672390B1 (en) | Memory controller | |
JP2924725B2 (ja) | バッファ割り当て制御システム | |
US20080244161A1 (en) | Memory management apparatus and method for same | |
CN117724991B (zh) | 嵌入式系统的动态内存管理方法、系统、终端及存储介质 | |
JPH01191221A (ja) | 磁気ディスク領域の動的割り当て管理方式 | |
CN112000471B (zh) | 内存优化方法及装置 | |
JPS63292456A (ja) | 複数媒体収納型デ−タ記録装置の媒体割り当て制御方式 | |
CN119149451A (zh) | 动态高效缓冲区的数据读写装置、方法、电子设备及介质 | |
CN118363875A (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 |
Granted publication date: 20031224 |
|
CX01 | Expiry of patent term |