be.ac.ua.broker.evaluation
Class BenchmarkOptions

java.lang.Object
  extended by be.ac.ua.broker.evaluation.BenchmarkOptions

public class BenchmarkOptions
extends java.lang.Object

This class is used to represent the different options/constants used during the benchmarking of the broker. Note that these should be extracted to an input XML file.

Author:
Vermeersch Kurt

Field Summary
static boolean BENCH_ALTER
          Whether an alternative benchmark format is being used such that instead of starting for a certain instance specification with a workload containing one task and running the broker for every number of tasks once until the MAX_NUMBER_OF_TASKS is reached by increasing with NUMBER_OF_TASKS_PER_RUN every time, we now run the benchmark MAX_NUMBER_OF_TASKS times for every instance type specification every time using exactly NUMBER_OF_TASKS_PER_RUN tasks.
static java.lang.String BENCHMARKING_REGION
          The geographical region that is being benchmarked.
static java.lang.String FOLDER_WM1
          Location where the tasks of the first workload model are stored.
static java.lang.String FOLDER_WM2
          Location where the tasks of the second workload model are stored.
static java.lang.Integer MAX_NUMBER_OF_TASKS
          For the default benchmark behavior this is the maximum number of tasks a workload contains, for the altered version this is the number of times the broker is run for every instance specification and option combination possible.
static java.lang.Integer NUMBER_OF_TASKS_PER_RUN
          For the default benchmark behavior this is the number of tasks that are added to the workload every time the the broker is run for an instance specification and option combination.
static java.lang.String OUTPUT_FOLDER_WM1
          Location where the output of the broker for workload model one tasks is stored.
static java.lang.String OUTPUT_FOLDER_WM2
          Location where the output of the broker for workload model two tasks is stored.
static java.lang.String PHASE_ALLOCATION
          Allocation brokering phase name tag to use in output files.
static java.lang.String PHASE_INPUT
          Input brokering phase name tag to use in output files.
static java.lang.String PHASE_OUTPUT
          Output brokering phase name tag to use in output files.
static java.lang.String PHASE_SCHEDULING
          Scheduling brokering phase name tag to use in output files.
static java.lang.Double PROBABILITY_LATE_DEADLINE_TASK
          The probability for a randomly generated task to have a deadline that falls within the last week of the scheduling period, this causes the results to possibly use reserved instances since these only become valuable when a certain utilization ratio across the whole scheduling period is reached.
static java.lang.Double PROBABILITY_SPOT_ALLOWED_TASK
          The probability for a randomly generated task to be allowed to run on spot instances.
static java.util.Date startDate
          Start date of the scheduling period used by the broker benchmark, the scheduling period upper boundary is one year further in time.
static java.lang.Boolean USE_GUI
          Whether a graphical representation of the schedule created by every run of the broker has to be shown.
static java.lang.Boolean USE_SYSOUT
          Whether debug output/useful information has to be outputted.
static boolean USE_WLM1
          Whether the benchmark is run using the first workload model.
 
Constructor Summary
BenchmarkOptions()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROBABILITY_SPOT_ALLOWED_TASK

public static java.lang.Double PROBABILITY_SPOT_ALLOWED_TASK
The probability for a randomly generated task to be allowed to run on spot instances.


PROBABILITY_LATE_DEADLINE_TASK

public static java.lang.Double PROBABILITY_LATE_DEADLINE_TASK
The probability for a randomly generated task to have a deadline that falls within the last week of the scheduling period, this causes the results to possibly use reserved instances since these only become valuable when a certain utilization ratio across the whole scheduling period is reached.


USE_GUI

public static java.lang.Boolean USE_GUI
Whether a graphical representation of the schedule created by every run of the broker has to be shown.


USE_SYSOUT

public static java.lang.Boolean USE_SYSOUT
Whether debug output/useful information has to be outputted.


FOLDER_WM1

public static java.lang.String FOLDER_WM1
Location where the tasks of the first workload model are stored.


FOLDER_WM2

public static java.lang.String FOLDER_WM2
Location where the tasks of the second workload model are stored.


startDate

public static java.util.Date startDate
Start date of the scheduling period used by the broker benchmark, the scheduling period upper boundary is one year further in time.


OUTPUT_FOLDER_WM1

public static java.lang.String OUTPUT_FOLDER_WM1
Location where the output of the broker for workload model one tasks is stored.


OUTPUT_FOLDER_WM2

public static java.lang.String OUTPUT_FOLDER_WM2
Location where the output of the broker for workload model two tasks is stored.


PHASE_INPUT

public static java.lang.String PHASE_INPUT
Input brokering phase name tag to use in output files.


PHASE_SCHEDULING

public static java.lang.String PHASE_SCHEDULING
Scheduling brokering phase name tag to use in output files.


PHASE_ALLOCATION

public static java.lang.String PHASE_ALLOCATION
Allocation brokering phase name tag to use in output files.


PHASE_OUTPUT

public static java.lang.String PHASE_OUTPUT
Output brokering phase name tag to use in output files.


USE_WLM1

public static boolean USE_WLM1
Whether the benchmark is run using the first workload model.


BENCH_ALTER

public static boolean BENCH_ALTER
Whether an alternative benchmark format is being used such that instead of starting for a certain instance specification with a workload containing one task and running the broker for every number of tasks once until the MAX_NUMBER_OF_TASKS is reached by increasing with NUMBER_OF_TASKS_PER_RUN every time, we now run the benchmark MAX_NUMBER_OF_TASKS times for every instance type specification every time using exactly NUMBER_OF_TASKS_PER_RUN tasks. So, we're no longer investigating what happens to a workload by adding task by task to the exisiting tasks, instead a random workload of a certain size is generated every run of the broker.


MAX_NUMBER_OF_TASKS

public static java.lang.Integer MAX_NUMBER_OF_TASKS
For the default benchmark behavior this is the maximum number of tasks a workload contains, for the altered version this is the number of times the broker is run for every instance specification and option combination possible.


NUMBER_OF_TASKS_PER_RUN

public static java.lang.Integer NUMBER_OF_TASKS_PER_RUN
For the default benchmark behavior this is the number of tasks that are added to the workload every time the the broker is run for an instance specification and option combination. For the altered version this is the fixed number of tasks the workload consists of during a run of the broker.


BENCHMARKING_REGION

public static java.lang.String BENCHMARKING_REGION
The geographical region that is being benchmarked.

Constructor Detail

BenchmarkOptions

public BenchmarkOptions()