CN1541357A - 用于向一处理器让与资源的系统 - Google Patents

用于向一处理器让与资源的系统 Download PDF

Info

Publication number
CN1541357A
CN1541357A CNA028158121A CN02815812A CN1541357A CN 1541357 A CN1541357 A CN 1541357A CN A028158121 A CNA028158121 A CN A028158121A CN 02815812 A CN02815812 A CN 02815812A CN 1541357 A CN1541357 A CN 1541357A
Authority
CN
China
Prior art keywords
transference
virtual processor
processor
cpu
virtual
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
CNA028158121A
Other languages
English (en)
Other versions
CN1278235C (zh
Inventor
W・J・阿姆斯特朗
W·J·阿姆斯特朗
仕魍
C·弗朗索瓦
N·纳亚尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1541357A publication Critical patent/CN1541357A/zh
Application granted granted Critical
Publication of CN1278235C publication Critical patent/CN1278235C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

一种用于协调逻辑分区的诸虚拟处理器之间的诸CPU的分配的装置、程序产品和方法。一虚拟处理器可以让与一CPU,以加速其自身的执行基于其上的事件发生。这样,程序代码可以将所述被放弃的CPU发派给一指定的虚拟处理器。

Description

用于向一处理器让与资源的系统
技术领域
本发明涉及计算系统,更具体地说,涉及在一逻辑分区的环境中让与(yield)处理器,在该环境中,诸分区共享诸中央处理单元(CPU)。
背景技术
很多计算应用的速度和效率取决于处理资源的可用性。为此目的,诸如由国际商业机器公司开发的“虚拟机”设计等计算体系结构在多个进程之间共享共同的处理资源。这样一个体系结构通常可能依赖于具有一个或多个物理控制器,或中央处理单元(CPU)的单个计算机器。这些CPU可以执行被配置为模拟多个虚拟处理器的软件。
这种多处理器环境支持逻辑“分区”的概念实践。分区提供了一种适于分配和共享计算资源的程序体系结构。一个分区可以逻辑地包含如由一管理员所分配的一个机器的CPU、存储器和其他资源中的一部分。这样,管理员可以将相同的资源分配给一个以上的分区。每个分区除了有多个虚拟处理器之外还可以有一个操作系统。以这种方式,每个分区大体上如同它是一个单独的计算机一样运行。
原则上讲,每个虚拟处理器可以访问底层物理机器的很多物理资源。除了CPU之外,示例性的资源还可以包括存储器资源和硬件寄存器。诸虚拟处理器另外可以共享一个优先权方案或调度表,该优先权方案或调度表部分地规定了处理周期在不同虚拟处理器之间的分配。一个被称为“系统管理程序”(hypervisor)或分区管理器的底层程序可以使用该方案向每个虚拟处理器分配和发派CPU。例如,该系统管理程序可能截获来自诸操作系统的对诸资源的请求,以全局性地共享和分配这些资源。
以这种方式,诸虚拟处理器担当了一宿主分区的执行的诸逻辑线程。这样,这些虚拟处理器可以在共享资源的同时单独地执行指令。通过重复利用某些物理资源,一分区环境可以促进更高的性能和效率。诸分区的可编程灵活性可以进一步使它们动态地对负荷的变化作出反应,而无需重新启动。例如,包含10个虚拟处理器的2个分区中的每一个分区都可以在工作负荷转移时接管一共享物理系统的全部10个CPU,而无需重新启动或操作员的介入。
为促进均衡的资源分配,管理员可以对可由一虚拟处理器访问的资源的数量设置限制。例如,系统管理程序可以从不向某个虚拟处理器发派超过50%的可用CPU。类似地,系统管理程序可以保证一虚拟处理器对一CPU的使用不超过一指定的持续时间。在这种方式中,可以向该虚拟处理器分配一CPU的一“时间片”,当该时间片到期时,系统管理程序可以抢占该虚拟处理器对该CPU的使用。通过类似的编程,一个复杂的应用可以在理论上分配于多个处理器中,而不是等待由一单个处理器执行。
然而,尽管有这种多处理系统提供的灵活性,与资源分配有关的复杂性依然存在。某些这种障碍来自于诸操作系统的动态的、相互交错的处理要求。例如,某些虚拟进程的初始化可能是以其他一些进程的在先执行为前提的。这种依赖可能将它自己的复杂性和无效率引入一多进程应用。在一共享处理器环境中,同样的障碍可能对诸虚拟处理器产生。例如,系统管理程序可能将CPU分配给这样的一虚拟处理器,其正在请求一旋转锁(spin-lock),而且同时正在等待持有该旋转锁的先决的一虚拟处理器以获得它自己的CPU。这样一来,不仅所分配的CPU无法执行该虚拟处理器,而且它也被阻止执行该分区中的其他虚拟处理器。
某些管理员试图通过引入编程的让与函数来解决多处理器的无效率。例如,每当一虚拟处理器即将旋转等待(spin)时,该虚拟处理器可能向系统管理程序发出一“让与给活动者”命令。当一虚拟处理器等待一先决进程执行或一资源变为可用时,它可能会“旋转等待”。由于该资源的持有者可能不是处于活动状态,所以当该虚拟处理器旋转等待时,它将浪费CPU周期。响应于该“让与给活动者”命令,该虚拟处理器可以进入一让与的状态,而放弃它的CPU。系统管理程序可以将被让与的该CPU重新分配给在调度表中出现的下一个虚拟处理器。
尽管这一技术代表了资源管理方面的一个进步,它依然容忍了无效率。就是说,让与的进程在等待系统管理程序相继地向所有其他虚拟处理器分配诸CPU时,常常必须在延长的时间内保持在非活动状态。又加之以多个处理层和迭代,这种非活动状态就转化成低处理速度和无效率。因此,需要一种管理物理计算资源的更有效的方式。
发明内容
与本发明的原理一致的一实施例包括一装置、方法和程序产品,其被配置为在一逻辑分区的数据处理系统中让与CPU。这样的系统可以支持多个虚拟处理器。这样,本实施例可以从一让与虚拟处理器发起一请求。该请求可以促使由该让与虚拟处理器控制的一CPU的让与。更具体地说,该请求可以从多个虚拟处理器中指定一个目标虚拟处理器。例如,该信号可能包含关于该目标处理器的指针和/或状态信息。
该目标虚拟处理器可能请求访问由该让与虚拟处理器控制的且请求让与的CPU。然后,该实施例可以将对该CPU的控制从该让与虚拟处理器重新分配或“切换”到该目标虚拟处理器。在将该CPU发派到该目标虚拟处理器之前,系统管理程序可能要验证该让与虚拟处理器依然处于非活动状态,并且进一步地该目标虚拟处理器本身未处于让与的状态。系统管理程序可以进一步地在将控制传给一调度器之前,保存该让与虚拟处理器的状态。
本发明的上述和其他目的和优点通过参照附图及其描述将会变得清楚起来。程序代码可以存储该让与虚拟处理器的状态。
附图说明
纳入本说明书并构成其中一部分的附图示出了本发明的实施例,这些附图和上面对本发明的一般描述以及下面对本发明的具体描述一起,可用于解释本发明的原理。
图1是与本发明一致的计算机的框图。
图2是图1所示计算机中的主要软件组件和资源的框图。
图3是一流程图,其示出了在图1和2所示环境中所支持的、在诸分区中重新分配诸CPU的方法。
图4是一流程图,其示出了与图3所示的一处理步骤相关的顺序执行的诸步骤。
具体实施方式
本发明的一实施例可以包括用于在经过逻辑分区的诸虚拟处理器之间协调和重新分配诸CPU的装置、程序产品和方法。该实施例可以让与CPU,以促进一虚拟处理器自身的执行可能基于其上的事件的发生。大体说来,该实施例可以通过有效地将诸CPU让与诸目标虚拟处理器而协调诸虚拟处理器的执行。
更具体地说,让与虚拟处理器可以确定和指定一“目标”虚拟处理器。一示例性目标处理器可能需要该让与虚拟处理器持有的一CPU。该目标处理器可能进一步包含在该让与处理器执行之前所需的条件。本实施例的让与特征可以使一系统管理程序能够将该让与处理器放弃的一CPU或存储器资源分配给该指定的虚拟处理器。通过激活该目标处理器,本实施例的方法可以消除阻止该让与处理器执行的条件。图1和2示出了适合于实施这样一实施例的环境。
硬件和软件环境
现参照附图,其中同样的标号在这些图中表示同样的部件,图1示出了与本发明的一致的一数据处理装置或计算机10。装置10一般性地代表例如若干诸如网络服务器、中型计算机、大型计算机等多用户计算机系统中的任何一个。然而,应当认识到,本发明也可以在其他数据处理装置中实施,例如在诸如工作站、桌面计算机、便携式计算机之类的独立或单用户的计算机中实施,或在诸如嵌入式控制器之类的其他计算设备中实施。装置10的一种合适的实现是在诸如由国际商业机器公司提供的AS/400或e系列计算机等中型计算机中。
装置10通常包含一个或多个系统处理器12,这些系统处理器与一存储器子系统连接,该存储器子系统包括主存储器14,例如一动态随机存取存储器(DRAM)阵列。图中也示出了处于诸处理器12和主存储器14之间的一高速缓存子系统16,其通常包含一级或多级数据、指令和/或其组合的高速缓存,其中某些高速缓存或者服务于单个处理器,或者服务于多个处理器,正如在本领域中众所周知的那样。此外,主存储器14通过一系统总线18和多个接口设备与若干类型的外部(I/O)设备连接,这些接口设备例如有输入/输出总线附加装置接口20、工作站控制器22和存储控制器24,其分别提供对一个或多个外部网络26、一个或多个工作站28、和/或一个或多个存储设备例如直接存取存储设备(DASD)30的外部访问。
图2更详细地描述了在计算机10上实现一逻辑分区的计算环境时所利用的主要软件组件和资源,包括由一分区管理器或系统管理程序46所管理的多个逻辑分区40、42、44。正如在本领域中众所周知的那样,可以支持任何数量的逻辑分区。
在所描述的实施方式中,逻辑分区40作为主逻辑分区运行,而逻辑分区42和44作为从逻辑分区运行。在此环境中的主分区共享该计算机的某些分区管理功能,如处理该计算机10上的这些从逻辑分区的电源开启和关闭,或发起这些从逻辑分区的存储器转储。这样,系统管理程序46的一部分由主分区控制块50表示,该主分区控制块处于主分区40中的操作系统52中。其他可由所有逻辑分区访问的分区管理服务由共享服务块48表示。然而,在与本发明一致的其他实施方式中,分区管理功能不必实现在任何特定的逻辑分区中。
每个逻辑分区使用一操作系统(例如逻辑分区40、42和44各自的操作系统52、54和56),该操作系统以与不分区计算机的操作系统相同的方式控制该逻辑分区的主要操作。每个逻辑分区40-44在一表示为虚拟存储器60的单独的存储器空间中运行。此外,向每个逻辑分区40-44静态地或动态地分配计算机10中的诸可用资源的一部分。例如,每个逻辑分区可能共享一个或多个处理器12,以及可用的存储器空间的一部分以便在虚拟存储器60中使用。以这种方式,一给定的处理器可以由多于一个逻辑分区使用。其他资源,如海量存储器、备份存储器、用户输入、网络连接之类,通常以在本领域中众所周知的方式分配给一个或多个逻辑分区。资源的分配可以采用多种方式,如基于逐个总线的,或基于逐个资源的,其中多个逻辑分区共享同一总线上的诸资源。某些资源甚至可以同时分配给多个逻辑分区。例如,图2示出了3个逻辑总线62、64和66,在总线62上有分配给主逻辑分区40的多个资源,包括一直接存取存储设备(DASD)68、一控制面板70、一磁带驱动器72和一光盘驱动器74。而另一方面,总线64可以具有基于逐个资源而分配的多个资源,例如,分配给从逻辑分区42的局域网(LAN)适配器76、光盘驱动器78和DASD 80,以及分配给从逻辑分区44的LAN适配器82和84。总线66可以代表例如特别分配给逻辑分区44的一总线,这样该总线上的所有资源,例如DASD 86和88,都分配给同一逻辑分区。
应当理解的是,对图2所示特定资源的描述只是示例性的,在其它实施方式中,可以把资源的任何组合和安排分配给任何逻辑分区。而且还应当理解,在某些实施方式中,资源可以动态地重新分配,以服务于其他逻辑分区的需要。此外,应当理解,资源也可以按照输入/输出处理器(IOP)来表示,这些输入/输出处理器用于在该计算机和特定硬件设备之间提供接口。
图2所示的、实现本发明的实施例的各种软件组件和资源可以以若干种方式实现,包括使用各种计算机软件应用、例程、组件、程序、对象、模块、数据结构等,在下文中这些被称为“计算机程序”,或简单地被称为“程序”。计算机程序通常包含一个或多个指令,这些指令在不同的时候驻留在计算机的不同的存储器和存储设备中,并且当其由该计算机中的一个或多个处理器读取并执行时,导致该计算机完成一些步骤,这些步骤是为执行体现本发明的各个方面的各步骤或要素所必需的。
此外,尽管本发明已经并将要在具有完整功能的计算机的环境中进行描述,本领域的技术人员将会理解,本发明的各种实施例能够作为各种形式的程序产品发布,并且不管实际用来进行发布的信号承载介质的特殊类型是什么,本发明都同样适用。信号承载介质的例子包括但不限于可记录类型的介质,例如易失的和非易失的存储器设备、软盘和其他可移动盘、硬盘驱动器、磁带、光盘(例如CD-ROM、DVD等)及其他,以及传输类型的介质,例如数字和模拟通信链路。
还有,可以基于应用辨别下文描述的各个程序,针对所述的应用,在本发明的具体实施例中实现所述的各个程序。然而,应当理解,下文中任何特定的程序命名只是为了方便,因此本发明不应限于仅使用在由这种命名所标识和/或暗示的任何特殊应用中。
本领域的技术人员将会认识到,图1和2所示的示例性环境并非意在限制本发明。实际上,本领域的技术人员将会认识到,也可以使用其它硬件/软件环境,而不脱离本发明的范围。
“让与给处理器”功能
图3的流程图示出了用于在前两图所示的硬件和软件环境中让与CPU的示例性实施方式。总的说来,所示出的过程步骤通过有效地让与CPU而协调虚拟处理器的执行。在图3的实施例中,一让与虚拟处理器可以确定和指定一“目标”虚拟处理器。值得注意的是,该目标虚拟处理器可以位于与该让与虚拟处理器相同的分区中。在一种情况中,一目标虚拟处理器可能需要由该让与虚拟处理器控制的一CPU。该目标虚拟处理器可能进一步包含在该让与虚拟处理器执行前所需要的一条件。
本实施例的让与功能可以使得一系统管理程序或分区管理器可以重新分配已由一让与操作系统放弃的一CPU或存储器资源。在这种方式中,该系统管理程序可以启动一目标虚拟处理器,从而缓解阻止所述让与虚拟处理器执行的条件。值得注意的是,本实施例的目标指定特征代表了对不加区别地剥夺和重新分配所让与的资源的传统管理应用的偏离。如上面讨论的,这样的现有技术的应用由于不能专注于有目标地让与操作,因而可以造成显著的处理延迟。
在图3中的块150,一分区的一虚拟处理器可以认识到系统管理程序已向其分配了一CPU。当记录下已有一CPU提供给它之后,该虚拟处理器可以在块152评估它是否能够利用所述分配的CPU。更具体地说,该虚拟处理器可能评估一旋转锁,以确定它是否当前可用。例如,该系统管理程序可能在该虚拟处理器正在旋转等待由另一虚拟处理器持有的一锁时向其发派了一CPU。在另一种情况下,该系统管理程序可能以时间片的方式或其他方式抢占了该虚拟处理器对所发派的CPU的访问权。
如果在图3中的块152中检测到这样的条件,则本实施例可以在块154获取并存储与位于同一分区中的一“目标”虚拟处理器有关的信息。一示例性目标虚拟存储器可能需要由该让与虚拟处理器控制的一CPU。而该让与虚拟处理器又可能逻辑上依赖于该目标虚拟处理器的执行。这样,该让与虚拟处理器被称为等待该目标虚拟处理器以便执行。
在图3中的块154从该目标虚拟处理器获取的信息可能包括该目标虚拟处理器的一地址和目标计数。一目标计数可能与分配给每个虚拟处理器的一存储部件的一值有关。正如下面详细讨论的那样,一实施例可以维护和使用这种目标计数来确定处理状态。系统管理程序可能响应于一程序事件的发生,而递增一虚拟处理器的目标计数。例如,系统管理程序可能在每次当一虚拟处理器让与或被抢占时,使该目标计数增加一个增量。
在一实施例中,这样的增加可以使该计数具有奇数值。类似地,系统管理程序可以在每当一虚拟处理器开始执行时递增目标计数。这样的增加可以使一虚拟处理器的目标计数返回到一偶数值。这样,偶数目标计数可以对应于其资源要求已经得到满足的虚拟处理器(即拥有了一物理处理器)。
与所述目标虚拟处理器有关的、包括上面讨论的目标计数的信息可以对于一让与虚拟处理器和该系统管理程序二者都是可用的。一体系结构可以允许一分区中的所有虚拟处理器访问一共享存储器位置中的这种信息。在图3的块156中,一操作系统或一让与虚拟处理器可以向该系统管理程序发送一“让与给处理器”调用信号。该调用可以包括在块154从该目标处理器采样的信息的快照。这样,该快照可以包括该目标虚拟存储器的一目标计数和一地址二者。以这种方式,该系统管理程序可以在块158评估在该调用中呈现的该目标计数。值得注意的是,把图3分成两半的虚线划分了由该系统管理程序所执行的功能和由操作系统所执行的功能。更具体地说,操作系统发起块150至156的示例性步骤,而该系统管理程序执行块158至165。
如上面所讨论的,如果在块158确定该目标虚拟存储器的让与计数为偶数,则该系统管理程序可能已经在块156中的所述虚拟处理器的让与之后将一CPU发派给了该目标虚拟处理器。因为这样一来让与条件可能已经满足了,可能就不再需要该让与虚拟处理器放弃它自己的CPU了。例如,该目标虚拟处理器的执行可能已经解除了先前阻碍该让与虚拟处理器执行的锁机制。因而,一偶数目标计数可以导致本实施例重新在块150评估该让与虚拟处理器事实上是否仍然在旋转等待。值得注意的是,由该虚拟处理器在块156发出的让与调用可以导致该系统管理程序相应调整该虚拟处理器的让与计数。如下面将说明的那样,这一特征可以影响到可能指定该让与虚拟处理器或者说将该让与虚拟处理器设为目标的其他虚拟处理器。
一旦在图3中的块158检测到一奇数目标计数,则该系统管理程序可以在块160比较在该让与调用中呈现的目标计数与实际的目标计数。系统管理程序可以通过在接收到该让与调用时采样一目标虚拟处理器字段或硬件寄存器来获取实际的目标计数。块160的比较步骤可以确保该目标虚拟处理器在所述虚拟处理器发出让与调用后未曾获得所需要的一CPU。在那样的情况下,在该调用中呈现的目标计数将与系统管理程序所检验的目标计数不匹配。从而,系统管理程序可以使得该让与虚拟处理器回到块150,重新评估其状态。
相反地,如果在块160所呈现的让与计数与采样的、实际的计数匹配,则该系统管理程序可以认识到该目标虚拟处理器事实上需要一CPU。然而,在重新分配CPU之前,系统管理程序可以确保该目标虚拟处理器不是处于“让与给活动者”调用中。该目标虚拟处理器可能已经发出了一传统的“让与给活动者”调用,要求它放弃诸资源,直至所有未让与的虚拟处理器已得到服务。在这种情况下,让与给一让与目标虚拟处理器会是循环的和无益的,从而妨碍了系统的性能。因而,块162的预防步骤可以阻止在一给定应用中形成功能性循环。这样,本实施例可以在块153中止块156的“让与给处理器”调用。值得注意的是,本实施例的这一特征进一步允许本实施例的让与程序在现有技术的让与应用的范围内执行。
在图3中的块163,该系统管理程序可以将与该让与虚拟处理器相应的存储区指定或“标记”为正在等待该目标处理器。虚拟处理器的存储区是从系统管理程序的存储区中分配的。这样,系统管理程序可以另外将与该目标处理器对应的存储区标记为有让与处理器正在等待它。当在块163描述了目标和虚拟处理器之间的相互关系后,系统管理程序可以在块164存储该让与虚拟处理器的操作系统的状态。
例如,本实施例可以在块164记录与该虚拟处理器相关的所有寄存器,以便该虚拟处理器的所有条件都得到满足和保存。以这种方式,所保存的虚拟处理器只是等待一CPU。就是说,该系统管理程序可以恢复该让与虚拟处理器的已保存状态,以便操作系统可以在所有逻辑和物理条件都满足后立即执行。这样的条件既可以包括先决处理器的执行,也可以包括CPU的分配。
在图3中的块165,该系统管理程序将控制传给系统管理程序调度器。系统管理程序调度器可以协调与一分区中的诸虚拟处理器相应的代码片断,以便决定哪个虚拟处理器下次将在一给定CPU上运行。例如,系统管理程序调度器可能以这样的方式操纵一资源分配调度表,以至于使该目标虚拟处理器可以立即接收到下一个可用CPU的一时间片。如下面将详细讨论的,当该系统管理程序调度器已决定“切换入”该目标处理器,系统管理程序可以将该CPU发派给该目标虚拟处理器。以这种方式,该目标处理器可以最终获得执行,从而缓解加在所述虚拟处理器上的条件锁。
图4的流程图描述了与该系统管理程序调度器在图3中的块165所执行的步骤一致的诸过程步骤。更具体地说,该流程图示出了该调度器必须采取以决定它是否将切换入一给定目标处理器到一CPU资源上的步骤。就是说,系统管理程序必须执行块165至168,以确保将被分配一CPU的虚拟处理器是一“让与给处理器”调用的目标。
这样,系统管理程序在块166指示调度器电路启动对所有呈现给它的虚拟处理器的适当的评估过程。系统管理程序可以通过向该调度器指明一切换入例程即将来临而触发这种过程。作为响应,该系统管理程序调度器可以在块167检查虚拟处理器的存储区,以确定一呈现的虚拟处理器是否是一“让与给处理器”调用的目标。
如果块167的条件能够被这样满足,则系统管理程序可以在块169将让与的处理器的存储区标记为“准备好运行”。系统管理程序以这种方式编码或指定该让与处理器,是因为它起初让与的条件,即所述目标处理器的执行条件已经得到满足了。这样,让与的虚拟处理器只需通过系统管理程序等待一CPU成为可用的。
在让与处理器如此编码后,系统管理程序可以在块168将该虚拟处理器的状态和相关的寄存器置于硬件(CPU),并将控制返回给分区。值得注意的是,如果在块167评估的虚拟处理器不是一“让与给处理器”调用的目标,则在块168此一虚拟处理器的状态被恢复,并且把控制传给分区。这样,系统管理程序不改变让与的虚拟处理器的状态,因为它的让与条件依然未被满足。
尽管本发明已通过各种实施例进行了说明,并且以相当的细节描述了这些实施例,申请人并无意于将所附权利要求的范围限定或以任何方式限制于这样的细节。
本发明的其他优点和修改对于本领域的技术人员是显而易见的。因而本发明在其更广阔的方面不限于所示出和描述的特定细节、代表性装置和方法、以及说明性示例。因而,可以偏离这样的细节,而不脱离申请人的总体发明构思的精神或范围。

Claims (20)

1.一种用于在一逻辑分区的数据处理系统中使一虚拟处理器让与资源的方法,其中该系统支持多个分区,这些分区中的一第一分区包括共享至少一个CPU的多个虚拟处理器,该方法包括:
请求一让与虚拟处理器让与该虚拟处理器正执行于其上的CPU,包括从所述多个虚拟处理器中指定一目标虚拟存储器;以及
响应于所请求的让与,切换入所述目标虚拟处理器,以便由所述CPU执行。
2.根据权利要求1的方法,其中所述目标虚拟处理器要求访问所述CPU,其中所述让与的虚拟存储器控制着所述CPU。
3.根据权利要求1的方法,其进一步包括从所述虚拟处理器产生一让与命令,其中所述让与命令包括与所述目标虚拟处理器相关的指针和状态信息。
4.根据权利要求1的方法,其进一步包括向所述目标虚拟处理器指定状态信息。
5.根据权利要求1的方法,其进一步包括向所述目标虚拟处理器指定一目标计数。
6.根据权利要求5的方法,其进一步包括将所述目标计数与在所述让与命令中传送的一给出的计数相比较。
7.根据权得要求1的方法,其进一步包括响应于一“让与给活动者”命令,中止所述让与。
8.根据权利要求1的方法,其进一步包括将所述让与虚拟处理器标明为正在等待所述目标处理器。
9.根据权利要求1的方法,其进一步包括将所述目标虚拟处理器标明为具有一让与处理器正在等待所述目标虚拟处理器。
10.根据权利要求1的方法,其进一步包括存储所述让与虚拟处理器的状态。
11.一种装置,其包括:
一逻辑分区的计算机,其包括多个逻辑分区,这些逻辑分区中的一个第一逻辑分区包括共享至少一个CPU的多个虚拟处理器;以及
驻留在该计算机中的一程序,该程序被配置为发起一请求,请求由一让与虚拟处理器控制的一CPU的让与,其中该请求从多个虚拟处理器中指定一目标虚拟处理器;并进一步配置为将对所述CPU的控制从所述让与虚拟处理器逻辑地重新分配给所述目标虚拟处理器。
12.根据权利要求11的装置,其中所述目标虚拟处理器要求对所述CPU的访问,其中所述让与虚拟处理器控制着所述CPU。
13.根据权利要求11的装置,其中所述程序发起从所述虚拟处理器产生一让与命令,其中所述让与命令包括与所述目标虚拟处理器相关的指针和状态信息。
14.根据权利要求11的装置,其中所述程序发起将一目标计数分配给所述目标虚拟处理器。
15.根据权利要求14的装置,其中所述程序发起将所述目标计数与在所述让与命令中传送的一给出的计数相比较。
16.根据权利要求11的装置,其中所述程序响应于一“让与给活动者”命令,发起放弃所述让与。
17.根据权利要求11的装置,其中所述程序发起将所述让与虚拟处理器标明为正在等待所述目标处理器。
18.根据权利要求11的装置,其中所述程序将所述目标虚拟处理器标明为具有一让与处理器正在等待该目标虚拟处理器。
19.一种程序产品,其包括:
(a)一程序,其配置为发起一请求,请求让与由一逻辑分区的数据处理系统中的多个虚拟处理器中的一个让与虚拟处理器所控制的一CPU,其中所述请求在所述多个虚拟控制器中指定一个目标虚拟控制器;以及进一步配置为将对所述CPU的控制从所述让与虚拟处理器逻辑地重新分配给所述目标虚拟处理器,
(b)承载所述程序的一信号承载介质。
20.权利要求19的程序产品,其中所述信号承载介质包括一可记录型介质和一传输型介质中的至少一个。
CNB028158121A 2001-08-24 2002-07-24 用于向一处理器让与资源的系统 Expired - Lifetime CN1278235C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/939,232 US7428485B2 (en) 2001-08-24 2001-08-24 System for yielding to a processor
US09/939,232 2001-08-24

Publications (2)

Publication Number Publication Date
CN1541357A true CN1541357A (zh) 2004-10-27
CN1278235C CN1278235C (zh) 2006-10-04

Family

ID=25472787

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028158121A Expired - Lifetime CN1278235C (zh) 2001-08-24 2002-07-24 用于向一处理器让与资源的系统

Country Status (7)

Country Link
US (2) US7428485B2 (zh)
JP (1) JP4056471B2 (zh)
KR (1) KR20040028805A (zh)
CN (1) CN1278235C (zh)
AU (1) AU2002328960A1 (zh)
TW (1) TWI239450B (zh)
WO (1) WO2003019360A2 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100390740C (zh) * 2005-03-30 2008-05-28 国际商业机器公司 为被先占的虚拟处理器分配应得处理器周期的方法和系统
CN100487661C (zh) * 2006-09-20 2009-05-13 国际商业机器公司 在分区间重新分配资源的方法和装置
CN101963829A (zh) * 2004-12-31 2011-02-02 钟巨航 支持多个子系统的数据处理系统主板
CN102165425A (zh) * 2008-09-25 2011-08-24 松下电器产业株式会社 缓冲存储器装置、存储器系统及数据传输方法
CN101449240B (zh) * 2006-05-15 2012-06-06 微软公司 在运行中的操作系统下启动系统管理程序
CN102696024A (zh) * 2009-10-29 2012-09-26 提姆斯通公司 能够支持cpu虚拟化的计算机服务器
CN104516769A (zh) * 2013-10-01 2015-04-15 国际商业机器公司 动态逻辑分区的验证
CN106919453A (zh) * 2015-12-28 2017-07-04 纬创资通股份有限公司 共享装置的使用方法及资源共享系统
CN112579177A (zh) * 2019-09-27 2021-03-30 宝能汽车集团有限公司 Hypervisor的CPU配置方法、系统以及车辆、存储介质

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610473B2 (en) 2003-08-28 2009-10-27 Mips Technologies, Inc. Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor
US9032404B2 (en) 2003-08-28 2015-05-12 Mips Technologies, Inc. Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor
US7870553B2 (en) 2003-08-28 2011-01-11 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US20050050305A1 (en) * 2003-08-28 2005-03-03 Kissell Kevin D. Integrated mechanism for suspension and deallocation of computational threads of execution in a processor
US7418585B2 (en) 2003-08-28 2008-08-26 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US7711931B2 (en) 2003-08-28 2010-05-04 Mips Technologies, Inc. Synchronized storage providing multiple synchronization semantics
US7836450B2 (en) 2003-08-28 2010-11-16 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US7594089B2 (en) 2003-08-28 2009-09-22 Mips Technologies, Inc. Smart memory based synchronization controller for a multi-threaded multiprocessor SoC
US7849297B2 (en) 2003-08-28 2010-12-07 Mips Technologies, Inc. Software emulation of directed exceptions in a multithreading processor
US7765543B1 (en) * 2003-12-17 2010-07-27 Vmware, Inc. Selective descheduling of idling guests running on a host computer system
US7526421B2 (en) * 2004-02-27 2009-04-28 International Business Machines Corporation System and method for modeling LPAR behaviors in a simulation tool
US8224937B2 (en) * 2004-03-04 2012-07-17 International Business Machines Corporation Event ownership assigner with failover for multiple event server system
US8024726B2 (en) * 2004-05-28 2011-09-20 International Business Machines Corporation System for correct distribution of hypervisor work
US8271976B2 (en) * 2004-06-30 2012-09-18 Microsoft Corporation Systems and methods for initializing multiple virtual processors within a single virtual machine
WO2006014554A2 (en) * 2004-07-07 2006-02-09 University Of Maryland Method and system for monitoring system memory integrity
US20060048160A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, apparatus, and computer program product for providing a self-tunable parameter used for dynamically yielding an idle processor
US8307371B2 (en) * 2005-12-20 2012-11-06 International Business Machines Corporation Method for efficient utilization of processors in a virtual shared environment
US8276151B2 (en) 2006-09-06 2012-09-25 International Business Machines Corporation Determination of running status of logical processor
GB0618894D0 (en) * 2006-09-26 2006-11-01 Ibm An entitlement management system
EP2095226A1 (en) * 2006-12-11 2009-09-02 Nxp B.V. Virtual functional units for vliw processors
US8739162B2 (en) * 2007-04-27 2014-05-27 Hewlett-Packard Development Company, L.P. Accurate measurement of multithreaded processor core utilization and logical processor utilization
US7747814B2 (en) * 2007-06-26 2010-06-29 Microsoft Corporation Virtual machine state snapshots
US8495627B2 (en) 2007-06-27 2013-07-23 International Business Machines Corporation Resource allocation based on anticipated resource underutilization in a logically partitioned multi-processor environment
US9164784B2 (en) * 2007-10-12 2015-10-20 International Business Machines Corporation Signalizing an external event using a dedicated virtual central processing unit
US8245236B2 (en) * 2008-02-27 2012-08-14 International Business Machines Corporation Lock based moving of threads in a shared processor partitioning environment
KR20090108868A (ko) * 2008-04-14 2009-10-19 삼성전자주식회사 가상 머신 관리 시스템 및 그의 프로세서 자원 관리방법
JP2010033125A (ja) * 2008-07-25 2010-02-12 Hitachi Ltd ストレージ装置及びデータ転送方法
US9384160B2 (en) * 2008-09-04 2016-07-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods and controllers for affiliation managment
US9086913B2 (en) * 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
KR101644569B1 (ko) 2009-10-01 2016-08-01 삼성전자 주식회사 가상 프로세서 관리 장치 및 방법
US9086922B2 (en) * 2009-10-26 2015-07-21 Microsoft Technology Licensing, Llc Opportunistically scheduling and adjusting time slices
US8924534B2 (en) * 2009-10-27 2014-12-30 Vmware, Inc. Resource optimization and monitoring in virtualized infrastructure
JP5533538B2 (ja) 2010-10-12 2014-06-25 富士通株式会社 情報処理装置、エミュレーション処理プログラム及びエミュレーション処理方法
US8839240B2 (en) * 2010-11-29 2014-09-16 International Business Machines Corporation Accessing vendor-specific drivers for configuring and accessing a self-virtualizing input/output device
US9218195B2 (en) 2011-05-17 2015-12-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
US10296227B2 (en) * 2015-08-18 2019-05-21 Oracle International Corporation System and method for dynamic cache distribution for in-memory data grids
JP7474761B2 (ja) * 2018-11-26 2024-04-25 マルクス、ブライアン ソフトウェア・バグを検出するためにシステムをトレーニングするためのシステム及び方法
US11347558B2 (en) * 2019-12-09 2022-05-31 Nutanix, Inc. Security-aware scheduling of virtual machines in a multi-tenant infrastructure

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55112651A (en) 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
JPH0814795B2 (ja) * 1986-01-14 1996-02-14 株式会社日立製作所 マルチプロセッサ仮想計算機システム
US4742447A (en) 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
USRE36462E (en) 1986-01-16 1999-12-21 International Business Machines Corporation Method to control paging subsystem processing in virtual memory data processing system during execution of critical code sections
US4843541A (en) 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
JPH02171934A (ja) 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5179702A (en) 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5357632A (en) 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
DE69130630T2 (de) 1990-09-14 1999-09-09 Hitachi Synchrones Verfahren und Gerät für Prozessoren
US5535321A (en) 1991-02-14 1996-07-09 International Business Machines Corporation Method and apparatus for variable complexity user interface in a data processing system
US5325525A (en) 1991-04-04 1994-06-28 Hewlett-Packard Company Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time
US5404563A (en) * 1991-08-28 1995-04-04 International Business Machines Corporation Scheduling normally interchangeable facilities in multiprocessor computer systems
US5325526A (en) 1992-05-12 1994-06-28 Intel Corporation Task scheduling in a multicomputer system
CA2100540A1 (en) 1992-10-19 1994-04-20 Jonel George System and method for performing resource reconfiguration in a computer system
US5596755A (en) 1992-11-03 1997-01-21 Microsoft Corporation Mechanism for using common code to handle hardware interrupts in multiple processor modes
US5574914A (en) 1993-01-04 1996-11-12 Unisys Corporation Method and apparatus for performing system resource partitioning
US5504670A (en) 1993-03-31 1996-04-02 Intel Corporation Method and apparatus for allocating resources in a multiprocessor system
JP2900767B2 (ja) 1993-09-20 1999-06-02 株式会社日立製作所 仮想計算機システムの仮想計算機走行時間間隔制御方式
US5692193A (en) 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5640584A (en) * 1994-12-12 1997-06-17 Ncr Corporation Virtual processor method and apparatus for enhancing parallelism and availability in computer systems
US6199093B1 (en) 1995-07-21 2001-03-06 Nec Corporation Processor allocating method/apparatus in multiprocessor system, and medium for storing processor allocating program
US5872963A (en) * 1997-02-18 1999-02-16 Silicon Graphics, Inc. Resumption of preempted non-privileged threads with no kernel intervention
US6418460B1 (en) * 1997-02-18 2002-07-09 Silicon Graphics, Inc. System and method for finding preempted threads in a multi-threaded application
US6269391B1 (en) * 1997-02-24 2001-07-31 Novell, Inc. Multi-processor scheduling kernel
JP3730740B2 (ja) 1997-02-24 2006-01-05 株式会社日立製作所 並列ジョブ多重スケジューリング方法
JPH10260850A (ja) 1997-03-19 1998-09-29 Hitachi Ltd 仮想計算機システム
US6128728A (en) 1997-08-01 2000-10-03 Micron Technology, Inc. Virtual shadow registers and virtual register windows
US6772419B1 (en) 1997-09-12 2004-08-03 Hitachi, Ltd. Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS
US6078970A (en) 1997-10-15 2000-06-20 International Business Machines Corporation System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6647508B2 (en) 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6625638B1 (en) 1998-04-30 2003-09-23 International Business Machines Corporation Management of a logical partition that supports different types of processors
US6247109B1 (en) 1998-06-10 2001-06-12 Compaq Computer Corp. Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space
US6381742B2 (en) 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6105050A (en) 1998-08-25 2000-08-15 International Business Machines Corporation System for resource lock/unlock capability in multithreaded computer environment
US6279046B1 (en) 1999-05-19 2001-08-21 International Business Machines Corporation Event-driven communications interface for logically-partitioned computer
JP3659062B2 (ja) 1999-05-21 2005-06-15 株式会社日立製作所 計算機システム
US6760783B1 (en) 1999-05-21 2004-07-06 Intel Corporation Virtual interrupt mechanism
US6598069B1 (en) 1999-09-28 2003-07-22 International Business Machines Corporation Method and apparatus for assigning resources to logical partition clusters
US6587938B1 (en) 1999-09-28 2003-07-01 International Business Machines Corporation Method, system and program products for managing central processing unit resources of a computing environment
JP3575593B2 (ja) 1999-12-27 2004-10-13 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトのロック管理方法及び装置
US6912493B1 (en) 2000-09-29 2005-06-28 International Business Machines Corporation Technique for configuring processors in system with logical partitions
US7146305B2 (en) 2000-10-24 2006-12-05 Vcis, Inc. Analytical virtual machine
US20020161961A1 (en) 2001-01-17 2002-10-31 Ajile Systems, Inc. Multiple virtual machine environment management system
US6957435B2 (en) 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US20030014466A1 (en) 2001-06-29 2003-01-16 Joubert Berger System and method for management of compartments in a trusted operating system
US7251814B2 (en) * 2001-08-24 2007-07-31 International Business Machines Corporation Yield on multithreaded processors
US6779065B2 (en) 2001-08-31 2004-08-17 Intel Corporation Mechanism for interrupt handling in computer systems that support concurrent execution of multiple threads
US20050108711A1 (en) * 2003-11-13 2005-05-19 Infineon Technologies North America Corporation Machine instruction for enhanced control of multiple virtual processor systems

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963829A (zh) * 2004-12-31 2011-02-02 钟巨航 支持多个子系统的数据处理系统主板
CN100390740C (zh) * 2005-03-30 2008-05-28 国际商业机器公司 为被先占的虚拟处理器分配应得处理器周期的方法和系统
CN101449240B (zh) * 2006-05-15 2012-06-06 微软公司 在运行中的操作系统下启动系统管理程序
CN100487661C (zh) * 2006-09-20 2009-05-13 国际商业机器公司 在分区间重新分配资源的方法和装置
CN102165425A (zh) * 2008-09-25 2011-08-24 松下电器产业株式会社 缓冲存储器装置、存储器系统及数据传输方法
CN102165425B (zh) * 2008-09-25 2014-01-08 松下电器产业株式会社 缓冲存储器装置、存储器系统及数据传输方法
CN102696024A (zh) * 2009-10-29 2012-09-26 提姆斯通公司 能够支持cpu虚拟化的计算机服务器
CN102696024B (zh) * 2009-10-29 2015-09-23 提姆斯通公司 能够支持cpu虚拟化的计算机服务器
CN104516769A (zh) * 2013-10-01 2015-04-15 国际商业机器公司 动态逻辑分区的验证
CN104516769B (zh) * 2013-10-01 2017-09-19 国际商业机器公司 用于验证逻辑分区配置之间的切换的方法、介质及系统
CN106919453A (zh) * 2015-12-28 2017-07-04 纬创资通股份有限公司 共享装置的使用方法及资源共享系统
CN112579177A (zh) * 2019-09-27 2021-03-30 宝能汽车集团有限公司 Hypervisor的CPU配置方法、系统以及车辆、存储介质

Also Published As

Publication number Publication date
TWI239450B (en) 2005-09-11
WO2003019360A3 (en) 2003-11-20
US20030055864A1 (en) 2003-03-20
KR20040028805A (ko) 2004-04-03
JP4056471B2 (ja) 2008-03-05
US7428485B2 (en) 2008-09-23
US20080276246A1 (en) 2008-11-06
CN1278235C (zh) 2006-10-04
JP2005501333A (ja) 2005-01-13
AU2002328960A1 (en) 2003-03-10
WO2003019360A2 (en) 2003-03-06
US8108196B2 (en) 2012-01-31

Similar Documents

Publication Publication Date Title
CN1278235C (zh) 用于向一处理器让与资源的系统
US7047337B2 (en) Concurrent access of shared resources utilizing tracking of request reception and completion order
US8271989B2 (en) Method and apparatus for virtual processor dispatching to a partition based on shared memory pages
US7222343B2 (en) Dynamic allocation of computer resources based on thread type
US6871264B2 (en) System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits
US7334230B2 (en) Resource allocation in a NUMA architecture based on separate application specified resource and strength preferences for processor and memory resources
US7251814B2 (en) Yield on multithreaded processors
US7853928B2 (en) Creating a physical trace from a virtual trace
US20050021913A1 (en) Multiprocessor computer system having multiple coherency regions and software process migration between coherency regions without cache purges
US20050278722A1 (en) System for correct distribution of hypervisor work
CN1831775A (zh) 虚拟机环境中用于多级截取处理的系统和方法
CN1534478A (zh) 重定位在多线程计算机中共享的计算机数据的设备和方法
EP2411916A2 (en) Virtual non-uniform memory architecture for virtual machines
WO2005001693A2 (en) Multiprocessor system with dynamic cache coherency regions
TW200404253A (en) Thread dispatch mechanism and method for multiprocessor computer systems
US9329937B1 (en) High availability architecture
JP2008033932A (ja) Numaコンピュータシステムにおけるローカリティドメインおよびスレッドアフィニティに基づいてコードを再コンパイルするためのシステムおよび方法
CN1766842A (zh) 用于管理逻辑分区抢占的系统
WO2013080434A1 (en) Dynamic process/object scoped memory affinity adjuster
Xie et al. Research on scheduling scheme for Hadoop clusters
JP2008186136A (ja) 計算機システム
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
Manner Hardware task/processor scheduling in a polyprocessor environment
US9088569B2 (en) Managing access to a shared resource using client access credentials
US20140237149A1 (en) Sending a next request to a resource before a completion interrupt for a previous request

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: 20061004