Evaluating the effectiveness of system scheduling and energy savings in embedded real-time systems with low-computing resources is the problem addressed in this paper. In such systems, the characteristics of the implemented scheduling policy play a relevant role in both schedulability and energy consumption. Ideally, the scheduling policy should provide higher schedulability bounds and low runtime overheads, allowing for better usage of available slack in the schedule for energy saving purposes. Due its low overhead and simple implementation, the usual scheduling policy employed in real-time embedded systems is based on fixed priority scheduling (FPS). Under this scheme, as the priority of all system tasks are assigned at design time, a simple priority vector suffices to indicate the current ready task to run. System schedulability, however, is usually lower than that provided by dynamic priority scheduling (DPS) according to which task priorities are assigned at runtime. Managing dynamic priority queues incurs higher overheads, though. Deciding whether DPS is a viable choice for such embedded systems requires careful evaluation. We evaluate two implementations of Earliest Deadline First (EDF), a classical DPS policy, implemented in FreeRTOS running on an ARM-M4 architecture. EDF is compared against an optimal FPS, namely Rate-Monotonic (RM). Further, two mechanisms for energy savings are described. They differ by the manner they compute the slack available in an EDF schedule, statically (SS-EDF) or dynamically (DS-EDF). These two approaches are experimentally evaluated. Results indicate that EDF can be effectively used for energy savings.
Dynamic priority real-time scheduling (DPS), such as Earliest-Deadline First (EDF), offers high levels of system schedulability, implying that under this scheduling policy system processing capacity can be utilized in an optimized way. However, this schedulability gain can be compromised due to overheads associated with managing dynamic priority queues, making the use of DPS less appealing in low processing capacity embedded systems. In this paper we assess the overheads associated with two different implementations of EDF in FreeRTOS running on an ARM-M4 architecture, comparing them against Rate-Monotonic scheduling (RMS), a classic fixed-priority policy. The two EDF implementations differ from each other by the manner priority queues are implemented, based either on min-heap (EDF -H) or on multiple linked lists (EDF-L). Runtime overheads and schedulability are taken into consideration for different types of task sets and system loads. Results indicate that the higher overheads of EDF-H may lead to poor performance with respect to RMS in some scenarios. Even presenting slightly higher overheads than RMS, EDF-L was shown to perform consistently better in all considered experiments.