-
Notifications
You must be signed in to change notification settings - Fork 1
Simulator of a bunch of scheduling algorithms for Workflow Ensembles on IaaS Cloud written with SimGrid
License
frs69wq/EnsembleSched
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published