Blocking local sense synchronization barrier
First Claim
1. A method comprising:
- synchronizing software threads via a synchronization barrier implemented via a synchronization barrier method; and
providing a variable that is to be changed within the synchronization barrier method, and read to determine when software threads should be released, wherein said variable is a local variable to the synchronization barrier method.
2 Assignments
0 Petitions
Accused Products
Abstract
A blocking local sense synchronization barrier is provided. The local sense variable is not processor private or global, but truly local to the synchronization barrier function. Safe deletion is provided by making sure the last operation a thread performs on a barrier is a write. Just before returning, threads increment a field that indicates the count of threads that have left the barrier. Blocking is supported such that threads spin for some interval, and when they decide to block, examine and set (if not already set) the indication of whether a thread is blocking that is to be examined by the last thread to arrive at the barrier to determine whether to set an event to release blocking threads.
-
Citations
20 Claims
-
1. A method comprising:
-
synchronizing software threads via a synchronization barrier implemented via a synchronization barrier method; and
providing a variable that is to be changed within the synchronization barrier method, and read to determine when software threads should be released, wherein said variable is a local variable to the synchronization barrier method. - View Dependent Claims (2, 3, 4, 11, 12, 13, 14)
-
-
5. A method comprising:
-
synchronizing software threads via a synchronization barrier implemented via a synchronization barrier method; and
ensuring a last operation a thread performs while in the synchronization barrier method is a write to ensure safe deletion of the barrier. - View Dependent Claims (6, 7, 8, 9, 15, 16, 17, 18, 19)
-
-
10. A method comprising:
-
synchronizing software threads via a synchronization barrier implemented via a synchronization barrier method;
providing a variable that is to be changed within the synchronization barrier method, and examined to determine when software threads should be released, wherein said variable is a local variable to the synchronization barrier method;
ensuring the last operation a thread performs while in the synchronization barrier method is a write to ensure safe deletion of the barrier by maintaining a count of variables which have left the synchronization barrier;
using an indication of whether a thread is blocking to determine whether a thread is blocking;
resetting a previous event by a last thread to arrive at the barrier;
determining whether to reset a current event by the last thread to arrive at the barrier by examining the indication of whether a thread is blocking;
releasing spinning threads waiting for the last thread to arrive at the barrier;
setting a current event by the last thread to arrive at the barrier to release threads that are blocking while waiting for the last thread to arrive, if indicated to do so by the examination of the indication of whether a thread is blocking, and wherein the indication of whether a thread is blocking is created only at a time when a thread decides to block. - View Dependent Claims (20)
-
Specification