Modeling the Execution of Communication Software

This research topic provides three different topics for Master Theses

Network simulation is one of the most popular apporaches to evaluate computer networks. Recently, the DMMS group 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 only modelled IP-forwarding on uni- and multi-core, Android-based smartphones, i.e., the behavior of the network and DMA drivers, the IP protocol and parts of the operating systems. 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 and protocols. In this context, we provide three master topics:

  • Most of the tiny sensors used in, e.g., cyber physical systems, sensor networks and the Internet of Things, are resource limited due to their small form factor. It is widely acknowledged that communication software processing on such devices affect network performance. Due to resource constrains, such devices usually run small OS like TinyOS that are much simpler than those used on smartphones and desktops. In this master project, the student will model the behavior of OS and communication software on these devices, e.g., for IP-forwarding.
  • A wireless mesh network (WMN) consists of a set of wireless routers (typically WiFi) that are close enough to exchange data. By using routing protocols developed for Mobile Ad-Hoc Networks (MANETs), many wireless routers can form together one WMN and send data from source to destination via multiple hops. One larger community supporting and deploying WMNs is called "Freifunk" [2]. The wireless routers used for Freifunk have Linux based open software, i.e. extensions of OpenWrt [3]. In this thesis the student will create models of OS and communication software on such routers, e.g., for IP-forwarding.
  • It was important to model IP forwarding because of the significant impact on network performance in infrastructure-less network like MANETs. We do not yet have models for the remaining  protocols in the Internet stack, e.i., ICMP, ARP, UDP and TCP. In this thesis the student will build on the existing IP forwarding models for smartphones to create models for such protocols.

Suggested sub-tasks include:

  1. 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.
  2. 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.
  3. Execution modeling. This includes instrumentation of target code, real-world experiments to obtain the models and refining the instrumentation to ensure satisfying model quality.
  4. Validate the models by comparing and analyzing results from simulations and real-world experiments.
  5. 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.


Emneord: Distributed Systems, Modeling, Simulation, Operating Systems
Publisert 22. sep. 2016 12:04 - Sist endret 22. sep. 2016 13:21

Omfang (studiepoeng)