Date: 15 Nov 2022- 30 Nov 2022

Project Description

The goal of this project was to implement one of the DVS based RTOS task-scheduling algorithms described in the paper: Real-Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems*.


Foundational Concepts

The paper starts with a discussion on power-saving techniques in non-RT systems, focusing on voltage/frequency scaling. The author focuses on traditional algorithms (DVS, Static VS) that set the processor to run at some lower-than-max frequency during low average utilization periods.

In such systems without real-time task-completion guarantees, this coarse metric is sufficient to provide the power savings incurred by frequency reduction. However, in Real-time systems, this average utilisation metric is not sufficient to claim that a task-set will meet the deadline guarantee.

Tasks in Real-time systems must always satisfy two constraints to be run. A real-time scheduler guarantees that tasks will meet their deadlines given that:

The contribution of the paper is in providing a set of modified scheduling algorithms that use the mechanisms of Dynamic voltage-scaling to satisfy the above two constraints - thus extending the power-savings effects of DVS to Real-Time Systems as well. Modifying the scheduling algorithm amounts to modifying the schedulability test.

Schedulability test for DVS. Ci: Worst-case computation time. Pi: Task Period

Schedulability test for DVS. Ci: Worst-case computation time. Pi: Task Period

$$ C_{worstcase}\leftarrow C_{latest}\\if \\C_{latest} < C_{worstcase} $$

Subsequently, the regular EDF/RM priority-based scheduling of tasks is performed.


Process