Simulate transactional systems running on cloud infrastructure
Simlloovia is a Python package to simulate transactional systems running on cloud infrastructure.
It uses Malloovia as base to represent the system to be simulated and SimPy as simulation engine.
To use:
-
Clone the repository
-
From the root of the repository, run this to install in the current environment:
pip install -e .
-
To run a simulation use the
simllooviacommand. For example, this command runs a simulation from the system described in the test filebasic.p, which was generated by Malloovia:
simlloovia --sol-file=tests/sols/basic.p --output-prefix=test --output-dir=. --workload-length=3600 --save-evs=True --quantum=3600-
Check the results in the files
test_out.txtandtest_reqs.csv. -
The parameters can also be passed with a configuration file using the option
--config FILE. -
A dashboard that summarizes the information graphically can be run by installing the
dashpackage:
pip install dashRun this command:
python dashboard_sim.pyOpen the URL http://127.0.0.1:8050/ and select . as Base dir and test
as Prefix.
Run simlloovia --help for more options.
-
Joaquín Entrialgo, Manuel García, José Luis Díaz, Javier García, Daniel F. García, "Modelling and simulation for cost optimization and performance analysis of transactional applications in hybrid clouds", In Simulation Modelling Practice and Theory, vol. 109, pp. 102311, 2021. (JCR 2021: 4.199. Q1) [bibtext] [doi]
Please cite this work if you use
Simlloovia. The paper describes the architecture of the simulator. -
Joaquín Entrialgo, José Luis Díaz, Javier García, Manuel García, Daniel F. García, "Cost Minimization of Virtual Machine Allocation in Public Clouds Considering Multiple Applications", In Economics of Grids, Clouds, Systems, and Services: 14th International Conference, GECON 2017, Biarritz, France, September 19-21, 2017, Proceedings, Springer International Publishing, Cham, pp. 147-161, 2017. [bibtext] [doi]
This work describes
Malloovia, which is used as base forSimlloovia.
Free software: MIT license