Giter Site home page Giter Site logo

zhangyi19941217 / iroko Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dcgym/iroko

1.0 2.0 1.0 6.46 MB

A platform to test reinforcement learning policies in the datacenter setting.

License: Apache License 2.0

Python 77.13% Shell 2.02% Makefile 0.56% C 20.29%

iroko's Introduction

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.

A more concrete description is available in our short paper.

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

  • GCC or Clang and the build-essentials are required.
  • git for version control
  • libnl-route-3-dev to compile the traffic managers
  • bwn-ng and ifstat to monitor traffic
  • python and python-setuptools to build Python packages and run the emulator

Python Dependencies

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

  • numpy for matrix operations
  • gym to install openAI gym
  • seaborn and matplotlib to generate plots

Mininet Dependencies

The datacenter networks are emulated using Mininet. At minimum Mininet requires the installation of

  • openvswitch-switch, cgroup-bin, help2man

Ray Dependencies

The emulator uses Ray to implement and evaluate reinforcement learning algorithms. Ray's dependencies include:

  • tensorflow, setproctitle, psutil, opencv-python

Goben Dependencies

The emulator generates and measures traffic using Goben. While an amd64 binary is already provided in the repository, the generator submodule can also be compiled using Go 1.11. The contrib/ folder contains a script to install Goben locally.

Installation

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

iroko's People

Contributors

fruffy avatar zhangyi-ms avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

lebronjames0423

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.