Advanced projects in embedded systems

Available projects

Real-time scheduling

  1. Real-time scheduling of legacy applications.Clasical real-time applications have to conform to a very specific structure in order for the operating system to be able to support them. An appropriate application programming interface (API) has to be used to pinpoint relevant events related to the task executions and hence to infer the timing constraints. This work is about identifying the relavant features of a real-time application by observing and categorizing the stream of events it generates.

  2. Hieararchical scheduling. Hierarchical systems are characterised by a multi-level hierarchy of schedulers: considering only 2 levels, a "root scheduler" selects a "second level scheduler" which in turn selects the task to be executed. This approach is becoming to be used in a number of different situations: virtual environments, threaded applications, component-based applications, etc... From the real-time perspective, it is important to analyse hierarchies of schedulers, and to provide real-time guarantees (about the tasks' schedulability) by composing the guarantees provided by root and leaf schedulers. The current analysis is generally based on TDA, and is not easy to use (especially for EDF, where it requires to check all the points in the hyperperiod). Goal of this research project is to provide a more advanced / simple to use analysis and to verify it through simulations and/or experiments on real systems. After a first study of the literature and the state-of-the-art, the student can focus on improving the analysis and to implement hierarchical scheduling in a real-time scheduling simulator. As an alternative, a modified version of the X server (implementing a real-time scheduler) can be used. In this case, the hierarchy is composed by the kernel CPU scheduler and by the X scheduler which selects which client to serve. (as a last alternative, hierarchical real-time scheduling can be implemented in the Linux scheduler).

  3. Real-time virtual machine. Virtual machines (like qemu, KVM, and similar) are becoming an appealing technology for executing multiple applications on the same hardware in a secure and controlled way. However, they still fail in providing support for real-time applications because of the unpredictabilities in the virtualisation overhead (in other words, it is not possible to provide schedulability guarantees to real-time tasks running in a virtual machine). The goal of this research project is to evaluate the virtualisation overhead introduced by different kinds of VMs, and to quantify the unpredictabilities. Finally, the students will implement some technique to make a selected VM more predictable.

  4. Multilevel QoS adaptation. We consider the problem of power-aware optimization of Quality of Service (QoS) for time-sensitive applications that can be configured to run in multiple operation modes, each one associated with a different QoS level and a different workload. Applications share multiple resources that, in their turn, can operate at different power modes, each one associated with a different speed and with a different power consumption. Application tasks are scheduled on resources by using resource reservation scheduling. In this setting, applications can be dynamically activated and terminated, and present high variability in their resource requirements. Building on top of preliminary results, the student will have to design a double-level QoS control loop: the inner loop uses an adaptive reservation algorithm to ensure the compliance with the application temporal constraints; the outer loop reconfigures the application modes and the power modes so as to optimize a well-defined system-level power-aware QoS metrics.

Wireless sensor Networks

  1. Adaptive scheduling of wakeup times of the nodes. We consider a set of wireless sensor nodes, each one equipped with a sensor with a givven range. In order to reduce the power consumption and to increase the lifetime of the network, we apply a dutycycling technique whereby nodes are switched on and off with a given periodicity. The technique is aimed at findeing the best tradeoff between power consumption and average coverage. In this work, the student will investigate the possibility of extending this technique coping with a variable level of attention for the areas. In other words, the relative importance of the areas can change in time due to the presence (actual or predicted) of a target.