be.ac.ua.broker.scheduling.workload.wm2
Class RealOptimizer

java.lang.Object
  extended by be.ac.ua.broker.scheduling.workload.wm2.RealOptimizer
All Implemented Interfaces:
Optimizer<WorkloadWM2>

public class RealOptimizer
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

Constructor Summary
RealOptimizer(boolean use_spot_optimalization)
          Constructor for RealOptimizer
 
Method Summary
 void add(WorkloadWM2 wl)
          Add the provided workload to the scheduling optimizer.
 java.util.List<ScheduledTaskCollection> determineOptimal()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RealOptimizer

public RealOptimizer(boolean use_spot_optimalization)
Constructor for RealOptimizer

Parameters:
use_spot_optimalization - whether spot-optimized scheduling is performed.
Method Detail

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.