CN101017450B - 管理资源请求的设备、系统和方法 - Google Patents

管理资源请求的设备、系统和方法 Download PDF

Info

Publication number
CN101017450B
CN101017450B CN2006100642422A CN200610064242A CN101017450B CN 101017450 B CN101017450 B CN 101017450B CN 2006100642422 A CN2006100642422 A CN 2006100642422A CN 200610064242 A CN200610064242 A CN 200610064242A CN 101017450 B CN101017450 B CN 101017450B
Authority
CN
China
Prior art keywords
refusal
request
resource
parts
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
Application number
CN2006100642422A
Other languages
English (en)
Other versions
CN101017450A (zh
Inventor
A·曼德尔森
J·曼德尔布拉特
L·诺瓦科夫斯基
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN101017450A publication Critical patent/CN101017450A/zh
Application granted granted Critical
Publication of CN101017450B publication Critical patent/CN101017450B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/507Low-level

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例提供一种资源管理机构,用于监视资源的可用性,检测拒绝的原因,区别不同类型拒绝,并因此管理不同类型。例如,根据本发明的实施例中的队列管理器能够基于拒绝的原因和预期该拒绝条件保持有效的时间量,将被拒绝的请求分类为例如“长拒绝”或者“短拒绝”。短拒绝请求可以在合适的服务队列中被重新调度,同时长拒绝请求可以在拒绝队列中被挂起。并描述和要求了其它特征。

Description

管理资源请求的设备、系统和方法
背景技术
微处理器或者微处理器系统内的资源管理涉及,例如,管理对存储器、文件、总线接口等等的访问。在某些现有技术的微处理器或者微处理器系统中,可能拒绝由于资源不可用、资源竞争和/或数据一致性原因而不能被服务的请求,并且在随后的周期中重新发布该请求。而且,同一请求可能被重复地(例如,多次)拒绝和重新发布。这种对请求的重复的重新发布和拒绝可能导致功率、性能或者缓存带宽的浪费。
一些现有的资源管理技术(例如由操作系统(OS)执行的存储器分配)因其复杂性而十分耗时,并且在需要在有限的、小数量的周期内或者在同一周期内进行资源管理决策的环境中可能是不可行的。例如,一些现有技术的资源管理技术不能在需要访问公共总线、可以开锁或者解锁的锁定机构等的不同代理之间提供有效的管理。
附图说明
在说明书的结束部分中特别地指出并且清楚地要求了本发明的主题。然而,本发明的结构和操作方法及其特征和优点可以结合附图参考以下详细的描述得到最好的理解,其中:
图1是根据本发明的一些说明性实施例的共享总线计算系统的示意图,包括处理器,在该处理器中可以使用本发明的至少一个实施例;
图2是可以使用本发明的一个实施例的点对点计算系统的示意图。
图3是根据本发明的一些说明性实施例的请求状态的示意性状态图;
图4是根据本发明的一些说明性实施例对被拒绝的请求进行管理的方法的示意性流程图。
应当理解,为了说明的简单和清楚起见,图中示出的元件都没有必要按比例示出。例如,为了清楚起见,一些元件的尺寸可以相对于其它元件而被夸大。另外,在认为合适的情况下,在图中可以重复参考数字以表示相应的或者相似的元件。
具体实施方式
在下面详细的描述中,为了提供对本发明实施例的彻底理解,提出了许多特定细节。然而,本领域普通技术人员应当理解本发明实施例在没有这些特定细节的情况下也可以被实施。在其它实例中,为了不混淆本发明的实施例,众所周知的方法、程序、元件和电路没有进行详细的描述。
除非另外具体地阐述,如从以下讨论显而易见的,应理解在整个说明书讨论中使用例如“处理”,“计算”(computing),“运算”(calculating),“确定”等术语指代计算机或者计算系统或者类似电子计算设备的动作和/或处理,其将计算系统的寄存器和/或存储器内的被表示为物理、例如电子量的数据操作和/或转换为计算系统的存储器、寄存器或者其它这种信息存储装置、传输或者显示设备中的类似地被表示为物理量的其它数据。另外,术语“多个”在整个说明书中可被用于描述两个或更多组件、设备、元件、参数等等。
参考图1,其示意性地示出了根据本发明的一些说明性实施例的计算系统100的一部分。虽然本发明的实施例在这方面不受限制,但系统100可以包括或者可以是,例如个人计算机,台式计算机,移动计算机,便携式计算机,笔记本式计算机,终端,工作站,服务器计算机,个人数字助理(PDA)设备,平板计算机(tablet computer),网络设备,微控制器,蜂窝电话,摄像机,或者任何其它合适的计算和/或通信设备。
根据本发明的一些说明性实施例,系统100可以包括一个或多个处理器102。处理器102可以包括,例如中央处理单元(CPU),数字信号处理器(DSP),微处理器,主机处理器,多个处理器,控制器,芯片,微芯片,或者任何其它合适的多用途或者专用处理器或控制器。虽然本发明实施例在这一方面不受限制,但仅仅作为例子,处理器102可以包括或者可以是精简指令集计算机(RISC),含流水线的处理器,多核处理器,复杂指令集计算机(CISC),等等。根据本发明的实施例,处理器102可以包括一个或者多个处理器内核101,例如,包括一个或多个执行单元,指令引退单元,解码器,读取器(fetcher),可选调度器,等等,如本领域中公知的。
根据本发明的一些说明性实施例,系统100可以包括共享总线,例如“前端总线”(FSB)104。例如,FSB 104可以是能够通过互连103在处理器102、例如CPU和计算系统100的其它设备之间传送信息的CPU数据总线。根据本发明的实施例,FSB 104可以例如通过互连105连接在CPU 102和芯片集106之间。虽然本发明在这一方面不受限制,但芯片集106可以包括一个或多个主板芯片,例如“北桥”和“南桥”,和/或“固件集线器”。芯片集106可以包括用于计算系统100的额外总线和/或设备的连接点。
根据本发明的一些说明性实施例,系统100可以包括通过互连107连接到芯片集106的一个或多个外设108。例如,外设108可以包括输入单元,例如,键盘、鼠标、触摸垫、或者其它合适的指示设备或者输入设备;输出单元,例如阴极射线管(CRT)监视器、液晶显示器(LCD)监视器、或其它合适的监视器或者显示单元。在一些实施例中,例如在包含固件集线器的系统的情况下,前述的输出设备可以耦合到芯片集106。在一些实施例中,外设可以包括存储单元,例如硬盘驱动器、软盘驱动器、光盘(CD)驱动器、可记录光盘(CD-R)驱动器、或者其它合适的可移动和/或固定存储单元。
根据本发明的一些说明性实施例,系统100包括存储器单元110,例如通过互连109、例如存储器总线连接到芯片集106的系统存储器。存储器单元110可以包括,例如,随机存取存储器(RAM),只读存储器(ROM),动态RAM(DRAM),同步DRAM(SDRAM),闪速存储器,易失性存储器,非易失性存储器,缓存存储器,缓冲器,短期存储器单元,长期存储器单元,或者其它合适的存储器(memory)单元或者存储(storage)单元。
根据本发明的一些说明性实施例,处理器102,例如CPU,可以包括非内核元件。例如,CPU 102可以包括存储器缓存112和一个或多个服务队列,例如,队列114,116,118和120,用于管理资源访问请求,如下面详细解释的。例如,存储器缓存112可以包括或者可以是多级缓存存储器或者具有两个或更多级的存储器的末级缓存(LLC)。在本发明的一些实施例中,LLC 112可以在CPU 102的外部,例如,可以通过专用或者共享总线访问的二级(L2)或者三级(L3)缓存。例如,队列114-120可以包括以服务的先进先出(FIFO)顺序存储对服务的请求的硬件缓冲器。另外,队列114-120中的一个或多个可以分别与一个或多个队列管理器、例如队列管理器130相关,从而调度该队列的服务顺序。系统100另外可以包括其他合适的硬件组件和/或软件组件。
在一些实施例中,CPU内核101可以产生用于访问资源、例如存储器的请求。例如,处理器102可以包括内核接口140,用于在处理器内核101和处理器102的非内核元件之间传送信号和/或数据,访问请求可以通过接口140被传送。虽然本发明的实施例在此方面不受限制,但请求可以包括或者可以是数据读访问,数据写访问,或者用于执行操作的类似指令。如在本领域中所知的那样,请求可以包括一个或多个字段,例如,用于表明请求指示,请求类型,请求地址,和其它属性,例如存储器类型等等。在一些情况下,例如,如果资源通过以前的请求被专门锁定,则可以拒绝用于访问资源的请求。虽然本发明的实施例在此方面不受限制,根据本发明的一些说明性实施例的资源管理技术能够使用启发式方法来基于潜在的拒绝的原因和所请求的资源预期保持锁定的时间量将资源访问请求例如分类为“长拒绝”或者“短拒绝”,如下面详细解释的。
根据本发明的一些说明性实施例,访问请求可以被分配作为与LLC 112相关的队列、例如LLC队列(LQ)114中的条目。从LQ 114,例如在调度逻辑(例如队列管理器130)的控制下,该访问请求可以通过接口113被发布到LLC 112。虽然本发明的实施例在此方面不受限制,队列管理器130可以是根据本发明的一些说明性实施例的资源管理机构的一部分,如下面详细解释的。例如,队列管理器130可以使用与LQ 114相关的专用硬件来实现,并且可以包括以硬件、软件或者二者一同实现的算法,以调度和管理排队的资源请求。
如现有技术中已知的那样,根据期望的数据项是否在缓存中被发现,访问缓存的请求可以是成功的(也就是命中)或者不成功的(也就是未命中)。关于访问LLC 112的未命中的访问请求可以例如通过接口115被分配给外部总线队列(XQ)116,以通过互连103发布到FSB 104,从而访问系统存储器110,如上面解释的那样。然而,在一些情况下,XQ 116可被满负载使用和/或包含访问系统存储器110的相同存储器地址的未决请求的XQ中的前一条目,从而有助于对该请求的拒绝的延迟。虽然本发明的实施例在此方面不受限制,但在拒绝取决于外部总线、例如FSB 104和/或XQ 116的这种情况下,拒绝可以被分类为长拒绝。
在其它情况下,访问请求可以通过FSB 104从外部代理、例如直接存储器存取(DMA)代理或者其它处理器接收。例如,外部请求可以通过信号117传输,并且作为探听队列118中的条目被分配,以便例如通过信号119被发布到LLC112。来自探听队列118的未决的外部请求可以作为从CPU内核101发布的访问请求来请求对LLC 112的同一区域作出访问,导致当从LQ 114发布时拒绝该访问请求。虽然本发明的实施例在此方面不受限制,但在拒绝依赖于内部CPU事件的这种情况下,该拒绝可以被分类为短拒绝。
根据本发明的一些说明性实施例,当请求被分配到LQ 114时,资源管理机构(例如,队列管理器130)可以检查一个或多个条件,该条件可以阻止请求被服务。例如,队列管理器130可以检查XQ 116和/或探听队列118的状态。根据本发明的实施例,例如,如果LQ 114是空并且请求在下个周期被直接发送到LLC 112,资源管理机构可以在服务请求的同时监视潜在的拒绝条件。虽然本发明的实施例在此方面不受限制,资源管理机构(例如,队列管理器130)能够监视资源的可用性,检测拒绝的原因,区分拒绝的不同类型,并且因此管理不同的类型,如下面详细解释的。
例如,根据本发明的一些说明性实施例,被分类为短拒绝的被拒绝的请求可以在LQ 114中被重新调度,并随后被重新发布。根据本发明的一些说明性实施例,被分类为长拒绝的被拒绝的请求可以被放置在拒绝队列120中。拒绝队列120中的长拒绝请求可以处于挂起状态,如下面参考图3详细解释的。根据本发明的一些说明性实施例,在接收到唤醒事件时可以从拒绝队列120中释放请求,如在下面参考图3详细解释的,并且例如将该请求返回到LQ从而随后被重新发布。
虽然本发明的实施例在此方面不受限制,但拒绝队列120可以与LQ 114相关联并且也由队列管理器130控制。根据本发明的实施例,替代地,拒绝队列120可以受与拒绝队列120相关联并且被包括在资源管理机构中的单独的队列管理器控制。
参考图2,其示意性示出了可以使用本发明的一个实施例的点对点计算系统200。应当理解,为了说明的目的,虽然本发明的实施例在上面参考共享总线计算系统100的处理器102和其中的元件来描述,但本发明的实施例在此方面不受限制,并且也可以被使用在例如点对点计算系统200的一个或多个处理器中,如下所述。
根据本发明的一些说明性实施例,系统200可以包括,例如,具有一个或多个处理器(例如处理器270和280)的点对点总线方案;存储器,例如存储器202和204;和/或输入/输出(I/O)设备,例如设备214,通过一个或多个点对点接口互连。处理器270和/或280可以分别包括处理器内核274和284。虽然本发明的实施例在此方面不受限制,处理器270和280中的一个或者两个都可以根据本发明的实施例实现资源管理机构,例如,如上面参考图1的处理器102以及下面参考图3和4详细说明的。
根据本发明的一些说明性实施例,处理器270和280也可以包括各自的本地存储器通道集线器(MCH)272和282,例如以便分别与存储器202和204连接。处理器270和280可以通过点对点接口250例如分别使用点对点接口电路278和288交换数据。处理器270和/或280可以通过点对点接口252和254例如使用点对点接口电路276,294,286和298与芯片集290交换数据。芯片集290也可以通过高性能图形接口292与高性能图形电路238交换数据。芯片集290也可以通过总线接口296与总线216交换数据。根据一些实施例,输入/输出设备214可以包括,低性能图形控制器,视频控制器,和/或网络控制器,例如,如在本领域中公知的那样。根据一些说明性实施例,系统200也可以包括另外的总线桥218,该总线桥可以被用于例如允许在总线216和总线220之间交换数据。总线220在一些实施例中可以是小型计算机系统接口(SCSI)总线,集成驱动电子设备(IDE)总线,或者通用串行总线(USB),例如,如在本领域中公知的。另外的I/O设备可以连接到总线220。例如,系统200也可以包括键盘和/或光标控制设备222,例如鼠标;音频I/O 224;通信设备226,例如包括调制解调器和/或网络接口;和/或数据存储设备228,例如用于存储软件代码230。在一些实施例中,数据存储设备228可以包括固定磁盘,软盘驱动器,光盘驱动器,磁光盘驱动器,磁带,或者包含闪速存储器的非易失性存储器。
参考图3,其示意性示出了根据本发明的一些说明性实施例的、可能的请求状态的状态图300。如在本领域中公知的,状态图可以被用于用图形表示有限状态机,例如,确定性有限状态机(DFA),非确定性有限状态机(NFA),广义非确定性有限状态机(GNFA),或者摩尔机。例如,每一顶点可以代表一状态,每一条边可以代表两个状态间的转换。可以在边上表示到该状态的输入条件。虽然本发明的实施例在此方面不受限制,例如从处理器102到计算系统100的存储器单元104的资源请求或者对与存储器104相关联的资源的资源请求或者从处理器内核101到LLC 112的资源请求可以处于“未决”状态310,“挂起”状态320或者“完成”状态330。
根据本发明的一些说明性实施例,新的资源请求可以例如由CPU 102产生,并且最初可以处于未决状态310,如以转换302所示。例如,在LLC队列114中的请求可以处于未决状态310。如果成功地完成对该请求的服务,该请求可以从未决状态310改变到完成状态330,如以转换332所示。例如,请求可以是从LQ 114被发布到LLC 112,并且如果命中并且没有竞争,可以被立即服务。可替代地,在未决状态310的请求可能例如由于资源竞争或者在外部总线队列116是满的或者前端总线104被满负载使用的情况下被拒绝。
根据本发明的一些说明性实施例,资源管理机构(例如队列管理器130)能够基于拒绝的原因和拒绝条件预期保持有效的时间量把被拒绝的请求分类为例如“长拒绝”或者“短拒绝”。
根据本发明的一些说明性实施例,被分类为短拒绝的被拒绝的请求可以再次被传递到请求队列,其中该请求例如通过在LQ 114中重新调度被重复地重新发布,直到所请求的资源可用并且该请求被服务。因此,如以转换312指示的那样,请求可以在没有通过其它状态转换的情况下退出并且重新进入未决状态310。虽然本发明在此方面不受限制,但例如在LLC 112中发生存储体冲突的情况下,导致短拒绝的资源可以仅在相对短的时间、例如一个周期内不可用,如在本领域中公知的那样。
根据本发明的一些说明性实施例,被分类为长拒绝的、被拒绝的请求可以从未决状态310改变为挂起状态320,如以转换314所示。如以转换322所示,当拒绝的原因不再有效时,例如当释放了被锁定的资源时,请求可以退出挂起状态320并且重新开始未决状态310。例如,如果存储器事务为了被服务而需要访问主存储器110时,在其能够被完成并且数据被写入缓存之前,可能花费例如数百个周期。在这样的情况下,在存储器事务中使用的总线,例如FSB 104,可以发送已将数据从系统存储器110接收到LLC 112的指示,其可以指示该事务已经完成。
虽然本发明的实施例在此方面不受限制,但如果是长拒绝,请求可以被存储在拒绝队列(例如,拒绝队列120)中,直到被锁定的资源被释放。可替代地,请求可以与LLC队列114中的挂起状态相关联,该挂起状态可以阻止将挂起的请求发布到LLC 112。由于与短拒绝相比,资源被预期在相对长的时间(例如,在例如主存储器访问另一个缓存中的锁定数据的情况下数百个周期)内保持被锁定,挂起被分类为长拒绝的请求可以在资源保持不可用时阻止请求的不必要的重新发送。因此,根据本发明的一些说明性实施例,使用拒绝队列和/或挂起状态可以提高性能效率。
参考图4,其示意性示出了根据本发明的一些说明性实施例来管理被拒绝的请求的方法300的流程图。虽然本发明在此方面不受限制,方法300可以通过资源管理器、例如队列管理器130被执行。
根据本发明的一些说明性实施例,方法400可以通过检测拒绝的原因开始,如在块410中所示。例如,可能导致拒绝的条件可以并行于对末级缓存的访问而被检查。如在块420中所示,方法400可以包括基于预定参数(例如所请求的资源预期保持锁定的时间量)区别不同的拒绝类型,例如,长拒绝和短拒绝。虽然本发明的实施例在此方面不受限制,但方法400可以包括启发式方法以预测拒绝是长拒绝还是短拒绝。例如,可依赖于外部资源、例如FSB 104和/或XQ116的拒绝可以被分类为长拒绝,而可依赖于内部CPU事件(例如LLC 112)的拒绝可以被分类为短拒绝。如在块430中所示,该方法可以包括例如通过在合适的队列中重新调度来退回(bounce)被分类为短拒绝的请求。
根据本发明的一些说明性实施例,方法400包括挂起长拒绝请求,如在块440中所示。例如,长拒绝请求可以被放置在拒绝队列、例如队列120中。虽然本发明的实施例在此方面不受限制,但被挂起的请求可以与有关该拒绝的原因的数据、例如指示哪个资源被锁定的数据关联。
根据本发明的一些说明性实施例,方法400可以包括监视资源,如块450中所示。例如资源管理器可以(例如周期性地)查询计算系统100的被请求的资源,来确定是否该资源保持锁定。附加地或者可替代地,资源管理器可以等待来自被锁定的资源的暗示或者明示锁定条件被释放的信号,例如,FSB 104和/或XQ 116可以发出数据例如从系统存储器110被接收到LLC 112的指示。这样的指示通常可以指示存储器事务已被完成。然而,应当理解,由于不止一个被挂起的请求可依赖于这样的存储器事务,通用指示可能不适用于所有的被挂起的请求。
根据本发明的一些说明性实施例,方法400可包括发送释放命令给拒绝队列,如在块460中所示。虽然本发明在此方面不受限制,但释放命令可以触发来自该队列的一个或多个长拒绝请求的释放。例如,释放命令可以触发:特定的释放事件以释放该队列中的特定请求,通用释放事件以释放所有排队的请求,或者组释放事件以释放该队列中具有相似参数的一组请求。
根据本发明的一些说明性实施例,通用释放事件可以通过至少一个长拒绝条件的改变被触发。例如,如果XQ 116是满的,那么队列中空条目的释放可以用信号通知通用释放。(例如拒绝队列120中的)被挂起的请求可以被重新发布例如到LLC 114。在通用释放的情况下,一些请求可以例如由于正在进行的竞争而被再次拒绝,而至少一个未命中LLC的请求能够进入XQ以被服务。如果被释放的请求被拒绝,其可以返回到挂起状态,例如,在拒绝队列120中。
本发明的实施例可以通过软件,硬件,或者可以适合于特定应用或者符合特定设计要求的软件和/或硬件的任意组合来实现。本发明的实施例可以包括单元和子单元,它们可以相互独立或者完全或部分地被组合在一起,并可以通过使用本领域中公知的特定的、多用途的或者通用处理器或者设备来实现。本发明的一些实施例可以包括缓冲器、寄存器、存储单元和/或存储器单元,用于数据的临时或者长期存储,和/或为了便于特定实施例的操作。
尽管在此示例和描述了本发明的某些特征,但本领域的普通技术人员可以想到许多修改,替代,变化和等效方案。因此,应当理解所附的权利要求意图覆盖在本发明的实际要旨内的所有这样的修改和变化。

Claims (22)

1.一种管理资源请求的方法,包括:
针对对资源进行访问的请求,监视一个或多个拒绝条件;
基于拒绝的原因和所述拒绝条件预期保持有效的时间量将对该请求的拒绝分类为长拒绝或短拒绝;以及
如果请求被拒绝并且被分类为短拒绝,则在将要访问的所述资源的服务队列中重新调度所述请求,如果请求被拒绝并且被分类为长拒绝,则在拒绝队列中挂起所述请求。
2.根据权利要求1的方法,其中所述一个或多个拒绝条件预期保持有效的时间量是基于该拒绝的原因来预测的。
3.根据权利要求1的方法,其中监视所述一个或多个拒绝条件包括:查询一个或多个资源来确定所述一个或多个资源的可用性。
4.根据权利要求1的方法,其中将拒绝进行分类包括:如果所述一个或多个拒绝条件包括依赖于内部事件的条件,则将拒绝分类为短拒绝。
5.根据权利要求1的方法,其中将拒绝进行分类包括:如果所述一个或多个拒绝条件包括依赖于外部资源的条件,则将拒绝分类为长拒绝。
6.根据权利要求1的方法,包括:将所述拒绝队列中的所述请求与同拒绝的原因以及要通过所述请求被访问的资源相关的数据进行关联。
7.根据权利要求6的方法,包括:基于所述数据和来自要被访问的该资源的信号发送释放事件以从所述拒绝队列中释放所述请求,其中所述信号指示该资源可被用于服务该请求。
8.根据权利要求1的方法,包括,基于指示所述一个或多个拒绝条件的改变的一个或多个参数,发送释放事件以便从所述拒绝队列中释放所述请求。
9.一种管理资源请求的设备,包括:
资源管理机构,包括:用于针对访问资源的请求监视一个或多个拒绝条件的部件,基于拒绝的原因和所述拒绝条件预期保持有效的时间量将对该请求的拒绝分类为长拒绝或短拒绝的部件,
如果请求被拒绝并且被分类为短拒绝,则在将要访问的所述资源的服务队列中重新调度所述请求的部件,以及如果请求被拒绝并且被分类为长拒绝,则在拒绝队列中挂起所述请求的部件。
10.根据权利要求9的设备,其中所述资源管理机构能够基于拒绝的原因预测所述一个或多个拒绝条件预期保持有效的时间量。
11.根据权利要求9的设备,其中所述资源管理机构能够查询一个或多个资源从而确定所述一个或多个资源的可用性。
12.根据权利要求9的设备,其中所述资源管理机构能够将被挂起的所述请求与同拒绝的原因以及要通过所述请求被访问的资源相关的数据进行关联。
13.根据权利要求12的设备,其中所述资源管理机构能够基于所述数据和来自要被访问的资源的信号释放所述被挂起的请求,其中所述信号指示资源可被用于服务该请求。
14.根据权利要求9的设备,其中所述资源管理机构能够基于指示所述一个或多个拒绝条件的改变的一个或多个参数释放所述被挂起的请求。
15.一种管理资源请求的系统,包括:
针对对资源进行访问的请求,监视一个或多个拒绝条件的部件;
基于拒绝的原因和所述拒绝条件预期保持有效的时间量将对该请求的拒绝分类为长拒绝或短拒绝的部件;
如果请求被拒绝并且被分类为短拒绝,则在将要访问的所述资源的服务队列中重新调度所述请求的部件;以及
如果请求被拒绝并且被分类为长拒绝,则在拒绝队列中挂起所述请求的部件。
16.根据权利要求15的系统,其中所述一个或多个拒绝条件预期保持有效的时间量是基于该拒绝的原因来预测的。
17.根据权利要求15的系统,其中监视所述一个或多个拒绝条件的部件包括:查询一个或多个资源来确定所述一个或多个资源的可用性的部件。
18.根据权利要求15的系统,其中将拒绝进行分类的部件包括:如果所述一个或多个拒绝条件包括依赖于内部事件的条件,则将拒绝分类为短拒绝的部件。
19.根据权利要求15的系统,其中将拒绝进行分类包括:如果所述一个或多个拒绝条件包括依赖于外部资源的条件,则将拒绝分类为长拒绝。
20.根据权利要求15的系统,还包括:
将所述拒绝队列中的所述请求与同拒绝的原因以及要通过所述请求被访问的资源相关的数据进行关联的部件。
21.根据权利要求20的系统,还包括:基于所述数据和来自要被访问的该资源的信号发送释放事件以从所述拒绝队列中释放所述请求的部件,其中所述信号指示该资源可被用于服务该请求。
22.根据权利要求15的方法,还包括,基于指示所述一个或多个拒绝条件的改变的一个或多个参数,发送释放事件以便从所述拒绝队列中释放所述请求的部件。
CN2006100642422A 2005-12-30 2006-12-30 管理资源请求的设备、系统和方法 Expired - Fee Related CN101017450B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/321643 2005-12-30
US11/321,643 US7958510B2 (en) 2005-12-30 2005-12-30 Device, system and method of managing a resource request

Publications (2)

Publication Number Publication Date
CN101017450A CN101017450A (zh) 2007-08-15
CN101017450B true CN101017450B (zh) 2010-09-29

Family

ID=38226189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100642422A Expired - Fee Related CN101017450B (zh) 2005-12-30 2006-12-30 管理资源请求的设备、系统和方法

Country Status (2)

Country Link
US (1) US7958510B2 (zh)
CN (1) CN101017450B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496789B2 (en) * 2005-06-06 2009-02-24 Oracle International Corporation Handling restart attempts for high availability managed resources
US7802128B2 (en) * 2007-03-26 2010-09-21 Oracle International Corporation Method to avoid continuous application failovers in a cluster
US10664396B2 (en) * 2017-10-04 2020-05-26 Intel Corporation Systems, methods and apparatus for fabric delta merge operations to enhance NVMeoF stream writes
CN109451835B (zh) * 2017-12-11 2022-04-15 北京小米移动软件有限公司 用于缩短接入时延的方法、装置、用户设备及基站
US20230315643A1 (en) * 2022-03-29 2023-10-05 Microsoft Technology Licensing, Llc Cache Data Provided Based on Data Availability

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04308961A (ja) * 1991-01-18 1992-10-30 Ncr Corp 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
JPH07152721A (ja) * 1993-11-29 1995-06-16 Mitsubishi Electric Corp マイクロコンピュータ
US6223204B1 (en) * 1996-12-18 2001-04-24 Sun Microsystems, Inc. User level adaptive thread blocking
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6748593B1 (en) * 2000-02-17 2004-06-08 International Business Machines Corporation Apparatus and method for starvation load balancing using a global run queue in a multiple run queue system
US6981260B2 (en) * 2000-05-25 2005-12-27 International Business Machines Corporation Apparatus for minimizing lock contention in a multiple processor system with multiple run queues when determining the threads priorities
US6845504B2 (en) * 2001-02-08 2005-01-18 International Business Machines Corporation Method and system for managing lock contention in a computer system
US6944736B2 (en) * 2001-06-28 2005-09-13 Hewlett-Packard Development Company, L.P. Managing latencies in accessing memory of computer systems
US6965961B1 (en) * 2002-03-01 2005-11-15 University Of Rochester Queue-based spin lock with timeout
US7234143B2 (en) * 2002-06-20 2007-06-19 Hewlett-Packard Development Company, L.P. Spin-yielding in multi-threaded systems
US7051026B2 (en) * 2002-07-31 2006-05-23 International Business Machines Corporation System and method for monitoring software locks
US7213093B2 (en) * 2003-06-27 2007-05-01 Intel Corporation Queued locks using monitor-memory wait
US20050081204A1 (en) * 2003-09-25 2005-04-14 International Business Machines Corporation Method and system for dynamically bounded spinning threads on a contested mutex
US7383368B2 (en) * 2003-09-25 2008-06-03 Dell Products L.P. Method and system for autonomically adaptive mutexes by considering acquisition cost value
CN1300703C (zh) * 2003-11-05 2007-02-14 松下电器产业株式会社 调节电路及其具有它的功能处理电路

Also Published As

Publication number Publication date
CN101017450A (zh) 2007-08-15
US20070157208A1 (en) 2007-07-05
US7958510B2 (en) 2011-06-07

Similar Documents

Publication Publication Date Title
US9274844B2 (en) Priority-based management of system load level
US8763012B2 (en) Scalable, parallel processing of messages while enforcing custom sequencing criteria
EP2362953B1 (en) Multiprocessor computing device
CN104321758A (zh) 经由共享存储器结构的仲裁存储器访问
US20240070121A1 (en) Thread safe lock-free concurrent write operations for use with multi-threaded in-line logging
US9529651B2 (en) Apparatus and method for executing agent
CN103164266B (zh) 用于发起设备向接收设备发送的事务请求的动态资源分配
CN101221515B (zh) 用于调度执行单元的方法和系统
CN101017450B (zh) 管理资源请求的设备、系统和方法
CN110213128B (zh) 服务端口检测方法、电子设备及计算机存储介质
US7765548B2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
CN110473113A (zh) 基于disruptor提高业务系统吞吐量方法、装置及介质、服务器
CN116909943A (zh) 一种缓存访问方法、装置、存储介质及电子设备
CN101847128A (zh) 管理tlb的方法和装置
US8589551B2 (en) Multiprocessor computer and network computing system processing use and provision of hardware resource via a network
CN100573489C (zh) 经由流动id方法的dmac发布机制
US20070043869A1 (en) Job management system, job management method and job management program
CN112785323A (zh) 资源分配方法、装置与电子设备
CN106484536B (zh) 一种io调度方法、装置和设备
CN115421889A (zh) 进程间的请求管理方法、装置、电子设备及存储介质
CN115061779A (zh) 一种用户态虚拟机的内核锁管理方法及装置
CN115412515A (zh) 一种基于fpga的存储空间分配方法
CN117112217A (zh) 任务处理方法、装置、设备及存储介质
CN109474543A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100929

Termination date: 20181230

CF01 Termination of patent right due to non-payment of annual fee