04. 03. 2016

Behaviour-Aware Load-Balancing for a Micro-Kernel


Philipp Eppelt

TU Dresden

Verteidigung der Diplomarbeit

To effectively utilize a multi-core processor, the system's load in the sense of application threads, must be distributed across all available cores. A static distribution like round robin or thread count balancing ignores actual run-time requirements and leads to unpredictable application run-times. Therefore, the load balancing service must review the current thread-to-core assignments and adjust this assignment depending on CPU-time consumption of each thread.
The processor can issue data requests faster than memory can serve them, consequently, the waiting time impacts application run-time. Reducing the number cache misses and waits for memory is preferable. With the help of hardware performance counters memory requirements of threads can be measured at run-time and can support a load balancing decision.
In my thesis I discuss a combination of time and space as load definition. Furthermore, I design and implement a load balancing service for L4Re, which also provides an interface to state isolation and communication requirements.
I evaluate the service by comparing four different balancing algorithms: Linux's CFS, space-time-balance, time-balance, and simple-load-distribution.
28. Oct 2020
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·