Automated Multi-core Scheduling for an Industrial-sized Mechatronic Motion Control Platform

More Info
expand_more
Publication Year
2018
Language
English
Copyright
© 2018 Daniël Brouwer
Graduation Date
19-12-2018
Awarding Institution
Delft University of Technology
Programme
Electrical Engineering | Embedded Systems
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Mechatronic embedded control systems are becoming increasingly sophisticated and computationally demanding. These systems typically consists of multiple controllers, which coordinate the actuators and apply feedback based on data collected by sensors. Often the underlying control strategy is entirely described in a software application, which allows for hardware independence and adds the ability to conveniently change algorithms. In order to increase application throughput, a commonly used approach is to divide the application into smaller units called tasks and execute them in parallel using multi-core hardware. In this thesis an automated multi-core aware scheduling and assignation approach is designed for an industrial-sized mechatronic control software platform, more specific the Prodrive Motion Platform (PMP). PMP can be applied in a wide range of products, e.g. wafer scanners, robots, elevators. A key feature of PMP is flexibility, which allows it to be utilized in combination with a wide variety of both controllable hardware (actuators, sensors) as well as computational hardware. As a direct consequence, PMP supports many different customers and corresponding requirements. Within PMP, a customer typically defines the application, which is then translated into a set of tasks. This task-set is then scheduled and assigned onto the available multi-core hardware resources. In order to meet timing-constraints, the current scheduling approach relies on a time-consuming manual process, which provides a limited amount of tuning options, and neither considers task workloads, nor inter-core communication costs. Given these short-comings, this solution proved to be unsuited for upcoming PMP products. To address the aforementioned issues, we first review state of the art scheduling solutions and introduce an extensible task measurement framework. Subsequently, we evaluate various scheduling approaches on current PMP applications and identify two algorithms, namely, Internalization using Load Balancing and DCS, that are able to automatically find schedules, whilst still meeting application timing-constraints. Besides enabling to schedule new applications within upcoming PMP products, performance improvements of ~3.3% and ~2.0% were observed by Internalization using Load Balancing and DCS, respectively, compared to the original scheduling approach within the multi-core PMP product PPCx3. Last but not least it is shown that within a relatively new product XEONx3, our approach provides performance improvements of 34.30% up to 49.61%, depending on the utilized scheduling algorithm.

Files

Thesis_DNFBrouwer_2018.pdf
(pdf | 3.65 Mb)
License info not available