Method and system for managing lock contention in a computer system
    11.
    发明授权
    Method and system for managing lock contention in a computer system 有权
    在计算机系统中管理锁争用的方法和系统

    公开(公告)号:US06845504B2

    公开(公告)日:2005-01-18

    申请号:US09779369

    申请日:2001-02-08

    IPC分类号: G06F7/00 G06F9/46 G06F12/00

    CPC分类号: G06F9/526

    摘要: A system and method for efficiently managing lock contention for a central processing unit (CPU) of a computer system. The present invention uses both spinning and blocking (or undispatching) to manage threads when they are waiting to acquire a lock. In addition, the present invention intelligently determines when the program thread should spin and when the program thread should become undispatched. If it is determined that the program thread should become undispatched, the present invention provides efficient undispatching of program threads that improves throughput by reducing wait time to acquire the lock. A lock contention management system includes a dispatcher for managing the execution of threads on CPUs as well as threads that are currently ready to run but not executing because they are waiting for an available CPU, a dispatch management module that determines when a program thread should become undispatched to wait on a lock and when the program thread should spin, and low-priority execution module for undispatching the program thread. The present invention also includes a lock contention management method using the above system.

    摘要翻译: 一种用于有效地管理计算机系统的中央处理单元(CPU)的锁争用的系统和方法。 本发明使用旋转和阻塞(或未分配)来管理线程在等待获取锁定时。 此外,本发明智能地确定程序线程何时旋转以及程序线程何时变为未分配。 如果确定程序线程应该不分配,则本发明提供了通过减少获取锁定的等待时间来提高吞吐量的程序线程的有效的未分配。 锁争用管理系统包括调度器,用于管理CPU上的线程的执行以及当前准备运行但未执行的线程,因为它们正在等待可用的CPU,调度管理模块确定程序线程何时应该成为 未分配等待锁和程序线程应该旋转,而低优先级的执行模块用于对程序线程进行分配。 本发明还包括使用上述系统的锁争用管理方法。

    LOCK BASED MOVING OF THREADS IN A SHARED PROCESSOR PARTITIONING ENVIRONMENT
    15.
    发明申请
    LOCK BASED MOVING OF THREADS IN A SHARED PROCESSOR PARTITIONING ENVIRONMENT 审中-公开
    在共享处理器分割环境中基于锁定的螺纹移动

    公开(公告)号:US20120278809A1

    公开(公告)日:2012-11-01

    申请号:US13544958

    申请日:2012-07-09

    IPC分类号: G06F9/46

    摘要: The present invention provides a computer implemented method and apparatus to assign software threads to a common virtual processor of a data processing system having multiple virtual processors. A data processing system detects cooperation between a first thread and a second thread with respect to a lock associated with a resource of the data processing system. Responsive to detecting cooperation, the data processing system assigns the first thread to the common virtual processor. The data processing system moves the second thread to the common virtual processor, whereby a sleep time associated with the lock experienced by the first thread and the second thread is reduced below a sleep time experienced prior to the detecting cooperation step.

    摘要翻译: 本发明提供了一种计算机实现的方法和装置,用于将软件线程分配给具有多个虚拟处理器的数据处理系统的公共虚拟处理器。 数据处理系统相对于与数据处理系统的资源相关联的锁检测第一线程和第二线程之间的协作。 响应于检测合作,数据处理系统将第一线程分配给公共虚拟处理器。 所述数据处理系统将所述第二线程移动到所述公共虚拟处理器,由此与所述第一线程和所述第二线程所经历的锁相关联的休眠时间减少到在所述检测合作步骤之前经历的睡眠时间以下。

    Processor Management Via Thread Status
    16.
    发明申请
    Processor Management Via Thread Status 有权
    处理器管理通过线程状态

    公开(公告)号:US20120246652A1

    公开(公告)日:2012-09-27

    申请号:US13069338

    申请日:2011-03-22

    IPC分类号: G06F9/48

    摘要: Various systems, processes, and products may be used to manage a processor. In particular implementations, managing a processor may include the ability to determine whether a thread is pausing for a short period of time and place a wait event for the thread in a queue based on a short thread pause occurring. Managing a processor may also include the ability to activate a delay thread that determines whether a wait time associated with the pause has expired and remove the wait event from the queue based on the wait time having expired.

    摘要翻译: 可以使用各种系统,过程和产品来管理处理器。 在特定实现中,管理处理器可以包括确定线程是否在短时间段内暂停并且基于发生的短线程暂停将线程的等待事件置于队列中的能力。 管理处理器还可以包括激活延迟线程的能力,该延迟线程确定与暂停相关联的等待时间是否已经到期,并且基于等待时间已经到期从队列中移除等待事件。

    Method and apparatus for virtual processor dispatching to a partition based on shared memory pages
    17.
    发明授权
    Method and apparatus for virtual processor dispatching to a partition based on shared memory pages 失效
    基于共享存储器页面的虚拟处理器分配到分区的方法和装置

    公开(公告)号:US08271989B2

    公开(公告)日:2012-09-18

    申请号:US12027525

    申请日:2008-02-07

    IPC分类号: G06F9/455 G06F9/46

    摘要: The present invention provides a computer implemented method, data processing system, and computer program product for mapping and dispatching virtual processors in a data processing system having at least a first partition and a second partition. The data processing system runs a first partition on a virtual processor during a first timeslice. The data processing system identifies an at least one physical page used by the first partition and the second partition. The data processing system maps the at least one physical page to the first partition and the second partition. The data processing system determines a fitness value based on the mapping. The data processing system dispatches the Virtual processor to the second partition on a second timeslice based on the fitness value, wherein the second timeslice immediately succeeds after the first timeslice, whereby the at least one physical page remains in cache during at least the first timeslice and the second timeslice.

    摘要翻译: 本发明提供了一种用于在具有至少第一分区和第二分区的数据处理系统中映射和分派虚拟处理器的计算机实现方法,数据处理系统和计算机程序产品。 数据处理系统在第一时间片段期间在虚拟处理器上运行第一分区。 数据处理系统识别由第一分区和第二分区使用的至少一个物理页面。 数据处理系统将至少一个物理页面映射到第一分区和第二分区。 数据处理系统基于映射确定适应度值。 所述数据处理系统基于所述适合度值将所述虚拟处理器分配到所述第二分区,其中所述第二时间片在所述第一时间片之后立即成功,由此所述至少一个物理页在至少所述第一时间片内保持在高速缓存中,以及 第二个时间片

    Heuristic based affinity dispatching for shared processor partition dispatching
    18.
    发明授权
    Heuristic based affinity dispatching for shared processor partition dispatching 有权
    用于共享处理器分区调度的基于启发式的亲和性调度

    公开(公告)号:US08108866B2

    公开(公告)日:2012-01-31

    申请号:US12130090

    申请日:2008-05-30

    摘要: A mechanism is provided for determining whether to use cache affinity as a criterion for software thread dispatching in a shared processor logical partitioning data processing system. The server firmware may store data about when and/or how often logical processors are dispatched. Given these data, the operating system may collect metrics. Using the logical processor metrics, the operating system may determine whether cache affinity is likely to provide a significant performance benefit relative to the cost of dispatching a particular logical processor to the operating system.

    摘要翻译: 提供了一种用于确定是否使用高速缓存亲和力作为在共享处理器逻辑分区数据处理系统中的软件线程调度的标准的机制。 服务器固件可以存储关于何时和/或多少逻辑处理器被调度的数据。 鉴于这些数据,操作系统可能会收集指标。 使用逻辑处理器度量,操作系统可以确定高速缓存关联性是否可能相对于将特定逻辑处理器调度到操作系统的成本提供显着的性能优点。

    OPPORTUNISTIC USE OF LOCK MECHANISM TO REDUCE WAITING TIME OF THREADS TO ACCESS A SHARED RESOURCE
    19.
    发明申请
    OPPORTUNISTIC USE OF LOCK MECHANISM TO REDUCE WAITING TIME OF THREADS TO ACCESS A SHARED RESOURCE 失效
    锁定机制的机会性使用,以减少等待时间来获取共享资源

    公开(公告)号:US20110161539A1

    公开(公告)日:2011-06-30

    申请号:US12651294

    申请日:2009-12-31

    IPC分类号: G06F12/00 G06F9/46

    CPC分类号: G06F9/526

    摘要: Embodiments of the invention provide a method, apparatus and computer program product for enabling a thread to acquire a lock associated with a shared resource, when a locking mechanism is used therewith, wherein each embodiment reduces waiting time and enhances efficiency in using the shared resource. One embodiment is associated with a plurality of processors, which includes two or more processors that each provides a specified thread to access a shared resource. The shared resource can only be accessed by one thread at a given time, a locking mechanism enables a first one of the specified threads to access the shared resource while each of the other specified threads is retained in a waiting queue, and a second one of the specified threads occupies a position of highest priority in the queue. The method includes the step of identifying a time period between a time when the first specified thread releases access to the shared resource, and a later time when the second specified thread becomes enabled to access the shared resource. Responsive to an additional thread that is not one of the specified threads being provided by a processor to access the shared resource during the identified time period, it is determined whether a first prespecified criterion pertaining to the specified threads retained in the queue has been met. Responsive to the first criterion being met, the method determines whether a second prespecified criterion has been met, wherein the second criterion is that the number of specified threads in the queue has not decreased since a specified prior time. Responsive to the second criterion being met, the method then decides whether to enable the additional thread to access the shared resource before the second specified thread accesses the resource.

    摘要翻译: 本发明的实施例提供一种方法,装置和计算机程序产品,用于当使用锁定机构时使线程能够获取与共享资源相关联的锁,其中每个实施例减少等待时间并提高使用共享资源的效率。 一个实施例与多个处理器相关联,处理器包括两个或多个处理器,每个处理器提供指定的线程以访问共享资源。 共享资源只能在给定时间由一个线程访问,锁定机制使得指定线程中的第一个访问共享资源,而每个其他指定的线程保留在等待队列中,第二个 指定的线程占据队列中最高优先级的位置。 该方法包括识别在第一指定线程释放对共享资源的访问的时间之间的时间段以及第二指定线程变得能够访问共享资源的稍后时间的步骤。 响应于在识别的时间段期间处理器不提供访问共享资源的指定线程中的一个的附加线程,确定是否已经满足与保留在队列中的指定线程有关的第一预先指定的准则。 响应于满足的第一标准,该方法确定是否已经满足第二预定标准,其中第二标准是指定的先前时间之后队列中的指定线程的数量没有减少。 响应于满足的第二准则,该方法然后决定在第二指定线程访问资源之前是否允许附加线程访问共享资源。

    Determining placement fitness for partitions under a hypervisor
    20.
    发明授权
    Determining placement fitness for partitions under a hypervisor 有权
    确定管理程序下分区的放置适合度

    公开(公告)号:US09104453B2

    公开(公告)日:2015-08-11

    申请号:US13529790

    申请日:2012-06-21

    IPC分类号: G06F9/455 G06F9/50

    摘要: A technique for determining placement fitness for partitions under a hypervisor in a host computing system having non-uniform memory access (NUMA) nodes. In an embodiment, a partition resource specification is received from a partition score requester. The partition resource specification identifies a set of computing resources needed for a virtual machine partition to be created by a hypervisor in the host computing system. Resource availability within the NUMA nodes of the host computing system is assessed to determine possible partition placement options. A partition fitness score of a most suitable one of the partition placement options is calculated. The partition fitness score is reported to the partition score requester.

    摘要翻译: 一种用于确定具有非均匀存储器访问(NUMA)节点的主计算系统中的管理程序下的分区的放置适合度的技术。 在一个实施例中,从分区评分请求者接收分区资源规范。 分区资源规范识别由主机计算系统中的管理程序创建的虚拟机分区所需的一组计算资源。 评估主计算系统的NUMA节点内的资源可用性,以确定可能的分区放置选项。 计算最合适的一个分区放置选项的分区适合度分数。 分区适应度分数被报告给分区评分请求者。