Skip to content

frs69wq/EnsembleSched

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is a SimGrid-based simulator of various scheduling algorithms for workflow ensembles 
on a cloud platform.

This program is free software; you can redistribute it and/or modify it under the terms of the 
license (GNU LGPL) which comes with this package.


Requires SimGrid (git release):
* http://simgrid.org/download.php
* git clone git://scm.gforge.inria.fr/simgrid/simgrid.git
* 101 tutorial on the used SimDAG API:
  * http://simgrid.gforge.inria.fr/tutorials/101/simdag-101.pdf

The command line accepts many parameters:
* --alg <algorithm name>: the scheduling algorithm (currently only DPDS)
* --priority <random|sorted>: method to assign priority to workflows (default value: random)
* --period <double>: time in seconds between two dynamic provisioning of resources 
        (default value: 90.)
* --uh <double>: upper utilization threshold in percents (default value: 90)
* --ul <double>: lower utilization threshold in percents (default value: 70)
* --platform <platform file>: the description of the cloud in the simgrid format
* --price <double>: hourly cost of a single VM in $/h (default value: 1) 
* --provisioning_delay <double>: time in seconds before a started VM actually becomes 
        available (default value: 0.)
* --dax <file>: description of a workflow in the Pegasus format (DAX).
        Multiple --dax flags can be used
* --budget <double>: budget in $ (or any other currency)
* --deadline <double>: deadline before which a maximum of workflows have to complete 
        expressed in seconds
* --silent: no information are displayed on the standard output
* --dump <filename>: produce a file with many information on the simulation run

Typical command line:
./EnsembleSched --alg DPDS --platform cluster.xml \
--dax daxfiles/Montage_50.xml --dax daxfiles/CyberShake_30.xml \
--budget 100 --deadline 10000

Corresponding output:
[    0.000] [EnsembleSched/   INFO] Algorithm: DPDS
[    0.000] [EnsembleSched/   INFO]   Priority method: RANDOM
[    0.000] [EnsembleSched/   INFO]   Dynamic provisioning period: 3600s
[    0.000] [EnsembleSched/   INFO]   Lower utilization threshold: 70.00%
[    0.000] [EnsembleSched/   INFO]   Upper utilization threshold: 90.00%
[    0.000] [EnsembleSched/   INFO] Platform: cluster.xml (1000 potential VMs)
[    0.000] [EnsembleSched/   INFO]   VM hourly cost: $1.000000
[    0.000] [EnsembleSched/   INFO]   VM provisioning delay: 0s
[    0.000] [EnsembleSched/   INFO] Ensemble: 2 DAXes
[    0.000] [EnsembleSched/   INFO]   daxfiles/Montage_50.xml
[    0.000] [EnsembleSched/   INFO]     Priority: 1
[    0.000] [EnsembleSched/   INFO]   daxfiles/CyberShake_30.xml
[    0.000] [EnsembleSched/   INFO]     Priority: 0
[    0.000] [EnsembleSched/   INFO] Scheduling constraints:
[    0.000] [EnsembleSched/   INFO]   Budget: $100
[    0.000] [EnsembleSched/   INFO]   Deadline: 10000s

[   57.758] [         dpds/   INFO] daxfiles/Montage_50.xml: Complete!
[  888.796] [         dpds/   INFO] daxfiles/CyberShake_30.xml: Complete!

[  888.796] [EnsembleSched/   INFO] Makespan: 888.796 seconds.
[  888.796] [EnsembleSched/   INFO] Success rate: 2/2
[  888.796] [EnsembleSched/   INFO] Total cost: $36.00
[  888.796] [EnsembleSched/   INFO] Score: 1.500000
[  888.796] [EnsembleSched/   INFO] Cost/Budget: 0.360000
[  888.796] [EnsembleSched/   INFO] Makespan/Deadline: 0.088880

To obtain more verbose outputs add to the command line:
* Full logging
  --log=EnsembleSched.thres:verbose or --log=EnsembleSched.thres:debug
* Logging for an algorithm 
   --log=dpds.thres:verbose or --log=dpds.thres:debug
* Logging for functions related to a specific element (task, workstations, ...)
   --log=task.thres:debug

About

Simulator of a bunch of scheduling algorithms for Workflow Ensembles on IaaS Cloud written with SimGrid

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published