Abstract
Modern embedded systems must have high reliability and performance. They should be able to tolerate both hard as well as soft errors occurring in the resources constituting the system. Reliability must be part of the system design and the system must consist of non expensive off-the-shelf resources. A system-level design process of reliable system demands efficient reliability evaluation of the explored design alternatives (DA). This work presents a new approach to accelerate the calculation of reliability and execution time of the system and thereby suggests the design space exploration for a reliable system. A new data structure denoted as system error decision diagram (SEDD) is proposed, which is based on both binary decision diagrams to model hard errors and zero-suppressed decision diagrams to model soft errors. The construction of the SEDD diagram and the calculation of reliability and execution time are explained in an algorithmic way. SEDD is found to be better in terms of memory requirements and construction time compared to other models available in the literature. Using SEDD and the corresponding algorithms, a nested genetic algorithm is constructed that designs system for lifetime reliability and execution time. The result of the design space exploration algorithm is a set of Pareto DAs. A so-called ‘human designer’ is thus able to select one of the best alternative that represents the given system requirements. The nested genetic algorithm and its benefits are illustrated using a real-life embedded application from automotive domain.
Similar content being viewed by others
References
Moore GE (1965) Cramming more components onto integrated circuits. Electronics 38(8):114–117
Feng S, Gupta S, Ansari A, Mahlke SA (2010) Shoestring: probabilistic soft error reliability on the cheap. In: ACM Architectural support for programming languages and operating systems, pp 385–396
Srinivasan J, Adve SV, Bose P, Rivers JA (2004) The impact of technology scaling on lifetime reliability. In: IEEE/IFIP dependable systems and networks. IEEE Computer Society, pp 177–186
Mulroy J (2011) 1000-core processor eats quad-core cpus for lunch. http://www.pcworld.com/article/215113/1000core_processor_eats_quadcore_cpus _for_lunch.html. 29th Dec 2011
Israr A (2012) Reliability aware high-level embedded system design in presence of hard and soft errors. Ph.D. thesis, Technische Universität Darmstadt
Biedermann A, Huss SA, Israr A (2015) Safe dynamic reshaping of reconfigurable mpsoc embedded systems for self-healing and self-adaption purposes. ACM Trans Reconfig Technol Syst 8(4):1–22
Huang L, Xu Q (2010) Agesim: a simulation framework for evaluating the lifetime reliability of processor-based socs. In: ACM/IEEE design, automation, and test in Europe, pp 51–56
Huang L, Yuan F, Xu Q (2009) Lifetime reliability-aware task allocation and scheduling for mpsoc platforms. In: ACM/IEEE design, automation and test in Europe, pp 51–56
Karl E, Blaauw D, Sylvester D, Mudge TN (2006) Reliability modeling and management in dynamic microprocessor-based systems. In: ACM/IEEE design automation conference, pp 1057–1060
Zhu C, Gu Z, Dick RP, Shang L (2007) Reliable multiprocessor system-on-chip synthesis. In: ACM/IEEE international conference on hardware/software codesign and system synthesis, pp 239–244
Srinivasan J, Adve SV, Bose P, Rivers JA (2005) Exploiting structural duplication for lifetime reliability enhancement. In: ACM/IEEE international symposium on computer architecture, pp 520–531
Lee C, Kim H, Park HW, Kim S, Oh H, Ha S (2010) A task remapping technique for reliable multi-core embedded systems. In: ACM/IEEE international conference on hardware/software codesign and system synthesis, pp 307–316
Meyer BH, Hartman AS, Thomas DE (2010) Cost-effective slack allocation for lifetime improvement in NoC-based MPSoCs. In: ACM/IEEE design, automation, and test in Europe, pp 1596–1601
Bolchini C, Pomante L, Salice F, Sciuto D (2002) Reliability properties assessment at system level: a co-design framework. J Electron Test 18(3):351–356
Bolchini C, Pomante L, Salice F, Sciuto D (2002) A system level approach in designing dual-duplex fault tolerant embedded systems. In: IEEE international on-line testing workshop. IEEE Computer Society, pp 32–36
Xie Y, Li L, Kandemir MT, Vijaykrishnan N, Irwin MJ (2007) Reliability-aware co-synthesis for embedded systems. VLSI Signal Process 49(1):87–99
Xie Y, Li L, Kandemir MT, Vijaykrishnan N, Irwin MJ (2004) Reliability-aware co-synthesis for embedded systems. In: IEEE application-specific systems, architectures, and processors, pp 41–50
Izosimov V, Pop P, Eles P, Peng Z (2006) Synthesis of fault-tolerant schedules with transparency/performance trade-offs for distributed embedded systems. In: ACM/IEEE design, automation, and test in Europe, pp 706–711
Izosimov V, Pop P, Eles P, Peng Z (2008) Scheduling of fault-tolerant embedded systems with soft and hard timing constraints. In: ACM/IEEE design, automation, and test in Europe, pp 915–920
Izosimov V, Polian I, Pop P, Eles P, Peng Z (2009) Analysis and optimization of fault-tolerant embedded systems with hardened processors. In: ACM/IEEE design, automation, and test in Europe, pp 682–687
Izosimov V, Pop P, Eles P, Peng Z (2005) Design optimization of time-and cost-constrained fault-tolerant distributed embedded systems. In: ACM/IEEE design, automation and test in Europe, pp 864–869
Conner JN, Xie Y, Kandemir MT, Dick RP, Link GM (2005) FD-HGAC: a hybrid heuristic/genetic algorithm hardware/software co-synthesis framework with fault detection. In: ACM/IEEE conference on Asia South Pacific design automation, pp 709–712
Calvert C, Hamza-Lup GL, Agarwal A, Alhalabi B (2011) An integrated component selection framework for system-level design. In: IEEE international systems conference, pp 261–266
Srinivasan J, Adve SV, Bose P, Rivers JA (2005) Lifetime reliability: toward an architectural solution. IEEE Micro 25(3):70–80
Constantinides K, Plaza S, Blome JA, Bertacco V, Mahlke SA, Austin TM, Zhang B, Orshansky M (2007) Architecting a reliable CMP switch architecture. ACM Trans Archit Code Optim 4(1):2-es
Grüttner K, Herrholz A, Kuhne U, Grosse D, Rettberg A, Nebel W, Drechsler R (2011) Towards dependability-aware design of hardware systems using extended program state machines. In: IEEE international symposium on object/component/service-oriented real-time distributed computing workshops, pp 181–188
Jhumka A, Klaus S, Huss SA (2005) A dependability-driven system-level design approach for embedded systems. In: IEEE/ACM design, automation, and test in Europe, pp 372–377
Glaß M, Lukasiewycz M, Streichert T, Haubelt C, Teich J (2007) Reliability-aware system synthesis. In: ACM/IEEE design, automation, and test in Europe. IEEE Computer Society, pp 409–414
Glaß M, Lukasiewycz M, Reimann F, Haubelt CH, Teich J (2008) Symbolic Reliability Analysis and Optimization of ECU Networks. In: ACM/IEEE design, automation, and test in Europe. IEEE Computer Society, pp 158–163
Glaß M, Lukasiewycz M, Haubelt C, Teich J (2010) Towards scalable system-level reliability analysis. In: ACM/IEEE design automation conference, pp 234–239
Gerasoulis A, Yang T (1992) A comparison of clustering heuristics for scheduling dags on multiprocessors. J Parallel Distrib Comput 16(4):276–291
Khan AA, McCreary CL, Jones MS (1994) A comparison of multiprocessor scheduling heuristics. In: IEEE international conference on parallel processing, pp 243–250
Shirazi B, Wang M, Pathak G (1990) Analysis and evaluation of heuristic methods for static task scheduling. J Parallel Distrib Comput 10:222–223
Kwok YK, Ahmad I (1998) Benchmarking the task graph scheduling algorithms. In: IEEE international parallel processing symposium IPPS ’98. IEEE Computer Society, p 531
Jensen AR, Lauritzen LB, Laursen O (2004) Optimal task graph scheduling with binary decision diagrams
Lawler EL (1978) Sequencing jobs to minimize total weighted completion time subject to precedence constraints. In: Hell P, Alspach B, Miller DJ (eds) Algorithmic aspects of combinatorics, vol 2. Annals of discrete mathematics. Elsevier, Amsterdam, pp 75–90
Topcuoglu H, Hariri S, Wu MY (1999) Task scheduling algorithms for heterogeneous processors. In: IEEE heterogeneous computing workshop. HCW ’99. IEEE Computer Society, p 3
Topcuoglu H, Wu MY (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(2):260–274
Kwok YK, Ahmad I (1996) Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors. IEEE Trans Parallel Distrib Syst 7(5):506–521
Fei Y, Xiaoli D, Changjun J, Rong D (2009) Directed acyclic task graph scheduling for heterogeneous computing systems by dynamic critical path duplication algorithm. J Algorithms Comput Technol 3(2):247–270
Maheswaran M, Siegel HJ (1998) A dynamic matching and scheduling algorithm for heterogeneous computing systems. In: IEEE heterogeneous computing workshop. Society Press, pp 57–69
Girault A, Saule E, Trystram D (2009) Reliability versus performance for critical applications. J Parallel Distrib Comput 69(3):326–336
Minato S (1993) Zero-suppressed BDDs for set manipulation in combinatorial problems. In: ACM/IEEE design automation conference, pp 272–277
Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput C–35(8):677–691
Wall M (2008) Galib, a c++ library of genetic algorithm components. http://lancet.mit.edu/ga/
Vintr Z, Vintr M, Malach J (2011) Does appropriate software support for target identification exist? In: IEEE international Carnahan conference on security technology, pp 1–5
Rauzy A (1993) New algorithms for fault tree analysis. Reliab Eng Syst Saf 40:203–211
Traveling sale’s man problem. http://en.wikipedia.org/wiki/Travelling_salesman_problem
Pop P (2003) Analysis and synthesis of communication-intensive heterogeneous real-time systems, Ph.D. thesis, Institue of Technology Linköping University
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Israr, A., Kaleem, M., Nazir, S. et al. Nested genetic algorithm for highly reliable and efficient embedded system design. Des Autom Embed Syst 24, 185–221 (2020). https://doi.org/10.1007/s10617-020-09234-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-020-09234-6