Model-Based Application Development for Massively Parallel Embedded Systems

The development of embedded systems in information-rich contexts is governed by some intertwined trends. The increase of both volume of data to be processed and the related processing functionality feeds the growing complexity of applications. Independently, the processing hardware that is needed to process these applications is becoming increasingly parallel and heterogeneous (many-core) because of performance and power problems. Furthermore, today's compiler technology is not able to translate sequential legacy code for multi-core or many-core systems in an efficient way. This thesis addresses the problem of generating efficient code for a number of cores, that operate synchronously. Examples are SIMD and VLIW architectures. In this thesis we restrict ourselves to architectures that include a control processor that provides the instruction stream. In practice the manufacturers of such many-core processors only provide a C-compiler that supports hardware intrinsic instructions. This situation usually requires manual adaptation of sequential code. Unfortunately, a first feedback of the implementation on the targeted parallel architecture only comes late in the development trajectory. Moreover, during implementation phases more engineers enter the project and this increases the risk of early errors proliferating to later phases. Although some parts of the system can be modelled in high level language(s) (e.g., MATLAB), the typical approach lacks a single integral and executable framework allowing for an immediate system-wide verification. This thesis proposes an integral design methodology, named IRIS, for the development of firmware for many-core architectures. The methodology is illustrated by three cases: a colour image processing pipeline for a printer, stochastic image quantisation, and data mining of dynamic document spaces. For the three cases the various development phases and the associated development roles result in mathematical models, that can be directly transcribed in a functional language. The executable models are subsequently transformed into a series of implementation models, that converge to the targeted many-core implementation.

[1]  Christof Ebert,et al.  The Top Risks of Requirements Engineering , 2001, IEEE Softw..

[2]  Arnulfo P. Azcarraga,et al.  Extracting meaningful labels for WEBSOM text archives , 2001, CIKM '01.

[3]  Abigail Sellen,et al.  The myth of the paperless office , 2001 .

[4]  J.W.M. Jacobs Developing a raster detector system with the J array processing language , 2002 .

[5]  Yuanqing Guo,et al.  Mapping Applications to a Coarse-Grained Reconfigurable Architecture , 2006 .

[6]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[7]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[8]  K. Keutzer,et al.  System-level design: orthogonalization of concerns andplatform-based design , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Jan Jacobs,et al.  Combining query and visual search for knowledge mapping , 2006, Tenth International Conference on Information Visualisation (IV'06).

[10]  Michael J. Crawley,et al.  The R book , 2022 .

[11]  Ed F. Deprettere,et al.  Context-aware process networks , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.

[12]  Andreas Rauber,et al.  The growing hierarchical self-organizing map , 2000, Proceedings of the IEEE-INNS-ENNS International Joint Conference on Neural Networks. IJCNN 2000. Neural Computing: New Challenges and Perspectives for the New Millennium.

[13]  Paul Wielage,et al.  Xetal: a low-power high-performance smart camera processor , 2001, ISCAS 2001. The 2001 IEEE International Symposium on Circuits and Systems (Cat. No.01CH37196).

[14]  Henry R. Kang Color Technology for Electronic Imaging Devices , 1997 .

[15]  M. Suzuoki,et al.  Overview of the architecture, circuit design, and physical implementation of a first-generation cell processor , 2006, IEEE Journal of Solid-State Circuits.

[16]  Gerard J. M. Smit,et al.  Efficient Computation of Buffer Capacities for Cyclo-Static Dataflow Graphs , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[17]  P.C.V. Varma Resource sharing , 2005, IEEE Potentials.

[18]  Simon Haykin,et al.  Neural Networks: A Comprehensive Foundation , 1998 .

[19]  Andrew D. Booth,et al.  A SIGNED BINARY MULTIPLICATION TECHNIQUE , 1951 .

[20]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[21]  Steven T. Karris Introduction to Simulink with Engineering Applications , 2006 .

[22]  Edward R. Dougherty,et al.  Digital Image Processing Methods , 1994 .

[23]  J. Kato,et al.  Modelisations markoviennes multiresolutions en vision par ordinateur. Application a la segmentation d'images spot , 1994 .

[24]  Richard T. Luke Architecture and design process for complex systems: Space Station - A case study , 1986 .

[25]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[26]  Simon Parsons,et al.  Principles of Data Mining by David J. Hand, Heikki Mannila and Padhraic Smyth, MIT Press, 546 pp., £34.50, ISBN 0-262-08290-X , 2004, The Knowledge Engineering Review.

[27]  Teuvo Kohonen,et al.  Self-Organizing Maps , 2010 .

[28]  Pieter J. Mosterman,et al.  Model-Based Design of a Power Window System: Modeling, Simulation, and Validation , 2003 .

[29]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[30]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[31]  Gerard J. M. Smit,et al.  IRIS: A Firmware Design Methodology for SIMD Architectures , 2008, 2008 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools.

[32]  L. van Engelen Massively parallel quantization implementation using simulated annealing , 2006 .

[33]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[34]  Ulrich Rückert,et al.  gNBX - reconfigurable hardware acceleration of self-organizing maps , 2004, Proceedings. 2004 IEEE International Conference on Field- Programmable Technology (IEEE Cat. No.04EX921).

[35]  Gerard J. M. Smit,et al.  Mining Dynamic Document Spaces with Massively Parallel Embedded Processors , 2006, SAMOS.

[36]  William J. Dally,et al.  Stream Processors: Progammability and Efficiency , 2004, ACM Queue.

[37]  Markus Weinhardt,et al.  PACT XPP—A Self-Reconfigurable Data Processing Architecture , 2003, The Journal of Supercomputing.

[38]  Jukka K. Nurminen Using software complexity measures to analyze algorithms - an experiment with the shortest-paths algorithms , 2003, Comput. Oper. Res..

[39]  Matt Brown,et al.  Invited talk , 2007 .

[40]  Gerard J. M. Smit,et al.  Image Quantisation on a Massively Parallel Embedded Processor , 2007, SAMOS.

[41]  Rolf Pfeifer,et al.  Understanding intelligence , 2020, Inequality by Design.

[42]  Antonio Gulli,et al.  The indexable web is more than 11.5 billion pages , 2005, WWW '05.

[43]  Arnulfo P. Azcarraga,et al.  SOM-based methodology for building large text archives , 2001, Proceedings Seventh International Conference on Database Systems for Advanced Applications. DASFAA 2001.

[44]  Theo A. C. M. Claasen System on a Chip: Changing IC Design Today and in the Future , 2003, IEEE Micro.

[45]  Jan W. M. Jacobs,et al.  An integrated microprogram development methodology based on APL , 1987, APL '87.

[46]  P. M. Heysters Coarse-Grained Reconfigurable Processors - Flexibility meets Efficiency , 2004 .

[47]  Mirko Conrad,et al.  Model-Based Development of In-Vehicle Software , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[48]  Saman K. Halgamuge,et al.  Enhancement of topology preservation and hierarchical dynamic self-organising maps for data visualisation , 2003, Int. J. Approx. Reason..

[49]  Marc'Aurelio Ranzato,et al.  Energy-Based Models in Document Recognition and Computer Vision , 2007 .

[50]  H. B. Mitchell Markov Random Fields , 1982 .

[51]  Petr Jan Horn,et al.  Autonomic Computing: IBM's Perspective on the State of Information Technology , 2001 .

[52]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[53]  Henk Barendregt,et al.  Introduction to Lambda Calculus , 1984 .

[54]  Ahmet Demir Comparison of model-driven architecture and software factories in the context of model-driven development , 2006, Fourth Workshop on Model-Based Development of Computer-Based Systems and Third International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MBD-MOMPES'06).

[55]  S. Borkar,et al.  An 80-Tile Sub-100-W TeraFLOPS Processor in 65-nm CMOS , 2008, IEEE Journal of Solid-State Circuits.

[56]  Dimitre Novatchev Functional programming in XSLT using the FXSL library , 2003, Extreme Markup Languages®.

[57]  Sanjay J. Patel,et al.  Implicitly Parallel Programming Models for Thousand-Core Microprocessors , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[58]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[59]  Gerald J. Sussman,et al.  The First Report on Scheme Revisited , 1998, High. Order Symb. Comput..

[60]  Tinoosh Mohsenin,et al.  Hardware and applications of AsAP: An asynchronous array of simple processors , 2006, 2006 IEEE Hot Chips 18 Symposium (HCS).

[61]  Manuel Prieto,et al.  A Speculative Parallel Algorithm for Self-Organizing Maps , 2005, PARCO.

[62]  Fabrizio Petrini,et al.  Cell Multiprocessor Communication Network: Built for Speed , 2006, IEEE Micro.

[63]  K. Schulten,et al.  Kohonen's self-organizing maps: exploring their computational capabilities , 1988, IEEE 1988 International Conference on Neural Networks.

[64]  Michael Trott,et al.  The mathematica guidebook , 2004 .

[65]  André Skupin,et al.  A cartographic approach to visualizing conference abstracts , 2002 .

[66]  Siva Nadarajah,et al.  Caterpillar Automatic Code Generation , 2004 .

[67]  Zoltan Kato,et al.  A Markov Random Field Image Segmentation Model Using Combined Color and Texture Features , 2001, CAIP.

[68]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[69]  H. Goldstein Cure for the Multicore Blues , 2007, IEEE Spectrum.

[70]  Jan Jacobs,et al.  Explicit Conceptualizations for Knowledge Mapping , 2004, ICEIS.

[71]  Jos Huisken,et al.  RECONFIGURABLE ACCELERATORS ENABLING EFFICIENT SDR FOR LOW-COST CONSUMER DEVICES , 2010 .

[72]  Shigeo Abe DrEng Pattern Classification , 2001, Springer London.

[73]  A. Krikelis,et al.  Associative processing and processors , 1994, Computer.

[74]  Alan W. Brown Model driven architecture: Principles and practice , 2004, Software and Systems Modeling.

[75]  Peyton Jones,et al.  Haskell 98 language and libraries : the revised report , 2003 .

[76]  Robert G. Reynolds,et al.  A Markovian framework for digital halftoning , 1993, TOGS.

[77]  Krzysztof Kuchcinski,et al.  Time-energy design space exploration for multi-layer memory architectures , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[78]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[79]  Yann LeCun,et al.  DjVu: analyzing and compressing scanned documents for Internet distribution , 1999, Proceedings of the Fifth International Conference on Document Analysis and Recognition. ICDAR '99 (Cat. No.PR00318).

[80]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[81]  Samuel Kaski,et al.  Self organization of a massive text document collection , 1999 .

[82]  Robin Milner,et al.  Definition of standard ML , 1990 .

[83]  Joe Armstrong,et al.  Programming Erlang: Software for a Concurrent World , 1993 .

[84]  Gerard J. M. Smit,et al.  Hydra: An Energy-efficient and Reconfigurable Network Interface , 2006, ERSA.

[85]  Barry W. Boehm,et al.  Understanding and Controlling Software Costs (Invited Paper) , 1986, IFIP Congress.

[86]  Michael Trott The Mathematica Guidebook: Programming with CD-ROM , 2002 .

[87]  Bhm Björn Bukkems,et al.  Effective industrial modeling for high-tech systems: The Example of Happy Flow , 2007 .

[88]  Stuart A. Kauffman,et al.  The origins of order , 1993 .

[89]  Teuvo Kohonen,et al.  Self-Organization of Very Large Document Collections: State of the Art , 1998 .

[90]  Kenneth E. Iverson,et al.  A programming language , 1899, AIEE-IRE '62 (Spring).

[91]  J. Jacobs,et al.  High Volume Colour Image Processing with Massively Parallel Embedded Processors , 2005, PARCO.

[92]  Alfred Ultsch,et al.  Automatic Acquisition of Symbolic Knowledge from Subsymbolic Neural Networks , 1993 .

[93]  R. Bird Introduction to functional programming using Haskell, Second Edition , 1998 .

[94]  Jon Friedman,et al.  MATLAB/Simulink for Automotive Systems Design , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[95]  Edward R. Tufte,et al.  Envisioning Information , 1990 .

[96]  Josiane Zerubia,et al.  Image Segmentation Using Markov Random Field Model in Fully Parallel Cellular Network Architectures , 2000 .

[97]  Chia-Jiu Wang,et al.  Parallelizing the self-organizing feature map on multiprocessor systems , 1991, Parallel Comput..

[98]  John Crinnion Evolutionary Systems Development: A Practical Guide to the Use of Prototyping within a Structured Systems Methodology , 1992 .

[99]  Jean A. Peperstraete,et al.  Cycle-static dataflow , 1996, IEEE Trans. Signal Process..

[100]  Peter A. Dearnley Evolutionary Systems Development: A Practical Guide to the Use of Prototyping within a Structured Systems Methodology , 1992 .

[101]  Bertil Svensson,et al.  Using and Designing Massively Parallel Computers for Artificial Neural Neural Networks , 1992, J. Parallel Distributed Comput..

[102]  Teuvo Kohonen Self-organizing maps of massive document collections , 2000, Proceedings of the IEEE-INNS-ENNS International Joint Conference on Neural Networks. IJCNN 2000. Neural Computing: New Challenges and Perspectives for the New Millennium.

[103]  Gerard J. M. Smit,et al.  Towards Software Defined Radios Using Coarse-Grained Reconfigurable Hardware , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[104]  Erich Schikuta,et al.  Data parallel simulation of self-organizing maps on hypercube architectures. , 1997 .

[105]  Solomon W. Golomb,et al.  Shift Register Sequences , 1981 .

[106]  Alfred Ultsch,et al.  U *-Matrix : a Tool to visualize Clusters in high dimensional Data , 2004 .

[107]  Arnulfo P. Azcarraga,et al.  Using Structured Self-Organizing Maps in News Integration Websites , 2002 .

[108]  J. Nazuno Haykin, Simon. Neural networks: A comprehensive foundation, Prentice Hall, Inc. Segunda Edición, 1999 , 2000 .

[109]  Gerard Salton,et al.  Automatic Text Processing: The Transformation, Analysis, and Retrieval of Information by Computer , 1989 .

[110]  Luigi Carro,et al.  Using UML as Front-end for Heterogeneous Software Code Generation Strategies , 2008, 2008 Design, Automation and Test in Europe.

[111]  André B. J. Kokkeler,et al.  Multi-core architectures and streaming applications , 2008, SLIP '08.

[112]  Frederick P. Brooks,et al.  Computer architecture - concepts and evolution , 1997 .

[113]  Arnab Banerjee,et al.  An Energy and Performance Exploration of Network-on-Chip Architectures , 2009, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[114]  P. van der Wolf,et al.  A Methodology for Architecture Exploration of Heterogeneous Signal Processing Systems , 1999, 1999 IEEE Workshop on Signal Processing Systems. SiPS 99. Design and Implementation (Cat. No.99TH8461).

[115]  Petru Eles,et al.  System Synthesis with VHDL: A Transformational Approach , 1998 .

[116]  Bernd Freisleben,et al.  An evolutionary approach to color image quantization , 1997, Proceedings of 1997 IEEE International Conference on Evolutionary Computation (ICEC '97).

[117]  Vivek Sarkar,et al.  Baring It All to Software: Raw Machines , 1997, Computer.

[118]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[119]  Jon Friedman,et al.  Model-Based Design Streamlines Development of Body Electronic Systems , 2007 .

[120]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[121]  Peter Checkland,et al.  Systems Thinking, Systems Practice: Includes a 30-Year Retrospective , 1999 .

[122]  Heikki Mannila,et al.  Principles of Data Mining , 2001, Undergraduate Topics in Computer Science.

[123]  Norman Thomson,et al.  J - The Natural Language for Analytic Computing , 2001 .

[124]  Andrew D. Bagdanov Style characterization of machine printed texts , 2004 .

[125]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[126]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[127]  Donald E. Knuth,et al.  The Stanford GraphBase - a platform for combinatorial computing , 1993 .