-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
73 lines (63 loc) · 3.6 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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