US2008010640A1PendingUtilityA1
Synchronisation of execution threads on a multi-threaded processor
Est. expiryJul 4, 2026(expired)· nominal 20-yr term from priority
Inventors:Yoong Chert Foo
G06F 9/524G06F 8/458G06F 9/522G06F 9/3009G06F 9/461G06F 9/30087G06F 9/30145G06F 9/3888G06F 9/3851
51
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method and apparatus are provided for synchronising execution of a plurality of threads on a multi-threaded processor. Each thread is provided with a number of synchronisation points and execution of a thread is paused when it reaches a synchronisation point. It then waits for at least one other thread with which it is intended to be synchronised to reach a corresponding synchronisation point before resuming execution. A thread which branches over a section of code which includes a synchronisation point is paused at the end of the branch until at least one other thread reaches the synchronisation point or the end of the branch.
Claims
exact text as granted — not AI-modified1 . A method for synchronising execution of a plurality of threads on a multi-threaded processor, each thread being provided with a number of synchronisation points, the method comprising the steps of pausing execution of a thread when it reaches a synchronisation point, waiting for at least one other thread with which it is intended to be synchronised to reach a corresponding synchronisation point, and subsequently resuming execution, and further including the step of pausing execution of a thread which branches over a section of code which includes a synchronisation point at the end of the branch until the at least one other thread reads the synchronisation point or the end of the branch.
2 . A method according to claim 1 in which a thread which reaches a synchronisation point enters a wait for synchronisation start state.
3 . A method according to claim 2 including the step of repeatedly checking whether the threads with which a paused thread is to be synchronised have also paused.
4 . A method according to claim 3 in which the step of repeatedly checking whether threads have paused comprises checking the status of at least one bit in a status register for each thread.
5 . Apparatus for synchronising execution of a plurality of threads on a multi-threaded processor, each thread being provided with a number of synchronisation points, comprising, means for pausing execution of thread when it reaches a synchronisation point and waiting for at least one other thread with which it is intended to be synchronised to reach the corresponding synchronisation point, means for subsequently resuming execution, and further including means for pausing execution of a thread which branches over a section of code which includes a synchronisation point at the end of the branch until the at least one other thread reaches the synchronisation point or the end of the branch.
6 . Apparatus according to claim 5 in which a thread which reaches a synchronisation point enters a wait for sync start state.
7 . Apparatus according to claim 6 including means for repeatedly checking whether the threads with which a paused thread is to be synchronised have also paused.
8 . Apparatus according to claim 7 in which the means for repeatedly checking whether threads have paused comprises means for checking the status of at least one bit in a status register for each thread.
9 - 10 . (canceled)Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.