nenok.lc.alloc
Class Multiway

java.lang.Object
  extended by nenok.lc.alloc.Multiway
All Implemented Interfaces:
Allocator

public class Multiway
extends Object
implements Allocator

This class performs processor allocation to join tree node by use of the minimization algorithm for multiway cuts on trees. Basically, it is a static allocation model which means that processor allocation is fully performed before collect is started.

Version:
1.1
Author:
Marc Pouly

Constructor Summary
Multiway(Set<Processor> procs, Predictor pred, Node root)
          Constructor:
 
Method Summary
 void allocate(Node node)
          Dynamic allocation procedure.
 String getName()
           
 int totalCosts()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Multiway

public Multiway(Set<Processor> procs,
                Predictor pred,
                Node root)
         throws RemoteException
Constructor:

Parameters:
procs - The allocatable processors.
pred - The weight predictor for the communication costs.
root - The root node of the jointree.
Throws:
RemoteException - Exception caused by accessing the processors that are assigned.
Method Detail

allocate

public void allocate(Node node)
              throws RemoteException
Description copied from interface: Allocator
Dynamic allocation procedure. Allocates a processor to the node given as argument. This method is called from the collect algorithm for each node strictly before any computations are executed onto this node. Note: Static allocation is not possible with this method. To do so, we recomment to implement a corresponding constructor and to provide an empty implementation of this method.

Specified by:
allocate in interface Allocator
Parameters:
node - The current node to which a processor needs to be allocated.
Throws:
RemoteException - Communication exception caused by accessing processors.
See Also:
Allocator.allocate(nenok.lc.Node)

getName

public String getName()
Specified by:
getName in interface Allocator
Returns:
The name of this processor allocation model.
See Also:
Allocator.getName()

totalCosts

public int totalCosts()
Specified by:
totalCosts in interface Allocator
Returns:
Returns the total communication costs caused so far.
See Also:
Allocator.totalCosts()