/interconnect-routing-gym

openai-gym style RL benchmark for interconnection network congestion control study

Primary LanguagePython

inconnect-routing-gym

ACM/IEEE NoCS, Oct. 2019 Arxiv

openai-gym style RL benchmark for interconnection network congestion control study

CompArch - gem5/garnet tutorial

Running garnet

Environment Setup

$sudo apt-get install g++
$sudo apt-get install python
$sudo apt-get install python-dev
$sudo apt-get install swig
$sudo apt-get install zlib
$sudo apt-get install m4

Downloading gem5

Official gem5 from google git

hg clone /nethome/tkrishna3/teaching/simulators/gem5/repo/gem5
  • hg status shows what files have been modified in your repository

  • hg diff shows a diff of the modified files.

How to use it

Import the module in the src directry

  • It provides integration with Garnet2.0 in gem5 with the custom-defined RL-alagirithm
from icn_gym import ICN_env as ir_gym

Example

We provide examples of baseline (xy routing)

example/Baseline_xyRouting_example.py

We provides the example of three RL-alagorithms we present in the paper

example/rl_QLearning_example.py
example/rl_sarsa_example.py
example/rl_expected_sarsa_example.py

Example of NoC statistics from Garnet2.0 in gem5

network_stats.txt

Network Data Simulation

Please look at here for the data synthesis.