发明名称 Lock spin wait operation for multi-threaded applications in a multi-core computing environment
摘要 A method, system and computer-usable medium are disclosed for a lock-spin-wait operation for managing multi-threaded applications in a multi-core computing environment. A target processor core, referred to as a “spin-wait core” (SWC), is assigned (or reserved) for primarily running spin-waiting threads. Threads operating in the multi-core computing environment that are identified as spin-waiting are then moved to a run queue associated with the SWC to acquire a lock. The spin-waiting threads are then allocated a lock response time that is less than the default lock response time of the operating system (OS) associated with the SWC. If a spin-waiting fails to acquire a lock within the allocated lock response time, the SWC is relinquished, ceding its availability for other spin-waiting threads in the run queue to acquire a lock. Once a spin-waiting thread acquires a lock, it is migrated to its original, or an available, processor core.
申请公布号 US9378069(B2) 申请公布日期 2016.06.28
申请号 US201414197581 申请日期 2014.03.05
申请人 International Business Machines Corporation 发明人 Chiang Men-Chow;Vu Ken V.
分类号 G06F9/46;G06F9/52 主分类号 G06F9/46
代理机构 Terrile, Cannatti, Chambers & Holland, LLP 代理人 Terrile, Cannatti, Chambers & Holland, LLP ;Terrile Stephen A.
主权项 1. A computer-implemented method for managing multi-threaded applications in a multi-core computing system, comprising: monitoring a plurality of threads to determine whether any of the plurality of threads is a spin-waiting thread; assigning a first processor core to manage spin waits in a multi-core system; detecting a failure of a thread to acquire a lock on a second processor core, the failure to acquire a lock indicating that the thread is a first spin-waiting thread; transferring the first spin-waiting thread to the first processor core to acquire a lock; and allocating a lock response time for the first spin-waiting thread to acquire a lock from the first processor.
地址 Armonk NY US