jbarrier

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

java.lang.Object
  extended by edu.bonn.cs.net.jbarrier.barrier.AbstractBarrier
      extended by edu.bonn.cs.net.jbarrier.barrier.DisseminationBarrier
          extended by edu.bonn.cs.net.jbarrier.barrier.FloatDisseminationReduction
All Implemented Interfaces:
Barrier, FloatReduction

public class FloatDisseminationReduction
extends DisseminationBarrier
implements FloatReduction

Implementation of a dissemination barrier algorithm including a float 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.DisseminationBarrier
DisseminationBarrier.DisseminationBarrierParty
 
Field Summary
 
Fields inherited from class edu.bonn.cs.net.jbarrier.barrier.DisseminationBarrier
flagOut_, numRounds_
 
Fields inherited from class edu.bonn.cs.net.jbarrier.barrier.AbstractBarrier
action_, genericReductor_, numParties_
 
Constructor Summary
FloatDisseminationReduction(int numParties, ReductionOperator reductor)
          Constructor.
FloatDisseminationReduction(int numParties, java.lang.Runnable barrierAction, ReductionOperator reductor)
          Constructor.
 
Method Summary
 float await(int threadId, float 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.DisseminationBarrier
await
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FloatDisseminationReduction

public FloatDisseminationReduction(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

FloatDisseminationReduction

public FloatDisseminationReduction(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 DisseminationBarrier

await

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

Specified by:
await in interface FloatReduction
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