Skip to main content

Advertisement

Log in

Reliability-Aware Energy Management for Embedded Real-Time Systems with (m, k)-Hard Timing Constraint

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7

Similar content being viewed by others

Notes

  1. 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.

  2. 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.

  3. 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

  1. Burns, A., Tindell, K., & Wellings, A. (1995). Effective analysis for engineering real-time fixed priority schedulers. IEEE Transactions on Software Engineering, 21, 920–934.

    Article  Google Scholar 

  2. AlEnawy, T.A., & Aydin, H. (2005). Energy-constrained scheduling for weakly-hard real-time systems. RTSS.

  3. 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.

  4. Aydin, H., Melhem, R., Mosse, D., & Alvarez, P. (2001). Determining optimal processor speeds for periodic real-time tasks with different power characteristics. In ECRTS01.

  5. 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.

    Article  Google Scholar 

  6. 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.

    Article  Google Scholar 

  7. Chen, J.J., & Kuo, T.W. (2007). Procrastination determination for periodic real-time tasks in leakage-aware dynamic voltage scaling systems. In ICCAD.

  8. Chetto, H., & Chetto, M. (1989). Some results of the earliest deadline scheduling algorithm. IEEE Transction On Software Engineering, 15(10), 1261–1269.

  9. 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.

    Article  Google Scholar 

  10. 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.

    Article  Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Article  Google Scholar 

  13. 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).

    Google Scholar 

  14. Hamdaoui, M., & Ramanathan, P. (1995). A dynamic priority assignment technique for streams with (m,k)-firm deadlines. IEEE Transactions on Computes, 44, 1443–1451.

    Article  MATH  Google Scholar 

  15. 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.

    Article  Google Scholar 

  16. 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.

    Article  MATH  Google Scholar 

  17. Hua, S., & Qu, G. (2004). Energy-efficient dual-voltage soft real-time system with (m,k)-firm deadline guarantee. In CASE’04.

  18. (2003). INTEL-XSCALE: http://developer.intel.com/design/xscale/.

  19. 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.

  20. Kim, W., & Kim, J. (2002). S.l.min: A dynamic voltage scaling algorithm for dynamic-priority hard real-time systems using slack analysis. DATE.

  21. Kong, F., Yi, W., & Deng, Q. (2011). Energy-effeicient scheduling of real-time tasks on cluster-based multicores. In DATE.

  22. Koren, G., & Shasha, D. (1995). Skip-over: Algorithms and complexity for overloaded systems that allow skips. In RTSS.

  23. 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.

    Article  Google Scholar 

  24. 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.

    Article  Google Scholar 

  25. 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.

    Article  Google Scholar 

  26. 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.

    Article  Google Scholar 

  27. 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.

    Article  MathSciNet  MATH  Google Scholar 

  28. Liu, J. (2000). Real-Time Systems. NJ: Prentice hall.

    Google Scholar 

  29. Mochocki, B., Hu, X., & Quan, G. (2002). A realistic variable voltage scheduling model for real-time applications. ICCAD.

  30. Niu, L. (2011). Energy efficient scheduling for real-time systems with qos guarantee. Journal of Real-Time Systems, 47(2), 75– 108.

    Article  MATH  Google Scholar 

  31. Niu, L., & Li, W. (2011). Energy-efficient fixed-priority scheduling for real-time systems based on threshold work-demand analysis. In CODES+ISSS.

  32. 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.

  33. 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.

    Article  Google Scholar 

  34. Niu, L., & Quan, G. (2015). Peripheral-conscious energy-efficient scheduling for weakly hard realctime systems. International Journal of Embedded Systems, 7(1), 11–25.

    Article  Google Scholar 

  35. 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.

    Article  Google Scholar 

  36. Pradhan, D.K. (Ed.) (1986). Fault-tolerant Computing: Theory and Techniques, Vol. 2. NJ, USA: Prentice-Hall, Inc., Upper Saddle River.

  37. Quan, G., & Hu, X. (2000). Enhanced fixed-priority scheduling with (m,k)-firm guarantee. In RTSS (pp. 79–88).

    Google Scholar 

  38. 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.

    Article  Google Scholar 

  39. 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.

    Article  Google Scholar 

  40. 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.

    Article  Google Scholar 

  41. Yuan, W., & Nahrstedt, K. (2003). Energy-efficient soft real-time cpu scheduing for mobile multimedia systems. In SOSP.

  42. 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).

    Google Scholar 

  43. 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).

    Chapter  Google Scholar 

  44. 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.

  45. 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.

    Article  Google Scholar 

  46. 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.

    Google Scholar 

  47. Zhu, D., & Aydin, H. (2009). Reliability-aware energy management for periodic real-time tasks. IEEE Transactions on Computers, 58(10), 1382–1397.

    Article  MathSciNet  MATH  Google Scholar 

  48. 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).

    Google Scholar 

  49. 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).

    Google Scholar 

Download references

Acknowledgements

This work is supported in part by NSF under project CNS-1423137.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Linwei Niu.

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,

$$ W(t_{a}, \check{t}) + W(\check{t}, t_{b}) \leq W(t_{a}, t_{b}) $$
(13)

Suppose after delay, some job J k missed its deadline at d k . Then we have

$$ W(t_{x}, d_{k}) > d_{k} - t_{x} $$
(14)

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

$$\begin{array}{@{}rcl@{}} &&\left( \sum\limits_{\tau_{x} \in \mathcal{X}} \left( \lceil \frac{(m_{x}+1)}{k_{x}} \lceil \frac{d_{k}-D_{x}}{T_{x}}\rceil^{+} \rceil\right)\frac{C_{x}}{s_{x}}\right. \\&&\left.+ \sum\limits_{\tau_{y} \in \mathcal{Y}} \left( \lceil \frac{m_{y}}{k_{y}} \lceil \frac{d_{k}-D_{y}}{T_{y}}\rceil^{+} \rceil\right)C_{y}\right) + X_{k} \leq d_{k} \end{array} $$
(15)

On the other hand, after delay, the work demand between the interval [0, d k ] cannot increase, so we have

$$\begin{array}{@{}rcl@{}} W(0, d_{k}) \leq &&\left( \sum\limits_{\tau_{x} \in \mathcal{X}} \left( \lceil \frac{(m_{x}+1)}{k_{x}} \lceil \frac{d_{k}-D_{x}}{T_{x}}\rceil^{+} \rceil\right)\frac{C_{x}}{s_{x}}\right. \\&&\left.+ \sum\limits_{\tau_{y} \in \mathcal{Y}} \left( \lceil \frac{m_{y}}{k_{y}} \lceil \frac{d_{k}-D_{y}}{T_{y}}\rceil^{+} \rceil\right)C_{y}\right) \end{array} $$
(16)

Meanwhile, from Eq. 13, we have

$$ W(0, t_{x}) + W(t_{x}, d_{k}) \leq W(0, d_{k}) $$
(17)

Since after delay W(0, t x ) = 0, we have

$$\begin{array}{@{}rcl@{}} W(t_{x}, d_{k})\! \!\leq\! W(0, d_{k}) \!\leq\!\!\! &&\!\left( \sum\limits_{\tau_{x} \in \mathcal{X}} \!\left( \lceil \frac{(m_{x}+1)}{k_{x}} \lceil \frac{d_{k}-D_{x}}{T_{x}}\rceil^{+} \rceil\right)\frac{C_{x}}{s_{x}}\right.\\&& \left.+\! \sum\limits_{\tau_{y} \in \mathcal{Y}} \left( \lceil \frac{m_{y}}{k_{y}} \lceil \frac{d_{k}-D_{y}}{T_{y}}\rceil^{+} \rceil\right)C_{y}\right) \end{array} $$
(18)

In addition, by the definition of X k and t x , we have

$$ t_{x} \leq X_{k} $$
(19)

From the above Eqs. 1518, and 19, it is easy to get that, after delay

$$ W(t_{x}, d_{k}) \leq d_{k} - t_{x} $$
(20)

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

$$ t_{LS}(J_{n})= d^{*}_{n} - \sum\limits_{J_{i} \in hp(J_{n})}\frac{c_{i}}{s_{i}}. $$
(21)

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-017-1271-5

Keywords

Navigation