https://github.com/lccasagrande/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.
https://github.com/lccasagrande/batsim-py
batsim dvfs grid-computing python resource-manager rjms scheduler shutdown simulator
Last synced: about 1 month ago
JSON representation
Batsim is a scientific simulator commonly used to evaluate Resource and Job Management System (RJMS) policies. Batsim-py allows using Batsim from Python 3.
- Host: GitHub
- URL: https://github.com/lccasagrande/batsim-py
- Owner: lccasagrande
- License: mit
- Created: 2019-10-10T17:23:57.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-08-23T18:09:04.000Z (over 3 years ago)
- Last Synced: 2026-01-03T01:34:25.335Z (5 months ago)
- Topics: batsim, dvfs, grid-computing, python, resource-manager, rjms, scheduler, shutdown, simulator
- Language: Python
- Homepage:
- Size: 6.02 MB
- Stars: 3
- Watchers: 1
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Batsim-py |build| |coverage| |doc| |license| |last-release|
===========================================================
`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
------------
1. Make sure you have Batsim v3.1.0 installed and working. Otherwise, you must follow `Batsim installation `_ instructions. Check the version of Batsim with:
.. code-block:: bash
batsim --version
2. Install batsim-py from PyPI:
.. code-block:: bash
pip install batsim-py
3. [Optional] If you prefer, you can install batsim-py and run tests with:
.. code-block:: bash
git clone https://github.com/lccasagrande/batsim-py.git
cd batsim-py
pip install -e .
python setup.py test
4. [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:
- `Scheduling`_
- `Shutdown`_
- `DVFS`_
API Documentation
-----------------
The API documentation provides information on classes and modules in the Batsim-py package.
- `Simulator`_
- `Events`_
- `Monitors`_
- `Jobs`_
- `Resources`_
.. _`Scheduling`: https://lccasagrande.github.io/batsim-py/tutorials/scheduling.html
.. _`Shutdown`: https://lccasagrande.github.io/batsim-py/tutorials/shutdown.html
.. _`DVFS`: https://lccasagrande.github.io/batsim-py/tutorials/dvfs.html
.. _`Simulator`: https://lccasagrande.github.io/batsim-py/api_doc/simulator.html
.. _`Events`: https://lccasagrande.github.io/batsim-py/api_doc/events.html
.. _`Monitors`: https://lccasagrande.github.io/batsim-py/api_doc/monitors.html
.. _`Resources`: https://lccasagrande.github.io/batsim-py/api_doc/resources.html
.. _`Jobs`: https://lccasagrande.github.io/batsim-py/api_doc/jobs.html
.. |build| image:: https://travis-ci.org/lccasagrande/batsim-py.svg?branch=master
:alt: coverage
:target: https://travis-ci.org/lccasagrande/batsim-py
.. |coverage| image:: https://coveralls.io/repos/github/lccasagrande/batsim-py/badge.svg?branch=master&kill_cache=1
:alt: coverage
:target: https://coveralls.io/github/lccasagrande/batsim-py?branch=master&kill_cache=1
.. |doc| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat
:alt: doc
:target: https://lccasagrande.github.io/batsim-py/index.html
.. |license| image:: https://img.shields.io/github/license/lccasagrande/batsim-py
:alt: GitHub
:target: https://github.com/lccasagrande/batsim-py/blob/master/LICENSE
.. |last-release| image:: https://img.shields.io/github/v/release/lccasagrande/batsim-py
:alt: GitHub release (latest by date)
:target: https://github.com/lccasagrande/batsim-py/releases/latest