The OpenStack Measurement Framework is used to measure the impact of virtualization in a number of different scenarios, mostly centered around the traffic patterns generated by Hadoop applications.
Right now OSMeF covers only networking end-to-end I/O and a couple of special cases to measure the raw hypervisor virtual NIC performance. We plan to extend OSMeF to cover also more complex communication patterns like one-to-many, many-to-many and many-to-one. Disk I/O will be another focus where OSMeF can be used.
OSMeF is divided in two directories, because of dependencies to Python2 in the paramiko ssh library.
backend directory contains OSMeF itself along woth the scenarios.
data_processing directory contains scripts that load OSMeF output and produce
OSMeF is run by using one of the scripts in the
scenarios/ directory. Their name should be
self explanatory, but more documentation will follow this first release.
Some of the scenarios require a password-less ssh key to be provided, you need to modify
config.ini and the scenario script to provide to correct details.
Also IP addresses need to be appropriately configured in the scenario script.
Finally you need to fill-in the
template_login file with the authentication details of
the OpenStack's tenant you want to use for running the experiments. These
are referenced in the
By default measurements will be saved in json format in the
A number of script in the
data_processing directory helps with examining the data,
summarizing it and drawing graphs.
A note on Python versions
OSMeF itself runs with Python 2.7. The ssh library
paramiko, that is not compatible with
data_processing tools instead require Python 3.3.
The plan is to port everything on Python 3, once there is a suitable SSH library.
To run unit tests use:
python setup.py nosetests
The OSMeF project is part of the BigFoot project