be.ac.ua.broker.scheduling.workload.wm2
Class SuperOptimizer
java.lang.Object
be.ac.ua.broker.scheduling.workload.wm2.SuperOptimizer
- All Implemented Interfaces:
- Optimizer<WorkloadWM2>
public class SuperOptimizer
- extends java.lang.Object
- implements Optimizer<WorkloadWM2>
This class is used to perform the optimized/spot-optimized scheduling for
workload model two tasks. The RealOptimizer is used to perform the scheduling
within a bucket. The tasks are evenly distributed across buckets, to make the
algorithm feasible.
- Author:
- Vermeersch Kurt
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SuperOptimizer
public SuperOptimizer(java.util.Date startDate,
InstanceSpecification spec,
boolean use_spot_optimalization)
- Constructor for SuperOptimizer
- Parameters:
startDate
- start time of the scheduling periodspec
- specification of the instance for which a schedule is createduse_spot_optimalization
- whether the spot-optimized scheduling option is set
add
public void add(WorkloadWM2 wl)
- Description copied from interface:
Optimizer
- Add the provided workload to the scheduling optimizer.
- Specified by:
add
in interface Optimizer<WorkloadWM2>
- Parameters:
wl
- the workload to add.
determineOptimal
public java.util.List<ScheduledTaskCollection> determineOptimal()
- Specified by:
determineOptimal
in interface Optimizer<WorkloadWM2>
- Returns:
- a list of scheduledTaskCollections, one of these represents the
schedule containing subTasks for a single instance. This
schedules are made in a way that tries to minimize the total cost
of running the workload on EC2.
getIntervalLength
public int getIntervalLength()
- Returns:
- the length of a single interval/bucket in hours