batmen
Forked from https://framagit.org/batsim/batsched
Install
With Nix package manager. At the root of the project:
nix-shell -A batsched # enter a Nix environment with all dependencies managed
meson build # generate a build directory
ninja -C build # compile the project into the build directory
What differs from the master version of batsched?
New paradigm: we implemented a "cloud broker" allowing to model the interaction with the users. This cloud broker is able to dynamically register new jobs to sumbit on top of the static workload during the scheduling. This way we can represent different category of users and model their behavior in response to feedback.
For now this paradigm is supported by all the schedulers inheriting from the class DynScheduler
ie all the custom schedulers located in folder src/algo_perso
. It uses the modules in the folder in folder src/broker
:
- dynscheduler: superclass managing the interaction with the broker from which the scheduling algorithms inherit
- cloud_broker: implement the broker itself, submitting the jobs on behalf of the users
- user: an individual user, submitting her jobs to the broker
New algorithms implemented (in folder src/algo_perso
):
- multicore_filler: one job at a time on only one multicore host. Developped for testing the multicore management in batsim/simgrid
- bin_packing: the scheduler packs the jobs on the least number of multicore hosts. Each job runs on only one host but can take several cores
- bin_packing_energy: same as bin_packing but switches of the hosts as soon as they are idle and power them on again when needed