Batsim ====== .. note:: Parts of this documentation are still missing. Feel free to :ref:`contact_us` if you have any question or remark — or if a TODO is important for you. Here are :ref:`contributing`. .. 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 :ref:`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. .. image:: img/batsim_rjms_overview.png :width: 100 % :alt: 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 :ref:`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. .. toctree:: :maxdepth: 1 :caption: Tutorials Running your first simulation Analyzing Batsim results Implementing your scheduling algorithm Modelling an application Doing a reproducible experiment .. toctree:: :maxdepth: 1 :caption: User Manual Installation Command-line interface Protocol Time progression Using Redis Using the I/O model Interval set Frequently Asked Questions Changelog Contact us .. toctree:: :maxdepth: 1 :caption: Simulation inputs Platform Workload Events .. toctree:: :maxdepth: 1 :caption: Simulation outputs Schedule-centric Job-centric Energy-related .. toctree:: :maxdepth: 1 :caption: Developer Manual Contributing Development environment How to run tests? Continuous Integration Release procedure TODO list .. _SimGrid: https://simgrid.frama.io/ .. _Batsim initial white paper: https://hal.archives-ouvertes.fr/hal-01333471v1 .. _Millian Poquet's PhD thesis: https://hal.archives-ouvertes.fr/tel-01757245v2 .. _batsched: https://framagit.org/batsim/batsched .. _pybatsim: https://gitlab.inria.fr/batsim/pybatsim