Batsim is a scientific simulator commonly used to evaluate Resource and Job Management System (RJMS) policies. Batsim-py allows using Batsim from Python 3.
- 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
- 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.
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.
The tutorials section provides examples of different simulation scenarios:
The API documentation provides information on classes and modules in the Batsim-py package.