Modeling the Execution of Communication Software

Contact person: Stein Kristiansen


his research topic several different topics for Master Theses.

Network simulation is one of the most popular apporaches to evaluate computer networks. We created a methodology to improve the accuracy of such simulators by creating models of communication software execution that can be executed within nodes in simulated networks. This enables the simulation of processing delays, throughput limitations, jitter and packet loss introduced by software execution under limited hardware resources.
The execution models are created by instrumenting and executing real software to obtain event traces that describe how the software's behavior is affected by its execution context. The traces are semi-automatically analyzed and parsed to create the final models. Until now, we have modelled IP-forwarding on uni- and multi-core, Android-based smartphones and a Tiny-OS sensor.

We provide the following masters topics:

* Since emerging and future networks use a diverse set of device types and protocols, we wish to use our methodology to create models for additional device types
* Until now, only IP-forwarding is modelled. For a more complete model, protocols and mechanisms in the remaining parts of the Internet stack should be modelled, e.g., higher-level protocols like UDP and TCP, and mechanisms used for communication between user and kernel space.
* Modelling and visualisation framework: Model creation is a highly laborious task. In this topic the student will create a device- and simulator-agnostic framework to streamine the instrumentation, tracing and analysis of models, in addition to visualising the resulting models to enable instant and intuitive human investigation of the resulting models.
* Unsupervised machine learning to automate modelling: It is highly desirable to reduce the amount of manual modelling overhead required for analysis and instrumentation. In this thesis, the student will survey existing techniques to automatically characterise software execution behavior, select a promising candidates and integrate them into the methodology, and evaluate these techniques in terms of modelling overhead and the accuracy of the resulting models.

Typical sub-tasks include:
Read about and understand the methodology [1]. A good starting point is to investigate the existing tools and models. These will be provided by the supervisor.
Deep investigation, analysis and experimentation with the target communication software to understand its behavior. This requires quite a bit of reverse engineering of kernel code.
Execution modeling. This includes instrumentation of target code, real-world experiments to obtain the models and refining the instrumentation to ensure satisfying model quality.
Validate the models by comparing and analyzing results from simulations and real-world experiments.
Study the impact of the newly created models on simulation results by comparing results from simulations with and without the newly created models.

The final details of the sub-tasks are worked out in collaboration with the supervisor.

[1] Kristiansen, Stein; Plagemann, Thomas Peter & Goebel, Vera Hermine (2015). A Methodology to Model the Execution of Communication Software for Accurate Network Simulation . ACM Transactions on Modeling and Computer Simulation.

Publisert 25. sep. 2018 11:34 - Sist endret 25. sep. 2018 11:34

Omfang (studiepoeng)