Systematic Design of Self-Adaptive Embedded Systems with Applications in Image Processing
Total Page:16
File Type:pdf, Size:1020Kb
Systematic Design of Self-Adaptive Embedded Systems with Applications in Image Processing Der Technischen Fakultat¨ der Universitat¨ Erlangen-Nurnberg¨ zur Erlangung des Grades DOKTOR-INGENIEUR vorgelegt von Stefan Wildermann Erlangen – 2012 Als Dissertation genehmigt von der Technischen Fakult¨at der Universit¨at Erlangen-Nurnberg¨ Tag der Einreichung: . 16. April 2012 Tag der Promotion: . .25. July 2012 Dekanin: . Professorin Dr.-Ing. Marion Merklein Berichterstatter: . Professor Dr.-Ing. Jurgen¨ Teich Professor Dr.-Ing. Christian Muller-Schloer¨ Acknowledgments I would like to express my sincere gratitude to Prof. J¨urgenTeich for his super- vision and fruitful discussions throughout this work. His ideas, his enthusiasm, and his constant support were always encouraging factors during my work. I also wish to thank Prof. Christian M¨uller-Schloer for being the co-examiner of this work. My thanks also go to the other members of the Ph. D. commitee, Prof. Rolf Wanka and Prof. Sebastian Sattler. I have had a great deal of assistance and support from as well as discussion with my colleagues and students at the Chair of Hardware/Software Co-Design. Particularly, I have to thank Andreas Weichslgartner, Andreas Oetken, and Felix Reimann who supported me a lot during this work. I also wish to thank Prof. Zoran Salcic for the fruitful discussions during his stay in Erlangen. I am particularly grateful to all my friends and my family for their encour- agement and motivation from outside the academia. My biggest thanks go to my parents and to my wife Alina for all their love and support { without you I could never have done this. Stefan Wildermann Erlangen, December 2012 iii Contents 1 Introduction1 1.1 Self-adaptive Systems........................2 1.2 Embedded Computer Vision....................3 1.3 Self-adaptive Embedded Systems.................3 1.4 Contributions of this Thesis....................4 1.5 Outline of this Thesis........................9 2 Self-adaptive Systems 11 2.1 Hierarchical Classification of Self-* Properties.......... 11 2.2 Adaptive and Self-managing Systems............... 13 2.2.1 Definition of Adaptive Systems.............. 13 2.2.2 Definition of Self-managing Systems............ 15 2.3 Behavior Adaptation........................ 17 2.4 Self-adaptive and Self-organizing Systems............. 20 2.5 Self-Adaptation in Embedded Systems.............. 21 2.6 Related Work............................ 25 2.6.1 Organic Computing..................... 25 2.6.2 Reconfigurable Computing................. 26 2.6.3 Invasive Computing..................... 27 2.7 Summary.............................. 27 3 Embedded Imaging in Smart Cameras 29 3.1 Smart Cameras........................... 29 3.1.1 Characteristics of Smart Cameras............. 29 3.1.2 System Components of Smart Cameras.......... 30 3.1.3 Embedded Technology for Building Smart Cameras... 30 3.2 Taxonomy of Smart Cameras................... 33 3.3 Related Work............................ 34 3.4 Summary.............................. 36 v Contents 4 A Methodology for Self-adaptive Object Tracking 37 4.1 Related Work............................ 38 4.2 Probabilistic Tracking....................... 38 4.3 Multi-filter Tracking with Particle Filters............. 41 4.3.1 Multi-Object Tracking................... 42 4.4 Self-Adaptive Multi-filter Tracking................ 43 4.4.1 System Monitoring..................... 45 4.4.2 Parameter Adaptation by Democratic Integration.... 46 4.4.3 Structure Adaptation.................... 46 4.5 Experimental Evaluation...................... 49 4.5.1 System Setup........................ 49 4.5.2 Results............................ 52 4.6 Discussion.............................. 59 4.7 Summary.............................. 61 5 Architectures for Self-adaptive Embedded Systems 65 5.1 Static Hardware/Software Co-Design of Self-adaptive Multi-Filter Fusion................................ 66 5.1.1 The Prototype Platform.................. 66 5.1.2 Hardware/Software Partitioning.............. 66 5.1.3 Experimental Results.................... 71 5.1.4 Conclusion.......................... 72 5.2 Partially Reconfigurable Systems................. 74 5.2.1 Challenges of Partial Reconfiguration........... 74 5.2.2 Enabling Partial Reconfiguration in Tiled FPGA Archi- tectures........................... 76 5.2.3 Communication Techniques................ 78 5.3 Partially Reconfigurable System-on-Chip Architectures..... 79 5.3.1 Reconfigurable On-Chip Bus................ 80 5.3.2 Reconfigurable Modules.................. 81 5.3.3 PLB/RCB Bridge...................... 82 5.3.4 I/O Bar........................... 84 5.4 Implementation and Experimental Results............ 87 5.4.1 Reconfigurable System on Chip (SoC) Design...... 87 5.4.2 Smart Camera Application................. 89 5.4.3 Run-time Self-Reconfiguration............... 91 5.4.4 Evaluation of the Tracking Application Implementation. 95 5.5 Summary.............................. 97 6 A Design Methodology for Self-adaptive Reconfigurable Systems 99 6.1 Formal Description of Self-adaptive Reconfigurable Systems.. 99 vi Contents 6.2 Related Work............................ 103 6.2.1 Design Flows for Reconfigurable Systems......... 103 6.2.2 System Level Design Methodologies............ 106 6.3 System Level Synthesis Flow for Self-adaptive Multi-mode Systems111 6.4 Exploration Model......................... 113 6.4.1 Application Model..................... 114 6.4.2 Architectural Model.................... 115 6.4.3 Design Space........................ 118 6.4.4 Feasible Implementations.................. 120 6.5 Configuration Space Exploration by Feasible Mode Exploration 120 6.5.1 Problem Formulation (Configuration Space Exploration) 121 6.5.2 Analysis of Feasible Modes................. 121 6.5.3 Feasible Mode Exploration Algorithm........... 123 6.5.4 Pseudo Boolean SAT Solving............... 125 6.5.5 Symbolic Encoding of Feasible Modes........... 127 6.6 DSE of Partially Reconfigurable Multi-mode Systems...... 132 6.6.1 Problem Formulation (Design Space Exploration).... 132 6.6.2 SAT Decoding for DSE................... 133 6.6.3 Symbolic Encoding of Multi-mode Implementations... 134 6.7 Pruning Strategy.......................... 138 6.7.1 Partitioning and Placement as Problem Hierarchies... 138 6.7.2 Motivational Example................... 140 6.7.3 Combining Partitioning and Placement (comb)...... 143 6.8 Experimental Evaluation...................... 144 6.8.1 Feasible Mode Exploration................. 145 6.8.2 Comparison of Design Space Exploration with a State-of- the-Art Approach...................... 159 6.8.3 Evaluation of Pruning Strategy for Design Space Explo- ration............................ 164 6.8.4 Conclusion.......................... 168 6.9 Summary.............................. 170 7 Conclusion and Future Directions 173 7.1 Future Directions.......................... 175 German Part 177 Bibliography 183 Author’s Own Publications 203 List of Symbols 207 vii Contents Acronyms 211 Index 213 viii 1 Introduction In 1965, Gordon Moore stated his famous law [Moo65], saying that the num- ber of transistors that can be placed inexpensively in an integrated circuit (IC) doubles approximately every two years. Despite its empirical foundation, the prediction has proven right since its formulation. This trend has affected our life today more drastically than one might have expected back then. The last decades witnessed the development of the personal computer and the Inter- net. Nowadays,ICs have become an integral part of a multitude of devices and equipment with which we are dealing everyday, and we are speaking of embed- ded systems as they are computer systems that are embedded into a technical context. Their fields of application cover many areas. From telecommunica- tion systems, automobiles, to consumer electronics { embedded systems can be found nearly everywhere. This ubiquity of computers in our everyday life has led to the paradigm of ubiquitous computing. It was introduced by Mark Weiser, who already argued in 1991 [Wei91] that specialized elements of hardware and software will be so ubiquitous that no one will notice their presence. While we think of the prospects of how Moore's law affects the computational power of modern embedded technology, we must not forget that the complexity of embedded system design grows equally. Designing embedded systems of any kind already is a tedious task. Many approaches have been proposed and applied for several years. But, as we will also see in this thesis, the complexity of novel embedded applications makes it even more difficult to design such systems. Embedded systems operating in dynamic and highly unpredictable real world environments have to provide multiple, often very computationally expensive algorithms on the one hand. On the other hand, they are subject to stringent design constraints, e.g., regarding their cost, size, real-time capabilities and power consumption, which drastically reduces the available processing power. Self-adaptation is a promising concept to tackle this problem. Self-adaptive systems are able to autonomously change their behavior at run-time to react to changes of the environment, of the system objectives, or of the system itself. The remainder of this chapter gives an introduction to self-adaptive systems. Embedded imaging is then motivated as the field of application for embedded technology that is considered in this thesis. After having motivated both topics, 1 1. Introduction combining concepts of self-adaptivity with embedded system