Abstract
For autonomous critical real-time embedded (e.g., satellite), guaranteeing a very high level of reliability is as important as keeping the power consumption as low as possible. We propose an off-line scheduling heuristic which, from a given software application graph and a given multiprocessor architecture (homogeneous and fully connected), produces a static multiprocessor schedule that optimizes three criteria: its length (crucial for real-time systems), its reliability (crucial for dependable systems), and its power consumption (crucial for autonomous systems). Our tricriteria scheduling heuristic, called TSH, uses the active replication of the operations and the data-dependencies to increase the reliability and uses dynamic voltage and frequency scaling to lower the power consumption. We demonstrate the soundness of TSH. We also provide extensive simulation results to show how TSH behaves in practice: first, we run TSH on a single instance to provide the whole Pareto front in 3D; second, we compare TSH versus the ECS heuristic (Energy-Conscious Scheduling) from the literature; and third, we compare TSH versus an optimal Mixed Linear Integer Program.
Similar content being viewed by others
Notes
Because \(\varLambda _B(o_i,\mathcal Q _k)\) is not the GSFR of the partial schedule \(S^{(n+1)}\) but only of the macro-block of \(o_i\), it does not bear the superscript \((n+1)\).
References
Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secure Comput. 1(1), 11–33 (2004)
Balaban, H.S.: Some effects of redundancy on system reliability. In: National symposium on reliability and quality control, pp. 385–402. Washington, USA (1960)
Baleani, M., Ferrari, A., Mangeruca, L., Peri, M., Pezzini, S., Sangiovanni-Vincentelli, A.: Fault-tolerant platforms for automotive safety-critical applications. In: International conference on compilers, architectures and synthesis for embedded systems, CASES’03, San Jose (CA), USA. ACM, New-York, November 2003
Benoit, A., Dufossé, F., Girault, A., Robert, Y.: Reliability and performance optimization of pipelined real-time systems. In: International Conference on Parallel Processing, ICPP’10, pp. 150–159, San Diego (CA), USA, September 2010
Burd, T.D., Brodersen, R.W.: Energy efficient CMOS micro-processor design. In: Hawaii international conference on system sciences, HICSS’95, Honolulu (HI), USA. IEEE, Los Alamitos (1995)
Colin, A., Puaut, I.: Worst case execution time analysis for a processor with branch prediction. Real Time Syst. 18(2/3), 249–274 (2000)
Ibm, ILOG CPLEX Optimizer. http://www-01.ibm.com/software/integration/optimization/cplex-optimizer (2010). Accessed 4 Sept 2012
Dogan, A., Özgüner, F.: Matching and scheduling algorithms for minimizing execution time and failure probability of applications in heterogeneous computing. IEEE Trans. Parallel Distrib. Syst. 13(3), 308–323 (2002)
Elnozahy, E., Kistler, M., Rajamony, R.: Energy-efficient server clusters. In: Workshop on Power-Aware Computing Systems, WPACS’02, pp. 179–196, Cambridge, USA, February 2002
Ferdinand, C., Heckmann, R., Langenbach, M., Martin, F., Schmidt, M., Theiling, H., Thesing, S., Wilhelm, R.: Reliable and precise WCET determination for a real-life processor. In International Workshop on Embedded Software, EMSOFT’01. LNCS, vol 2211. Tahoe City, Springer, USA, October 2001
Gärtner, F.: Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Comput. Surv. 31(1), 1–26 (1999)
Girault, A., Kalla, H.: A novel bicriteria scheduling heuristics providing a guaranteed global system failure rate. IEEE Trans. Dependable Secure Comput. 6(4), 241–254 (2009)
Girault, A., Saule, E., Trystram, D.: Reliability versus performance for critical applications. J. Parallel Distrib. Comput. 69(3), 326–336 (2009)
Grandpierre, T., Lavarenne, C., Sorel, Y.: Optimized rapid prototyping for real-time embedded heterogeneous multiprocessors. In: International Workshop on Hardware/Software Co-Design, CODES’99, Rome, Italy, ACM, New-York, May 1999
Hu, T.C.: Parallel sequencing and assembly line problems. Oper. Res. 9, 841–848 (1961)
Knight, J.C., Leveson, N.G.: An experimental evaluation of the assumption of independence in multi-version programming. IEEE Trans. Softw. Eng. 12(1), 96–109 (1986)
Kopetz, H.: Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, Hingham (1997)
Lee, Y.C., Zomaya, A.Y.: Minimizing energy consumption for precedence-constrained applications using dynamic voltage scaling. In: IEEE/ACM international symposium on cluster computing and the grid, SCCG’09 (2009)
Leung, J.Y.-T. (ed.): Handbook of Scheduling. Algorithms: Models, and Performance Analysis. Chapman& Hall/CRC Press, Boca Raton (2004)
Lloyd, D., Lipow, M.: Reliability: Management, Methods, and Mathematics, chapter 9. Prentice-Hall, USA (1962)
Luo, J., Peh, L.-S., Jha, N.: Simultaneous dynamic voltage scaling of processors and communication links in real-time distributed embedded systems. In: Design automation and test in Europe conference, DATE’03, pp. 1150–1151, Munich, Germany, March 2003
Melhem, R., Mossé, D., Elnozahy, E.N.: The interplay of power management and fault recovery in real-time systems. IEEE Trans. Comput. 53(2), 217–231 (2004)
Pering, T., Burd, T.D., Brodersen, R.W.: The simulation and evaluation of dynamic voltage scaling algorithms. In: International symposium on low power electronics and design, ISLPED’98, pp. 76–81, Monterey (CA), USA, ACM, New-York, August 1998
Pop, P., Poulsen, K., Izosimov, V.: Scheduling and voltage scaling for energy/reliability trade-offs in fault-tolerant time-triggered embedded systems. In: International conference on hardware-software codesign and system synthesis, CODES+ISSS’07, Salzburg, Austria, ACM, New-York, October 2007
Shatz, S.M., Wang, J.-P.: Models and algorithms for reliability-oriented task-allocation in redundant distributed-computer systems. IEEE Trans. Reliab. 38(1), 16–26 (1989)
Souyris, J., Pavec, E.L., Himbert, G., Jégu, V., Borios, G., Heckmann, R.: Computing the worst case execution time of an avionics program by abstract interpretation. In: International Workshop on Worst-case Execution Time, WCET’05, pp. 21–24, Mallorca, Spain, July 2005
Theiling, H., Ferdinand, C., Wilhelm, R.: Fast and precise WCET prediction by separate cache and path analyses. Real-time Syst. 18(2/3), 157–179 (2000)
T’kindt, V., Billaut, J.-C.: Multicriteria Scheduling: Theory, Models and Algorithms. Springer, Berlin (2006)
Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenström, P.: The determination of worst-case execution times–overview of the methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7(3), 1–53 (2008)
Zhu, D., Melhem, R., Mossé, D.: The effects of energy management on reliability in real-time embedded systems. In: International conference on computer aided design, ICCAD’04, pp. 35–40, San Jose, USA, November 2004
Author information
Authors and Affiliations
Corresponding author
Additional information
A short version of this article has been published in the proceedings of the SAFECOMP’11 International Conference, September 2011, Napoli, Italy.
Rights and permissions
About this article
Cite this article
Assayad, I., Girault, A. & Kalla, H. Tradeoff exploration between reliability, power consumption, and execution time for embedded systems. Int J Softw Tools Technol Transfer 15, 229–245 (2013). https://doi.org/10.1007/s10009-012-0263-9
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-012-0263-9