This thesis presents Big-LITTLE Constant Bandwidth Server (BL-CBS), a dynamic partitioning approach to schedule real-time task sets in an energy-efficient way on multi-core platforms based on the ARM big.LITTLE architecture. BL-CBS is designed as an on-line and adaptive scheduler, supporting ''open'' systems and based on a push/pull architecture that is suitable to be incorporated in the current SCHED_DEADLINE code base in the Linux kernel. It employs a greedy heuristic to dynamically partition the real-time tasks among the big and LITTLE cores aiming to minimize the energy consumption and the migrations imposed on the running tasks. BL-CBS is then combined with the Task Decomposition technique already proposed in the literature to design a methodology to be used with any Directed Acyclic Graph (DAG) task for partitioning the real-time workload in a transparent way. The new approach is validated through the open-source RTSim simulator, which has been extended integrating an energy model of the ODROID-XU3 board, fitting tightly the power consumption profiles for the big and LITTLE cores of the board. An extensive set of simulations has been run with randomly generated real-time task sets, achieving 15% of energy saving in average with respect to the state of the art GRUB-PA when used with sequential tasks and reaching 10% of energy saving in average over all the performed experiments with respect to GRUB-PA when used with DAG tasks. When using BL-CBS in a real system, a key problem is the one of admitting real-time tasks only if the heuristic will be able to find on-line a suitable partitioning of all of the the admitted workload, so to provide the expected guarantees. Therefore, the related problem of admitting real-time tasks onto both a symmertric multi-processor (SMP) and an ARM big.LITTLE platform, where a partitioned EDF-based scheduler is used, is also explored. For the SMP case, it is proposed to combine a well-known utilization-based test for the first-fit partitioning strategy, with a simple heuristic based on the number of tasks and exact knowledge of the utilization of the first few biggest tasks, while for the ARM big.LITTLE case the approach is to combine different formulas for both the non-uniform platform (NUMP) and the SMP cases. This results in effective and efficient tests improving the state of the art in terms of admitted tasks, as shown by an extensive evaluation performed on randomly generated task sets.
Energy-aware Scheduling of Real-Time Tasks on ARM big.LITTLE Architectures
MASCITTI, AGOSTINO
2021
Abstract
This thesis presents Big-LITTLE Constant Bandwidth Server (BL-CBS), a dynamic partitioning approach to schedule real-time task sets in an energy-efficient way on multi-core platforms based on the ARM big.LITTLE architecture. BL-CBS is designed as an on-line and adaptive scheduler, supporting ''open'' systems and based on a push/pull architecture that is suitable to be incorporated in the current SCHED_DEADLINE code base in the Linux kernel. It employs a greedy heuristic to dynamically partition the real-time tasks among the big and LITTLE cores aiming to minimize the energy consumption and the migrations imposed on the running tasks. BL-CBS is then combined with the Task Decomposition technique already proposed in the literature to design a methodology to be used with any Directed Acyclic Graph (DAG) task for partitioning the real-time workload in a transparent way. The new approach is validated through the open-source RTSim simulator, which has been extended integrating an energy model of the ODROID-XU3 board, fitting tightly the power consumption profiles for the big and LITTLE cores of the board. An extensive set of simulations has been run with randomly generated real-time task sets, achieving 15% of energy saving in average with respect to the state of the art GRUB-PA when used with sequential tasks and reaching 10% of energy saving in average over all the performed experiments with respect to GRUB-PA when used with DAG tasks. When using BL-CBS in a real system, a key problem is the one of admitting real-time tasks only if the heuristic will be able to find on-line a suitable partitioning of all of the the admitted workload, so to provide the expected guarantees. Therefore, the related problem of admitting real-time tasks onto both a symmertric multi-processor (SMP) and an ARM big.LITTLE platform, where a partitioned EDF-based scheduler is used, is also explored. For the SMP case, it is proposed to combine a well-known utilization-based test for the first-fit partitioning strategy, with a simple heuristic based on the number of tasks and exact knowledge of the utilization of the first few biggest tasks, while for the ARM big.LITTLE case the approach is to combine different formulas for both the non-uniform platform (NUMP) and the SMP cases. This results in effective and efficient tests improving the state of the art in terms of admitted tasks, as shown by an extensive evaluation performed on randomly generated task sets.| File | Dimensione | Formato | |
|---|---|---|---|
|
frontespizio_firmato_signed.pdf
non disponibili
Licenza:
Tutti i diritti riservati
Dimensione
480.78 kB
Formato
Adobe PDF
|
480.78 kB | Adobe PDF | |
|
thesis_mascitti_consegnata_v3.pdf
accesso aperto
Licenza:
Tutti i diritti riservati
Dimensione
2.25 MB
Formato
Adobe PDF
|
2.25 MB | Adobe PDF | Visualizza/Apri |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14242/217304
URN:NBN:IT:SSSUP-217304