发明名称 Efficient rollback and retry of conflicted speculative threads using distributed tokens
摘要 A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, modifies a local allocation token of the oldest aborted thread. The modification prompts the oldest aborted thread to retry a work unit associated with its absolute thread number. The oldest aborted thread subsequently initiates the retry of a successor thread by updating the successor thread's local allocation token. A corresponding apparatus and computer program product are also disclosed.
申请公布号 US8990819(B2) 申请公布日期 2015.03.24
申请号 US201213730427 申请日期 2012.12.28
申请人 International Business Machines Corporation 发明人 Ohmacht Martin;Silvera Raul E.;Stoodley Mark G.;Wang Kai-Ting A.
分类号 G06F9/48;G06F9/44 主分类号 G06F9/48
代理机构 Nelson and Nelson 代理人 Nelson and Nelson ;Nelson Daniel P.;Nelson Alexis V.
主权项 1. A computer program product for efficiently rolling back and retrying conflicted speculative threads in symmetric-multiprocessing (SMP) environments, the computer program product comprising a non-transitory computer-readable storage medium having computer-usable program code embodied therein, the computer-usable program code comprising: computer-usable program code to detect an aborted thread at runtime; computer-usable program code to determine whether the aborted thread is an oldest aborted thread; computer-usable program code to, in the event the aborted thread is the oldest aborted thread, set a high-priority request for allocation to an absolute thread number assigned to the oldest aborted thread; computer-usable program code to detect that the high-priority request is set; and computer-usable program code to, in response to detecting that the high-priority request is set, modify a local allocation token of the oldest aborted thread, wherein the modification prompts the oldest aborted thread to retry a work unit associated with its absolute thread number.
地址 Armonk NY US