Multi-Bottleneck Recognition with Machine Learning
- Forschungsthema:Congestion Control, Machine Learning
- Datum:Ab sofort
Interactive distributed applications, like video telephony, require congestion controls that achieve high data rates, low latencies, and behave fairly. At the Institute of Telematics, we are developing a novel congestion control, called TCP LoLa, that tries to achieve all goals simultaneously. Due to its delay-based algorithm, TCP LoLa is vulnerable to multi-bottleneck situations. If there is more than one bottleneck on the path, the data rate of a TCP LoLa flow drops below its fair share, which we want to change. In previous theses, we developed a method that enables TCP LoLa to adapt its functionality to a single bottleneck. This is achieved by verbose explicit feedback, where routers on the path write their state into a traversing packet. We showed, that TCP LoLa can achieve a fair data rate, if it chooses the right bottleneck.
An unsolved issue is, how TCP LoLa can find out, which bottleneck is the right one. We, as humans, can look at the graphs of TCP LoLa and conclude whether the right bottleneck was chosen. In order to select the right bottleneck autonomously, the algorithm of TCP LoLa has to recognize the correct choice of the bottleneck. As a first step, we developed a simple heuristic, which showed an unsatisfactory performance. Machine learning seems like a promising candidate to solve this research question.
Generally, your job is to find a solution which enables TCP LoLa to choose the correct bottleneck with machine learning. First, you have to setup and write a simulation environment in ns-3, which implements the verbose explicit feedback approach and the accompanying TCP LoLa algorithm from the previous theses. This allows your to simulate lots of different multi-bottleneck scenarios and enables you to gather lots of data in situations where TCP LoLa chose the right or the wrong bottleneck.
As a second step, you start to use machine learning. Your goal is to use the generated data to train a model, by which TCP LoLa can determine if it chose the correct bottleneck. Our vision is that TCP LoLa uses the machine learning model to choose the correct bottleneck autonomously.
The programming work is mostly in C++ and Python. We provide you with a high-performance SSH-accessable testbed, featuring 128 GB of RAM, 32 cores, and graphic cards. We will have weekly (remote) meetings, where we talk about the progress and problems of your thesis.
We require previous non-trivial experience with machine learning. We expect basic knowledge in computer networking and congestion control (e.g. with Einführung in Rechnernetze or Telematik).
Write me a quick mail, if you want to learn more. The thesis can be written in German or English.