Class Estimator
- java.lang.Object
-
- edu.isi.pegasus.planner.provisioner.Estimator
-
public class Estimator extends java.lang.ObjectThis Estimator is used to find the near-optimal number of processors required to complete workflow within a given RFT(requested finish time). This estimator read workflow from a DAX file and user can select one estimation method among BTS, DSC, and IterHEFT. User also need to provide RFT and the precision of the predictied execution time.- Author:
- Eunkyu Byun
-
-
Constructor Summary
Constructors Constructor Description Estimator(java.lang.String fileName, java.lang.String methodID, long RFT, int prec)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private intBTS()private voidcalculateSlotSize()private intDSC()intestimate()Estimate the number of processors and return the value.private longHEFT(int size)private intIterHEFT()static voidmain(java.lang.String[] args)private voidreadDAX()private voidupdateETs()
-
-
-
Field Detail
-
fileName
private java.lang.String fileName
-
method
private java.lang.String method
-
RFT
private long RFT
-
prec
private int prec
-
topNode
private Node topNode
-
bottomNode
private Node bottomNode
-
edges
private java.util.HashSet edges
-
nodes
private java.util.HashMap nodes
-
totalET
private long totalET
-
-
Constructor Detail
-
Estimator
public Estimator(java.lang.String fileName, java.lang.String methodID, long RFT, int prec)Constructor- Parameters:
fileName- DAX file describing the workflowmethodID- One of those; BTS, DSC, IterHEFTRFT- requested finish time. i.e., deadlineprec- The precision of the predicted execution time
-
-
Method Detail
-
readDAX
private void readDAX() throws java.lang.Exception- Throws:
java.lang.Exception
-
calculateSlotSize
private void calculateSlotSize()
-
updateETs
private void updateETs()
-
BTS
private int BTS()
-
DSC
private int DSC()
-
IterHEFT
private int IterHEFT()
-
HEFT
private long HEFT(int size)
-
estimate
public int estimate() throws java.lang.RuntimeExceptionEstimate the number of processors and return the value.- Returns:
- Estimated number of processors
- Throws:
java.lang.RuntimeException
-
main
public static void main(java.lang.String[] args)
-
-