# Reducing Dynamic Power Consumption in Mixed-Critical Real-Time Systems
## 4 Research Motivations  
### Recap of EDF-VD for Power-Aware Mixed-Criticality Real-Time Tasks  
In this subsection, we describe a brief explanation of the previous work on power-aware mixed-criticality tasks scheduling [29]. The base scheduling algorithm is early deadline first with the virtual deadline (EDF-VD) which is a mode-switched EDF scheduling technique developed for mixed-criticality task sets [22; 32; 33]. The reservation of time budgets for \(HI\) criticality tasks is done in the \(LO\) mode. This is achieved by shortening the deadline of \(HI\) criticality tasks. Intuitively, shortening the deadline of \(HI\) criticality tasks will push them to finish earlier in the \(LO\) mode, leaving more time until their actual deadlines to accommodate extra workloads. Indeed, this form of safety preparation (i.e., shortening deadlines of \(HI\) criticality tasks in the \(LO\) mode) has proven to be effective in improving system schedulability [34].  
In EDF-VD, the value of \(x\) in a system determines the virtual deadline \(VD_{i}\) as \(P_{i}\cdot x\), where \(0<x\leq 1\). In order to guarantee the schedulability of task sets both in LO mode and HI mode, the value of \(x\) should satisfy the two equations of Equations (2) and (3):  
\[\frac{U_{LO}^{HI}}{x}+U_{LO}^{LO}\leq 1 \tag{2}\]  
\[U_{HI}^{HI}+xU_{LO}^{LO}\leq 1 \tag{3}\]  
In [29], EDF-VD is adjusted in order to provided power-awareness for mixed-criticality real-time systems. They defined a problem of power-aware scheduling in MC systems. The objective is to minimize power consumption satisfying both Equations (4) and (5):  
\[\sum_{\tau_{i}\in T_{HI}}\frac{C_{i}(LO)/f_{LO}^{HI}}{P_{i}}\cdot\frac{1}{x}+ \sum_{\tau_{i}\in T_{LO}}\frac{C_{i}(LO)/f_{LO}^{LO}}{P_{i}}\leq 1 \tag{4}\]  
\[\sum_{\tau_{i}\in T_{HI}}\frac{C_{i}(HI)}{P_{i}}+x\cdot\sum_{\tau_{i}\in T_{LO }}\frac{C_{i}(LO)/f_{LO}^{LO}}{P_{i}}\leq 1 \tag{5}\]  
where \(T_{HI}\) and \(T_{LO}\) are sets of high-criticality tasks and low-criticality tasks, in each. In Equations (4) and (5), \(f_{LO}^{LO}\) and \(f_{LO}^{HI}\) indicate optimal frequency levels of HI-criticality tasks and LO-criticality tasks in low mode. They provided an optimal solution to derive \(x\), \(f_{LO}^{LO}\), and \(f_{LO}^{HI}\) for the formulated problem.  
For example, Table 1 shows an example of a task set. The optimal values of \(x\), \(f_{LO}^{LO}\), and \(f_{LO}^{HI}\) are given by 0.56, 0.6, and 0.8, respectively from the method in [29]. The right three columns of Table 1 shows the  
Figure 2: Dynamic voltage scaling (DVS) for real-time tasks.  
virtual deadline and the execution time in low-criticality mode. Figure 3 shows the scheduling example of Table 1 based on EDF-VD.  
As shown in Figure 3, high-criticality tasks, \(\tau_{1}\) and \(\tau_{2}\), are run at a \(f_{LO}^{HI}\) frequency level in low-criticality mode, while low-criticality tasks of \(\tau_{3}\) and \(\tau_{4}\) run at \(f_{LO}^{LO}\). Let us assume that \(\tau_{2,3}\) does not complete \(C_{i}(LO)\) at time 17.25. Then, the system mode changes to high-criticality mode so that two low-criticality jobs of \(\tau_{3}\) and \(\tau_{4}\) are ignored after the mode switch event. In high-criticality mode, the frequency level is set as the maximum frequency in order to guarantee the schedulability of high-criticality tasks. The system mode returns back to low-criticality mode after executing all high-criticality jobs.