Abstract
While energy consumption and Quality of Service (QoS) are primary concerns for the design of embedded systems, reliability requirement has become increasingly important in the development of today’s pervasive computing systems. In this paper, we present a reliability-aware energy management (RAEM) scheme for reducing the energy consumption for (m, k)-hard embedded real-time systems, which requires that at least m out of any k consecutive jobs of a real-time task meet their deadlines. In order to ensure the (m, k)-hard requirement while preserving the system reliability, we propose to reserve recovery space for real-time jobs in an adaptive way based on the mandatory/optional job partitioning strategy. Moreover, efficient off-line/online scheduling techniques are proposed to reduce the overall energy consumption while satisfying the reliability requirement. Through extensive simulations, our experiment results demonstrate that the proposed techniques significantly outperformed the previous research in reducing energy consumption for (m, k)-hard embedded real-time systems while preserving the system reliability.
Similar content being viewed by others
Notes
The mandatory jobs are jobs that must meet their deadlines in order to satisfy the (m, k)-constraints, while the optional jobs can be executed to further improve the QoS or simply be dropped.
Since the probability of job failure is usually very small[48], we assume within each separate window of k jobs there could be at most one job failure given k is usually not a large value for real-time applications.
According to [7], the power consumption function for Intel XScale [18] can be modeled approximately as P a c t (s) = 1.52s 3 + 0.08 W a t t by treating 1GHz as the reference speed 1. We assume the shut down overhead to be E o = 0.8m J [7]. If the minimal processor speed is 0, the idle power consumption of the processor is 0.08 Watt and the corresponding shut down threshold is T t h = 10m s.
References
Burns, A., Tindell, K., & Wellings, A. (1995). Effective analysis for engineering real-time fixed priority schedulers. IEEE Transactions on Software Engineering, 21, 920–934.
AlEnawy, T.A., & Aydin, H. (2005). Energy-constrained scheduling for weakly-hard real-time systems. RTSS.
Antoniadis, A., Huang, C.C., & Ott, S. (2015). A fully polynomial-time approximation scheme for speed scaling with sleep state. In Proceedings of the twenty-sixth annual ACM-SIAM symposium on discrete algorithms, SODA ’15 (pp. 1102–1113). SIAM.
Aydin, H., Melhem, R., Mosse, D., & Alvarez, P. (2001). Determining optimal processor speeds for periodic real-time tasks with different power characteristics. In ECRTS01.
Castillo, X., McConnel, S.R., & Siewiorek, D.P. (1982). Derivation and calibration of a transient error reliability model. IEEE Transactions on Computers, 31, 658–671.
Chen, G., Huang, K., & Knoll, A. (2014). Energy optimization for real-time multiprocessor system-on-chip with optimal dvfs and dpm combination. ACM Transactions on Embedded Computing Systems, 13(3s), 111:1–111:21.
Chen, J.J., & Kuo, T.W. (2007). Procrastination determination for periodic real-time tasks in leakage-aware dynamic voltage scaling systems. In ICCAD.
Chetto, H., & Chetto, M. (1989). Some results of the earliest deadline scheduling algorithm. IEEE Transction On Software Engineering, 15(10), 1261–1269.
Das, A., Kumar, A., & Veeravalli, B. (2014). Energy-aware task mapping and scheduling for reliable embedded computing systems. ACM Transactions on Embedded Computing Systems, 13(2s), 72:1–72:27.
Degalahal, V., Li, L., Narayanan, V., Kandemir, M., & Irwin, M.J. (2005). Soft errors issues in low-power caches. IEEE Transactions Very Large Scale Integr. Syst., 13, 1157–1166.
Duque, L.A.R., Diaz, J.M.M., & Yang, C. (2015). Improving mpsoc reliability through adapting runtime task schedule based on time-correlated fault behavior. In Proceedings of the 2015 design, automation & test in europe conference & exhibition, DATE ’15 (pp. 818–823). San Jose, CA, USA: EDA Consortium.
Ernst, D., Das, S., Lee, S., Blaauw, D., Austin, T., Mudge, T., Kim, N.S., & Flautner, K. (2004). Razor: circuit-level correction of timing errors for low-power operation. Micro, IEEE, 24(6), 10–20. doi:10.1109/MM.2004.85.
F.M.M.U., I., & Lin, M. (2014). Learning based power management for periodic real-time tasks. In 2014 IEEE Intl Conf on High performance computing and communications, 2014 IEEE 6th intl symp on cyberspace safety and security, 2014 IEEE 11th intl conf on embedded software and syst (HPCC,CSS,ICESS) (pp. 534–541).
Hamdaoui, M., & Ramanathan, P. (1995). A dynamic priority assignment technique for streams with (m,k)-firm deadlines. IEEE Transactions on Computes, 44, 1443–1451.
Han, J.J., Lin, M., Zhu, D., & Yang, L. (2015). Contention-aware energy management scheme for noc-based multicore real-time systems. IEEE Transactions on Parallel and Distributed Systems, 26(3), 691–701.
Han, Q., Niu, L., Quan, G., Ren, S., & Ren, S. (2014). Energy efficient fault-tolerant earliest deadline first scheduling for hard real-time systems. Real-Time System, 50(5-6), 592–619.
Hua, S., & Qu, G. (2004). Energy-efficient dual-voltage soft real-time system with (m,k)-firm deadline guarantee. In CASE’04.
(2003). INTEL-XSCALE: http://developer.intel.com/design/xscale/.
Srinivasan, J.A.S.V., & Hu, C.K.B.P.R.J. (2003). Ramp: A model for reliability aware microprocessor design. IBM Research Report RC23048.
Kim, W., & Kim, J. (2002). S.l.min: A dynamic voltage scaling algorithm for dynamic-priority hard real-time systems using slack analysis. DATE.
Kong, F., Yi, W., & Deng, Q. (2011). Energy-effeicient scheduling of real-time tasks on cluster-based multicores. In DATE.
Koren, G., & Shasha, D. (1995). Skip-over: Algorithms and complexity for overloaded systems that allow skips. In RTSS.
Li, J., Shu, L., Chen, J.J., & Li, G. (2013). Energy-efficient scheduling in nonpreemptive systems with real-time constraints. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 43(2), 332–344.
Li, J., Song, Y., & Simonot-Lion, F. (2006). Providing real-time applications with graceful degradation of qos and fault tolerance according to (m,k)-firm model. IEEE Transactions on Industrial Informatics, 2(2), 112–119. doi:10.1109/TII.2006.875511.
Li, Z., Ren, S., & Quan, G. (2015). Energy minimization for reliability-guaranteed real-time applications using dvfs and checkpointing techniques. Journal of Systems Architecture, 61(2), 71–81.
Li, Z., Wang, L., Li, S., Ren, S., & Quan, G. (2013). Reliability guaranteed energy-aware frame-based task set execution strategy for hard real-time systems. Journal of Systems and Software, 86(12), 3060–3070.
Liu, C.L., & Layland, J.W. (1973). Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM, 17(2), 46–61.
Liu, J. (2000). Real-Time Systems. NJ: Prentice hall.
Mochocki, B., Hu, X., & Quan, G. (2002). A realistic variable voltage scheduling model for real-time applications. ICCAD.
Niu, L. (2011). Energy efficient scheduling for real-time systems with qos guarantee. Journal of Real-Time Systems, 47(2), 75– 108.
Niu, L., & Li, W. (2011). Energy-efficient fixed-priority scheduling for real-time systems based on threshold work-demand analysis. In CODES+ISSS.
Niu, L., & Quan, G. (2006). Energy minimization for real-time systems with (m,k)-guarantee. IEEE Transactions on VLSI, Special Section on Hardware/Software Codesign and System Synthesis, 14(7), 717–729.
Niu, L., & Quan, G. (2013). Leakage-aware scheduling for embedded real-time systems with (m, k)-constraints. International Journal of Embedded Systems, 5(4), 189–207.
Niu, L., & Quan, G. (2015). Peripheral-conscious energy-efficient scheduling for weakly hard realctime systems. International Journal of Embedded Systems, 7(1), 11–25.
Niu, L., & Xu, J. (2015). Improving schedulability and energy efficiency for window-constrained real-time systems with reliability requirement. Journal of Systems Architecture, 61(5), 210–226.
Pradhan, D.K. (Ed.) (1986). Fault-tolerant Computing: Theory and Techniques, Vol. 2. NJ, USA: Prentice-Hall, Inc., Upper Saddle River.
Quan, G., & Hu, X. (2000). Enhanced fixed-priority scheduling with (m,k)-firm guarantee. In RTSS (pp. 79–88).
Ramanathan, P. (1999). Overload management in real-time control applications using (m,k)-firm guarantee. IEEE Transactions on Parallel and Distributed Systems, 10(6), 549–559.
West, R., Zhang, Y., Schwan, K., & Poellabauer, C. (2004). Dynamic window-constrained scheduling of real-time streams in media servers. IEEE Transactions on Computers, 53(6), 744– 759.
Yi, J., Zhuge, Q., Hu, J., Gu, S., Qin, M., & Sha, E.H.M. (2015). Reliability-guaranteed task assignment and scheduling for heterogeneous multiprocessors considering timing constraint. Journal of Signal Processing Systems, 81(3), 359–375.
Yuan, W., & Nahrstedt, K. (2003). Energy-efficient soft real-time cpu scheduing for mobile multimedia systems. In SOSP.
Zhang, Y., Chakrabarty, K., & Swaminathan, V. (2003). Energy-aware fault tolerance in fixed-priority real-time embedded systems. In ICCAD-2003. International conference on computer aided design, 2003 (pp. 209–213).
Zhao, B., Aydin, H., & Zhu, D. (2011). Generalized reliability-oriented energy management for real-time embedded applications. In Proceedings of the 48th design automation conference, DAC ’11 (pp. 381–386).
Zhao, B., Aydin, H., & Zhu, D. (2012). Energy management under general task-level reliability constraints. In Proceedings of the 2012 IEEE 18th real time and embedded technology and applications symposium, RTAS ’12 (pp. 285–294). Washington, DC, USA.
Zhao, B., Aydin, H., & Zhu, D. (2013). Shared recovery for energy efficiency and reliability enhancements in real-time applications with precedence constraints. ACM Transactions on Design Automation of Electronic Systems, 18(2), 23:1–23:21.
Zhu, D., & Aydin, H. (2006). Energy management for real-time embedded systems with reliability requirements. In Proceedings of the 2006 IEEE/ACM international conference on computer-aided design, ICCAD ’06 (pp. 528–534). New York, NY, USA: ACM.
Zhu, D., & Aydin, H. (2009). Reliability-aware energy management for periodic real-time tasks. IEEE Transactions on Computers, 58(10), 1382–1397.
Zhu, D., Melhem, R., & Mosse, D. (2004). The effects of energy management on reliability in real-time embedded systems. In Proceedings of the 2004 IEEE/ACM international conference on computer-aided design, ICCAD ’04 (pp. 35–40).
Zhu, D., Qi, X., & Aydin, H. (2008). Energy management for periodic real-time tasks with variable assurance requirements. In Proceedings of the 2008 14th IEEE international conference on embedded and real-time computing systems and applications (pp. 259–268).
Acknowledgements
This work is supported in part by NSF under project CNS-1423137.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: Proof for Theorem 2
Note that, in the following proof, to be concise, we assume that all recovery jobs of the mandatory jobs are “merged” into their corresponding primary jobs and each merged job is considered as a “whole” job. To be simple, we still call the merged whole jobs as mandatory jobs. Also since in the following we only consider mandatory jobs, for brevity, we also use job(s) to refer to mandatory job(s) when there is no confusion.
Before proving Theorem 2, we first prove the following lemma:
Lemma 3
Let \(\mathcal {M}\) be the job set from \(\mathcal {T}\) consisting of all the mandatory jobs according to E-pattern together with their recovery jobs in \(\mathcal {X}\). Assume \(\mathcal {M}\) is schedulalbe when all tasks are released synchronously at time 0. If the processor starts its execution at \(t_{x} = \min (X_{j})\), j = 1, 2, ... , N, no mandatory job in \(\mathcal {M}\) will miss its deadline.
Proof
We use contradiction. For ease of presentation, we use \(\mathcal {J}(t_{1},t_{2})\) to represent the set of mandatory jobs with arrival times no earlier than t 1 and with deadlines no later than t 2. Meanwhile, we use W(t 1, t 2)to represent the total work demand within the interval [t 1, t 2] after delay. It is not hard to see that W(t 1, t 2) actually represents the work demand from jobs in \(\mathcal {J}(t_{1},t_{2})\) after delay. Then for a given time interval [t a , t b ] and an arbitrary time point \(\check {t}\) (\(t_{a} \leq \check {t} \leq t_{b}\)) in it, obviously, \(\mathcal {J}\) \((t_{a},\check {t})\cup \mathcal {J}(\check {t},t_{b})\subseteq \mathcal {J}\) (t a , t b ). Correspondingly, we have,
Suppose after delay, some job J k missed its deadline at d k . Then we have
As we know, before delay, when all tasks start at time 0 synchronously, the total work demand before any time t is \(({\sum }_{\tau _{x} \in \mathcal {X}} (\lceil \frac {(m_{x}+1)}{k_{x}} \lceil \frac {t-D_{x}}{T_{x}}\rceil ^{+} \rceil )\frac {C_{x}}{s_{x}} + {\sum }_{\tau _{y} \in \mathcal {Y}}\) \( (\lceil \frac {m_{y}}{k_{y}} \lceil \frac {t-D_{y}}{T_{y}}\rceil ^{+} \rceil )C_{y})\). Since there is no deadline missing before delay, we have
On the other hand, after delay, the work demand between the interval [0, d k ] cannot increase, so we have
Meanwhile, from Eq. 13, we have
Since after delay W(0, t x ) = 0, we have
In addition, by the definition of X k and t x , we have
From the above Eqs. 15, 18, and 19, it is easy to get that, after delay
which contradicts to Eq. 14 □
Then we can move on to prove Theorem 2 based on Lemma 3. Assume the processor begins to idle at time t, we consider two cases:
-
1) The next mandatory jobs of all tasks arrive simultaneously at time t a : If we let t a = 0, the situation is the same as in Lemma 3. So no future mandatory job will miss its deadline.
-
2) The next mandatory jobs of all tasks does not arrive simultaneously: In this case let r a be the earliest arrival time of all mandatory jobs. If we shift left all other tasks such that the arrival times of their next mandatory jobs coincide with r a , it is easy to see that after such kind of shifting the task set will become harder to be schedulable than the original one as the work demand that is required to be finished before any deadline will not be decreased. On the other hand, it is easy to see that after shifting the situation is the same as in case 1). According to Lemma 3, the conclusion holds.
Appendix B: Proof for Theorem 3
Proof
Since it’s already proven in Appendix A that \(\mathcal {J}\) could be delayed to t s safely, we only need to prove that \(\mathcal {J}\) could be delayed to \(\tilde {T}_{LS}({\mathcal J}) = \min _{J_{i} \in {\mathcal J}_{s}} (d^{*}_{i} - {\sum }_{J_{k} \in hp(J_{i})}(\frac {c_{k}}{s_{k}}))\) without causing any deadline missing. Let \(J_{n} \in {\mathcal J}_{s}\) and
Since \(\tilde {T}_{LS}({\mathcal J}) \leq t_{LS}(J_{n})\), therefore J n and all the jobs with prioritieslower than that of J n can meet their deadline. For any job J i with priority higher than that of J n , we consider two cases: (a) r i < t p d , (b) r i ≥ t p d . When r i < t p d , similarly as J n , its schedulability is guaranteed. This also guarantees the schedulability for the jobs arriving later than t p d with priorities higher than that of J n but lower than that of J i . Finally, for jobs arriving later than t p d with priorities higher than that ofany job in \({\mathcal J}_{s}\), they must be schedulable since delaying the job set till t L S (J n ) ≤ t p d has noimpact to their schedulability at all. □
Rights and permissions
About this article
Cite this article
Niu, L., Han, Q., Wang, T. et al. Reliability-Aware Energy Management for Embedded Real-Time Systems with (m, k)-Hard Timing Constraint. J Sign Process Syst 90, 515–536 (2018). https://doi.org/10.1007/s11265-017-1271-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-017-1271-5