-
Notifications
You must be signed in to change notification settings - Fork 0
scheduling algorithms used for dynamic fractional resource scheduling simulations
License
marklee77/flexsched
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Contact: Mark Stillwell <m.stillwell@cranfield.ac.uk> Portions of this software were also developed by Henri Casanova <henric@hawaii.edu>. =========================================================================== REQUIREMENTS: GLPK should be installed. =========================================================================== COMPILE: From the directory you checked out of git or unpacked from the tarball: mkdir build cd build cmake .. make should create ./src/flexsched Sorry, there's no easy-install package at the moment. =========================================================================== USAGE: ./flexsched <quote list of scheduling algorithms> <input file> [<output file> [<estimate file>]] Example: ./flexsched "METAGREEDY METAHVP" ./input ./output =========================================================================== INPUT FORMATS: problem file: <num resources> <num servers> <num services> <elem. capacity> <elem. capacity> ... <agg. capacity> <agg capacity> ... <elem. req> ... <elem. need> ... <agg. req> ... <agg. need> estimate file: <elem. req> ... <elem. need> ... <agg. req> ... <agg. need> =========================================================================== OUTPUT FORMAT: One or more lines of the form: a|b|c|d|e|f|g|h|i a: algorithm name (string) b: expected minimum yield (fraction) c: expected average yield (fraction) d: minimum yield using caps (fraction, only for inaccurate estimates) e: average yield using caps (fraction, only for inaccurate estimates) f: minimum yield using weights (fraction, only for inaccurate estimates) g: average yield using weights (fraction, only for inaccurate estimates) h: minimum yield using equi (fraction, only for inaccurate estimates) i: average yield using equi (fraction, only for inaccurate estimates) =========================================================================== SCHEDULING ALGORITHMS: * GREEDY_X_Y: X: pre-sorting of the services, always decreasing Y: selection of the servers, once all infeasible serers have been removed X = S1 | S2 | S3 | S4 | S5 | S6 | S7 Y = P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 * S1: No pre-sorting * S2: by max of needs * S3: by sum of needs * S4: by max of requirements * S5: by sum of requirements * S6: by max of sum of requirements and needs * S7: by sum of all requirements and needs * P1: most available resource in dimension of max fluid need * P2: minimum sumload / sumresource after placement * P3: best fit in terms of largest requirement * P4: best fit in terms of total available resource * P5: worst fit in terms of largest requirement * P6: worst fit in terms of total available resource * P7: first fit (random fit) * METAGREEDY Try all greedy algorithms and pick the best. * MILP Compute the optimal solution * LPBOUND Compute the rational bound on the optimal solution * RRND Solve the rational LP and do a probabilistic round-off of rational values into integer values. * RRNZ Solve the rational LP and do a probabilistic round-off of rational values into integer values. But first, set all zero-valued variables to some epsilon (0.001) * VP_X X: vector packing heuristic X = FF | BF | PP | CP * FF: First Fit * BF: Best Fit * CP: Choose-Pack * PP: Permutation Pack CP/PP can also take an additional parameter, W, for the window size. * METAVP Try all VP heuristics at each step of the binary search to maximize the minimum yield. * HVP Like VP, but heterogeneous-bin aware alternatives. additonal parameters: R: re-sort bins after item placement S: scale bin capacities E: equalize dimensions * METAHVP Try all HVP heuristics at each step of the binary search to maximize the minimum yield. There may be additional algorithms that are not listed here.
About
scheduling algorithms used for dynamic fractional resource scheduling simulations
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published