Batsim-py
¶
Batsim is a scientific simulator commonly used to evaluate Resource and Job Management System (RJMS) policies. Batsim-py allows using Batsim from Python 3.
Main Features¶
Developed on Python 3.8
Simple API for evaluating the performance of Scheduling/Shutdown/DVFS policies
Time/Event-based design
Simple to be extended
Fully documented
Installation¶
Make sure you have Batsim v3.1.0 installed and working. Otherwise, you must follow Batsim installation instructions. Check the version of Batsim with:
batsim --version
Install batsim-py from PyPI:
pip install batsim-py
[Optional] If you prefer, you can install batsim-py and run tests with:
git clone https://github.com/lccasagrande/batsim-py.git
cd batsim-py
pip install -e .
python setup.py test
[Optional] Go to the Tutorials section to find examples.
For further information, check the API Documentation to understand how to customize the simulation behavior.
Simulation Inputs¶
To evaluate the behavior of a RJMS policy, you must provide:
A platform description (XML): describes the network and resource characteristics.
A workload (JSON): defines the jobs to be submitted to the system and their execution profiles.
The expected format of both files is the same adopted in Batsim. Check Batsim docs to get further information on how to define platforms and workloads.
Tutorials¶
The tutorials section provides examples of different simulation scenarios: