Scheduling threads in a multiprocessor computer
    1.
    发明授权
    Scheduling threads in a multiprocessor computer 失效
    在多处理器计算机中调度线程

    公开(公告)号:US08230430B2

    公开(公告)日:2012-07-24

    申请号:US12059461

    申请日:2008-03-31

    IPC分类号: G06F9/46 G06F13/24

    CPC分类号: G06F9/5027 G06F9/4812

    摘要: Methods, systems, and computer program products are provided for scheduling threads in a multiprocessor computer. Embodiments include selecting a thread in a ready queue to be dispatched to a processor and determining whether an interrupt mask flag is set in a thread control block associated with the thread. If the interrupt mask flag is set in the thread control block associated with the thread, embodiments typically include selecting a processor, setting a current processor priority register of the selected processor to least favored, and dispatching the thread from the ready queue to the selected processor. In some embodiments, setting the current processor priority register of the selected processor to least favored is carried out by storing a value associated with the highest interrupt priority in the current processor priority register.

    摘要翻译: 提供方法,系统和计算机程序产品用于在多处理器计算机中调度线程。 实施例包括选择要发送到处理器的准备队列中的线程,并且确定是否在与线程相关联的线程控制块中设置了中断屏蔽标志。 如果在与线程相关联的线程控制块中设置中断屏蔽标志,则实施例通常包括选择处理器,将所选择的处理器的当前处理器优先级寄存器设置为最不利,并将线程从就绪队列调度到所选择的处理器 。 在一些实施例中,将所选择的处理器的当前处理器优先级寄存器设置为最不利的是通过在当前处理器优先级寄存器中存储与最高中断优先级相关联的值来执行。

    Managing migration of a prefetch stream from one processor core to another processor core
    3.
    发明授权
    Managing migration of a prefetch stream from one processor core to another processor core 有权
    管理从一个处理器核心到另一个处理器核心的预取流的迁移

    公开(公告)号:US08688960B2

    公开(公告)日:2014-04-01

    申请号:US12905176

    申请日:2010-10-15

    IPC分类号: G06F9/30

    摘要: A method, system and computer-usable medium are disclosed for managing prefetch streams in a virtual machine environment. Compiled application code in a first core, which comprises a Special Purpose Register (SPR) and a plurality of first prefetch engines, initiates a prefetch stream request. If the prefetch stream request cannot be initiated due to unavailability of a first prefetch engine, then an indicator bit indicating a Prefetch Stream Dispatch Fault is set in the SPR, causing a Hypervisor to interrupt the execution of the prefetch stream request. The Hypervisor then calls its associated operating system (OS), which determines prefetch engine availability for a second core comprising a plurality of second prefetch engines. If a second prefetch engine is available, then the OS migrates the prefetch stream request from the first core to the second core, where it is initiated on an available second prefetch engine.

    摘要翻译: 公开了用于管理虚拟机环境中的预取流的方法,系统和计算机可用介质。 包括专用寄存器(SPR)和多个第一预取引擎的第一核心中的编译应用代码启动预取流请求。 如果由于第一预取引擎不可用而不能启动预取流请求,则在SPR中设置指示预取流调度故障的指示符位,导致管理程序中断预取流请求的执行。 管理程序然后调用其关联的操作系统(OS),其确定包括多个第二预取引擎的第二核的预取引擎可用性。 如果第二预取引擎可用,则OS将预取流请求从第一核心迁移到第二核心,其中它在可用的第二预取引擎上启动。

    Application Performance with Support for Re-Initiating Unconfirmed Software-Initiated Threads in Hardware
    4.
    发明申请
    Application Performance with Support for Re-Initiating Unconfirmed Software-Initiated Threads in Hardware 失效
    支持应用程序性能,支持在硬件中重新启动未经确认的软件启动的线程

    公开(公告)号:US20120180052A1

    公开(公告)日:2012-07-12

    申请号:US13427045

    申请日:2012-03-22

    IPC分类号: G06F9/455

    摘要: A method, system and computer-usable medium are disclosed for managing prefetch streams in a virtual machine environment. Compiled application code in a first core, which comprises a Special Purpose Register (SPR) and a plurality of first prefetch engines, initiates a prefetch stream request. If the prefetch stream request cannot be initiated due to unavailability of a first prefetch engine, then an indicator bit indicating a Prefetch Stream Dispatch Fault is set in the SPR, causing a Hypervisor to interrupt the execution of the prefetch stream request. The Hypervisor then calls its associated operating system (OS), which determines prefetch engine availability for a second core comprising a plurality of second prefetch engines. If a second prefetch engine is available, then the OS migrates the prefetch stream request from the first core to the second core, where it is initiated on an available second prefetch engine.

    摘要翻译: 公开了用于管理虚拟机环境中的预取流的方法,系统和计算机可用介质。 包括专用寄存器(SPR)和多个第一预取引擎的第一核心中的编译应用代码启动预取流请求。 如果由于第一预取引擎不可用而不能启动预取流请求,则在SPR中设置指示预取流调度故障的指示符位,导致管理程序中断预取流请求的执行。 管理程序然后调用其关联的操作系统(OS),其确定包括多个第二预取引擎的第二核心的预取引擎可用性。 如果第二预取引擎可用,则OS将预取流请求从第一核心迁移到第二核心,其中它在可用的第二预取引擎上启动。

    Optimized Preemption and Reservation of Software Locks
    5.
    发明申请
    Optimized Preemption and Reservation of Software Locks 失效
    优化抢占和预订软件锁

    公开(公告)号:US20080163217A1

    公开(公告)日:2008-07-03

    申请号:US12049304

    申请日:2008-03-15

    IPC分类号: G06F9/46

    CPC分类号: G06F9/526 G06F2209/522

    摘要: An approach is provided that reserves a software lock for a waiting thread is presented. When a software lock is released by a first thread, a second thread that is waiting for the same resource controlled by the software lock is woken up. In addition, a reservation to the software lock is established for the second thread. After the reservation is established, if the lock is available and requested by a thread other than the second thread, the requesting thread is denied, added to the wait queue, and put to sleep. In addition, the reservation is cleared. After the reservation has been cleared, the lock will be granted to the next thread to request the lock.

    摘要翻译: 提供了一种保留用于等待线程的软件锁的方法。 当软件锁由第一个线程释放时,等待软件锁定的相同资源的第二个线程被唤醒。 另外,针对第二线程建立对软件锁定的预约。 在建立预留之后,如果第二线程之外的线程可用并请求该锁,则请求线程被拒绝,被添加到等待队列中并进入休眠状态。 此外,预订已被清除。 预订清除后,锁将被授予下一个线程以请求锁定。

    Optimized preemption and reservation of software locks for woken threads
    6.
    发明授权
    Optimized preemption and reservation of software locks for woken threads 失效
    优化抢占线程的软件锁的抢占和预留

    公开(公告)号:US08261279B2

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

    申请号:US12049304

    申请日:2008-03-15

    IPC分类号: G06F9/46

    CPC分类号: G06F9/526 G06F2209/522

    摘要: An approach is provided that reserves a software lock for a waiting thread is presented. When a software lock is released by a first thread, a second thread that is waiting for the same resource controlled by the software lock is woken up. In addition, a reservation to the software lock is established for the second thread. After the reservation is established, if the lock is available and requested by a thread other than the second thread, the requesting thread is denied, added to the wait queue, and put to sleep. In addition, the reservation is cleared. After the reservation has been cleared, the lock will be granted to the next thread to request the lock.

    摘要翻译: 提供了一种保留用于等待线程的软件锁的方法。 当软件锁由第一个线程释放时,等待软件锁定的相同资源的第二个线程被唤醒。 另外,针对第二线程建立对软件锁定的预约。 在建立预留之后,如果第二线程之外的线程可用并请求该锁,则请求线程被拒绝,被添加到等待队列中并进入休眠状态。 此外,预订已被清除。 预订清除后,锁将被授予下一个线程以请求锁定。

    Scheduling Threads In A Multiprocessor Computer
    8.
    发明申请
    Scheduling Threads In A Multiprocessor Computer 失效
    在多处理器计算机中调度线程

    公开(公告)号:US20090106762A1

    公开(公告)日:2009-04-23

    申请号:US12342352

    申请日:2008-12-23

    IPC分类号: G06F9/46

    CPC分类号: G06F9/5027 G06F9/4812

    摘要: Methods, systems, and computer program products are provided for scheduling threads in a multiprocessor computer. Embodiments include selecting a thread in a ready queue to be dispatched to a processor and determining whether an interrupt mask flag is set in a thread control block associated with the thread. If the interrupt mask flag is set in the thread control block associated with the thread, embodiments typically include selecting a processor, setting a current processor priority register of the selected processor to least favored, and dispatching the thread from the ready queue to the selected processor. In some embodiments, setting the current processor priority register of the selected processor to least favored is carried out by storing a value associated with the highest interrupt priority in the current processor priority register.

    摘要翻译: 提供方法,系统和计算机程序产品用于在多处理器计算机中调度线程。 实施例包括选择要发送到处理器的准备队列中的线程,并且确定是否在与线程相关联的线程控制块中设置了中断屏蔽标志。 如果在与线程相关联的线程控制块中设置中断屏蔽标志,则实施例通常包括选择处理器,将所选择的处理器的当前处理器优先级寄存器设置为最不利,并将线程从就绪队列调度到所选择的处理器 。 在一些实施例中,将所选择的处理器的当前处理器优先级寄存器设置为最不利的是通过在当前处理器优先级寄存器中存储与最高中断优先级相关联的值来执行。

    System and method for optimized preemption and reservation of software locks
    9.
    发明申请
    System and method for optimized preemption and reservation of software locks 审中-公开
    用于优化软件锁抢占和预约的系统和方法

    公开(公告)号:US20070136725A1

    公开(公告)日:2007-06-14

    申请号:US11301104

    申请日:2005-12-12

    IPC分类号: G06F9/46

    CPC分类号: G06F9/526 G06F2209/522

    摘要: A system and method is provided that reserves a software lock for a waiting thread is presented. When a software lock is released by a first thread, a second thread that is waiting for the same resource controlled by the software lock is woken up. In addition, a reservation to the software lock is established for the second thread. After the reservation is established, if the lock is available and requested by a thread other than the second thread, the requesting thread is denied, added to the wait queue, and put to sleep. In addition, the reservation is cleared. After the reservation has been cleared, the lock will be granted to the next thread to request the lock.

    摘要翻译: 提供了一种保留用于等待线程的软件锁的系统和方法。 当软件锁由第一个线程释放时,等待软件锁定的相同资源的第二个线程被唤醒。 另外,针对第二线程建立对软件锁定的预约。 在建立预留之后,如果第二线程之外的线程可用并请求该锁,则请求线程被拒绝,被添加到等待队列中并进入休眠状态。 此外,预订已被清除。 预订清除后,锁将被授予下一个线程以请求锁定。