A platform to test reinforcement learning policies in the datacenter setting.
Switch branches/tags
Nothing to show
Clone or download
Latest commit c69e92e Dec 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
contrib Update mininet head. Dec 15, 2018
dc_gym Minor refactoring. Dec 15, 2018
.gitignore Init. Dec 1, 2018
.gitmodules Init. Dec 1, 2018
LICENSE Initial commit Nov 30, 2018
README.md Init. Dec 1, 2018
benchmark.py Minor changes. Dec 13, 2018
install.sh Init. Dec 1, 2018
plot.py Init. Dec 1, 2018
pyproject.toml Remove scapy dependency. Dec 14, 2018
run_basic.py Minor refactoring. Dec 15, 2018
run_openai_gym.py Init. Dec 1, 2018
run_ray.py Minor refactoring. Dec 15, 2018

README.md

Iroko: The Data Center RL Gym

Iroko is an open source project that is focused on providing openAI compliant gyms. The aim is to develop machine learning algorithms that address data center problems and to fairly evaluate solutions again traditional techniques.

Requirements

The data center emulator makes heavy uses of Linux tooling and its networking features. It operates most reliably on a recent Linux kernel (4.15+). The supported platform is Ubuntu (at least 16.04 is required). Using the emulator requires full sudo access.

Package Dependencies

  • Clang or GCC are required to build the traffic control managers.
  • git for version control
  • bwn-ng and ifstat to monitor traffic
  • python-pip and python3-pip to install packages

Python Dependencies

The generator supports both Python2 and Python3. Both pip and pip3 can be used to install the packages.

  • numpy for matrix operations
  • gym to install openAI gym
  • ray, lz4, and opencv-python to install the ray framework
  • seaborn and matplotlib to generate plots

Modules

  • Mininet to build efficient and real network topologies
  • Goben to generate and measure traffic

Installation

A convenient way to install the emulator is to run the ./install.sh. It will install most dependencies locally via Poetry.

Using OpenAI Benchmark

Currently a work in progress. In order to use the run_benchmark.py script, you need to also follow the installation set-up for the Open AI Benchmark project and need to run the script with python 3.5.