Peekaboo

Peekaboo: Learning-based Multipath Scheduling for Dynamic Heterogeneous Environments

Introduction

How to design a multipath scheduler that learns and adapts to heterogeneous paths with dynamically varying channel conditions?

To address this problem, we propose Peekaboo, a novel learning-based multipath scheduler that keeps monitoring the impact caused by the current dynamicity level of each path and selects the most suitable scheduling strategy accordingly (i.e., continuous exploration and exploitation).

Please check the detail from the paper.

Supplementary materials

Due to the space limitation in the paper, we present the extra results and the proof of the estimation approach of the stochastic factors here.

Action selection under different path delay variation rate
Action selection under different path loss rate
Impact of Alpha under different path dynamicity levels

1

2

Implementation

We present the source code in the following download link. Specifically, the code is now configured within the docker container and the user can control the experiment from the Jupyter notebook. All the packages are specified with version numbers and without an explicit command to update from the current version, so the compiling issue should not appear.

After downloading the zip file from the following link and extracting it, you will see two folders, go and RL_dev, and one readme.md. The go folder contains the mpquic code and the RL_dev folder contains the docker container and the Jupyter notebook code. Please follow the readme.md to compile the go code and control the experiment within Docker container from Jupyter notebook. If you feel you might have trouble to compile the go code due to the cumbersome steps, you can directly build the docker container from RL_dev folder where we have the pre-built binary files. 

%d bloggers like this: