jbarrier

edu.bonn.cs.net.jbarrier.barrier
Class DoubleStaticTreeReduction

java.lang.Object
  extended by edu.bonn.cs.net.jbarrier.barrier.AbstractBarrier
      extended by edu.bonn.cs.net.jbarrier.barrier.StaticTreeBarrier
          extended by edu.bonn.cs.net.jbarrier.barrier.DoubleStaticTreeReduction
All Implemented Interfaces:
Barrier, DoubleReduction

public class DoubleStaticTreeReduction
extends StaticTreeBarrier
implements DoubleReduction

Implementation of a static tree barrier algorithm including a double reduction.

Version:
1.0
Author:
Patrick Peschlow, Ivan Castilla Rodriguez

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.bonn.cs.net.jbarrier.barrier.StaticTreeBarrier
StaticTreeBarrier.StaticTreeBarrierParty
 
Field Summary
 
Fields inherited from class edu.bonn.cs.net.jbarrier.barrier.StaticTreeBarrier
flagOut_, flags_
 
Fields inherited from class edu.bonn.cs.net.jbarrier.barrier.AbstractBarrier
action_, genericReductor_, numParties_
 
Constructor Summary
DoubleStaticTreeReduction(int numParties, ReductionOperator reductor)
          Constructor.
DoubleStaticTreeReduction(int numParties, java.lang.Runnable barrierAction, ReductionOperator reductor)
          Constructor.
 
Method Summary
 double await(int threadId, double value)
          Called by a party that reaches the barrier.
protected  void setUpParties()
          Sets up the parties array required for this reduction subclass.
 
Methods inherited from class edu.bonn.cs.net.jbarrier.barrier.StaticTreeBarrier
await
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DoubleStaticTreeReduction

public DoubleStaticTreeReduction(int numParties,
                                 java.lang.Runnable barrierAction,
                                 ReductionOperator reductor)
Constructor.

Parameters:
numParties - the number of parties that must reach the barrier before the barrier is tripped
barrierAction - the command to execute when the barrier is tripped, or null if there is no action
reductor - the reduction operator to use
Throws:
java.lang.IllegalArgumentException - if numParties is not a power of two

DoubleStaticTreeReduction

public DoubleStaticTreeReduction(int numParties,
                                 ReductionOperator reductor)
Constructor.

Parameters:
numParties - the number of parties that must reach the barrier before the barrier is tripped
reductor - the reduction operator to use
Throws:
java.lang.IllegalArgumentException - if numParties is not a power of two
Method Detail

setUpParties

protected void setUpParties()
Sets up the parties array required for this reduction subclass.

Overrides:
setUpParties in class StaticTreeBarrier

await

public double await(int threadId,
                    double value)
Called by a party that reaches the barrier.

Specified by:
await in interface DoubleReduction
Parameters:
threadId - the ID of the party
value - the value subject to the reduction
Returns:
the result of the reduction

jbarrier

Copyright 2010 Patrick Peschlow