Skip to main content

Advertisement

Log in

Nested genetic algorithm for highly reliable and efficient embedded system design

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

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.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. Moore GE (1965) Cramming more components onto integrated circuits. Electronics 38(8):114–117

    Google Scholar 

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

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

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

  5. Israr A (2012) Reliability aware high-level embedded system design in presence of hard and soft errors. Ph.D. thesis, Technische Universität Darmstadt

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

    Article  Google Scholar 

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

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

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

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

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

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

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

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

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

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

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

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

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

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

  24. Srinivasan J, Adve SV, Bose P, Rivers JA (2005) Lifetime reliability: toward an architectural solution. IEEE Micro 25(3):70–80

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

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

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

  30. Glaß M, Lukasiewycz M, Haubelt C, Teich J (2010) Towards scalable system-level reliability analysis. In: ACM/IEEE design automation conference, pp 234–239

  31. Gerasoulis A, Yang T (1992) A comparison of clustering heuristics for scheduling dags on multiprocessors. J Parallel Distrib Comput 16(4):276–291

    Article  MathSciNet  Google Scholar 

  32. Khan AA, McCreary CL, Jones MS (1994) A comparison of multiprocessor scheduling heuristics. In: IEEE international conference on parallel processing, pp 243–250

  33. Shirazi B, Wang M, Pathak G (1990) Analysis and evaluation of heuristic methods for static task scheduling. J Parallel Distrib Comput 10:222–223

    Article  Google Scholar 

  34. Kwok YK, Ahmad I (1998) Benchmarking the task graph scheduling algorithms. In: IEEE international parallel processing symposium IPPS ’98. IEEE Computer Society, p 531

  35. Jensen AR, Lauritzen LB, Laursen O (2004) Optimal task graph scheduling with binary decision diagrams

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

    Chapter  Google Scholar 

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

  38. Topcuoglu H, Wu MY (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(2):260–274

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

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

  42. Girault A, Saule E, Trystram D (2009) Reliability versus performance for critical applications. J Parallel Distrib Comput 69(3):326–336

    Article  Google Scholar 

  43. Minato S (1993) Zero-suppressed BDDs for set manipulation in combinatorial problems. In: ACM/IEEE design automation conference, pp 272–277

  44. Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput C–35(8):677–691

    Article  Google Scholar 

  45. Wall M (2008) Galib, a c++ library of genetic algorithm components. http://lancet.mit.edu/ga/

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

  47. Rauzy A (1993) New algorithms for fault tree analysis. Reliab Eng Syst Saf 40:203–211

    Article  Google Scholar 

  48. Traveling sale’s man problem. http://en.wikipedia.org/wiki/Travelling_salesman_problem

  49. Pop P (2003) Analysis and synthesis of communication-intensive heterogeneous real-time systems, Ph.D. thesis, Institue of Technology Linköping University

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad Kaleem.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-020-09234-6

Keywords

Navigation