Batsim

Note

Parts of this documentation are still missing. Feel free to Contact us if you have any question or remark — or if a TODO is important for you. Here are Contributing guidelines.

Warning

It is strongly recommended to check that Batsim behaves as you expect before using it for your experiments: many parameters can strongly influence simulation results, bugs can persist despite our efforts… This is all the more important for codes in the Batsim ecosystem that are external to Batsim itself (e.g., batsched/pybatsim scheduling algorithms), which are much less tested than Batsim. Please do Contact us in case of doubt.

Batsim is a scientific simulator to analyze batch schedulers. Batch schedulers — or Resource and Jobs Management Systems, RJMSs — are systems that manage resources in large-scale computing centers, notably by scheduling and placing jobs.

Batsim overview
  • Analyze and compare online scheduling algorithms.

  • Sound simulation models thanks to SimGrid.

  • Develop algorithms (in any programming language) without SimGrid knowledge, or to plug existing algorithm implementations to Batsim. Done thanks to a Protocol between Batsim and the schedulers

  • Several ways to model how jobs should be simulated. Allows multiple levels of realism regarding several phenomena. Highly customizable to your needs.

  • Keeping the implementation robust and maintainable is important to us.

The present documentation focuses on Batsim technical aspects. The most up-to-date scientific description of Batsim is done in Millian Poquet’s PhD thesis (chapters 3 and 4). There is also the outdated Batsim initial white paper — please cite it (bibtex) if you use Batsim for your research.

Simulation inputs