|
jbarrier | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.bonn.cs.net.jbarrier.barrier.AbstractBarrier
edu.bonn.cs.net.jbarrier.barrier.DisseminationBarrier
public class DisseminationBarrier
Implementation of a dissemination barrier algorithm. The dissemination barrier was introduced in the following article:
D. Hensgen, R. Finkel, and U. Manber. "Two Algorithms for Barrier Synchronization". In International Journal of Parallel Programming, volume 17, pages 1-17, 1988.
The following two technical reports may server as good a introduction to different barrier synchronization algorithms:
Nested Class Summary | |
---|---|
protected class |
DisseminationBarrier.DisseminationBarrierParty
Stores data required by each party that uses the barrier. |
Field Summary | |
---|---|
protected boolean |
flagOut_
Global out flag (only used if there is a barrier action). |
protected int |
numRounds_
The number of rounds used for the barrier. |
protected DisseminationBarrier.DisseminationBarrierParty[] |
parties_
The barrier information associated to each competitor thread. |
Fields inherited from class edu.bonn.cs.net.jbarrier.barrier.AbstractBarrier |
---|
action_, genericReductor_, numParties_ |
Constructor Summary | |
---|---|
DisseminationBarrier(int numParties)
Constructor (if no action is used). |
|
DisseminationBarrier(int numParties,
java.lang.Runnable barrierAction)
Constructor. |
|
DisseminationBarrier(int numParties,
java.lang.Runnable barrierAction,
GenericReductor genericReductor)
Constructor. |
Method Summary | |
---|---|
void |
await(int threadId)
Called by a party that reaches the barrier. |
protected void |
setUpParties()
Sets up the parties array, intended to be overridden in subclasses. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final int numRounds_
protected DisseminationBarrier.DisseminationBarrierParty[] parties_
protected volatile boolean flagOut_
Constructor Detail |
---|
public DisseminationBarrier(int numParties, java.lang.Runnable barrierAction, GenericReductor genericReductor)
numParties
- the number of parties that must reach the barrier before the
barrier is trippedbarrierAction
- the command to execute when the barrier is tripped, or
null
if there is no actiongenericReductor
- an optional generic reductor
java.lang.IllegalArgumentException
- if numParties
is not a power of twopublic DisseminationBarrier(int numParties, java.lang.Runnable barrierAction)
numParties
- the number of parties that must reach the barrier before the
barrier is trippedbarrierAction
- the command to execute when the barrier is tripped, or
null
if there is no action
java.lang.IllegalArgumentException
- if numParties
is not a power of twopublic DisseminationBarrier(int numParties)
numParties
- the number of parties that must reach the barrier before the
barrier is tripped
java.lang.IllegalArgumentException
- if numParties
is not a power of twoMethod Detail |
---|
protected void setUpParties()
public void await(int threadId)
await
in interface Barrier
await
in class AbstractBarrier
threadId
- the ID of the party
|
jbarrier | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |