Class Estimator
- java.lang.Object
-
- edu.isi.pegasus.planner.provisioner.Estimator
-
public class Estimator extends java.lang.Object
This 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 int
BTS()
private void
calculateSlotSize()
private int
DSC()
int
estimate()
Estimate the number of processors and return the value.private long
HEFT(int size)
private int
IterHEFT()
static void
main(java.lang.String[] args)
private void
readDAX()
private void
updateETs()
-
-
-
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.RuntimeException
Estimate 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)
-
-