System-level modelling and design space exploration for multiprocessor embedded system-on-chip architectures

Modern embedded systems come with contradictory design constraints. On one hand, these systems often target mass production and battery-based devices, and therefore should be cheap and power efficient. On the other hand, they still need to show high (sometimes real-time) performance, and often support multiple applications and standards which requires high programmability. This wide spectrum of design requirements leads to complex heterogeneous System-on-Chip (SoC) architectures -- consisting of several types of processors from fully programmable microprocessors to configurable processing cores and customized hardware components, integrated on a single chip. This study targets such multiprocessor embedded systems and strives to develop algorithms, methods, and tools to deal with a number of fundamental problems which are encountered by the system designers during the early design stages.

[1]  R. Weiner Lecture Notes in Economics and Mathematical Systems , 1985 .

[2]  Petru Eles,et al.  Schedulability analysis for systems with data and control dependencies , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[3]  Andy D. Pimentel,et al.  An IDF-based trace transformation method for communication refinement , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[4]  Andy D. Pimentel,et al.  The Artemis workbench for system-level performance evaluation of embedded systems , 2008, Int. J. Embed. Syst..

[5]  Ed F. Deprettere,et al.  A Methodology for Architecture Exploration of Heterogeneous Signal Processing Systems , 2001, J. VLSI Signal Process..

[6]  Jörg Henkel,et al.  System-level exploration for Pareto-optimal configurations in parameterized systems-on-a-chip , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[7]  Trevor N. Mudge,et al.  Trace-driven memory simulation: a survey , 1997, CSUR.

[8]  Andy D. Pimentel,et al.  Utilizing synthesis methods in accurate system-level exploration of heterogeneous embedded systems , 2003, 2003 IEEE Workshop on Signal Processing Systems (IEEE Cat. No.03TH8682).

[9]  Sanjoy K. Baruah,et al.  Feasibility analysis of recurring branching tasks , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[10]  Vijay K. Madisetti,et al.  Incorporating Cost Modeling in Embedded-System Design , 1997, IEEE Des. Test Comput..

[11]  Gilbert Syswerda,et al.  Uniform Crossover in Genetic Algorithms , 1989, ICGA.

[12]  Sanjoy K. Baruah,et al.  A general model for recurring real-time tasks , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[13]  Lothar Thiele,et al.  Approximate schedulability analysis , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[14]  Ed F. Deprettere,et al.  A trace transformation technique for communication refinement , 2001, CODES '01.

[15]  Edward A. Lee,et al.  Scheduling dynamic dataflow graphs with bounded memory using the token flow model , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[16]  Andrew S. Cassidy,et al.  High-level modeling and simulation of single-chip programmable heterogeneous multiprocessors , 2005, TODE.

[17]  Andy D. Pimentel,et al.  A Mixed-level Co-simulation Method for System-level Design Space Exploration , 2006, 2006 IEEE/ACM/IFIP Workshop on Embedded Systems for Real Time Multimedia.

[18]  Andy D. Pimentel,et al.  Static priority scheduling of event triggered real time embedded systems , 2004, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04..

[19]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[20]  Donald E. Thomas,et al.  A simulation environment for hardware-software codesign , 1995, Proceedings of ICCD '95 International Conference on Computer Design. VLSI in Computers and Processors.

[21]  Marco Laumanns,et al.  PISA: A Platform and Programming Language Independent Interface for Search Algorithms , 2003, EMO.

[22]  Andy D. Pimentel,et al.  Calibration of Abstract Performance Models for System-Level Design Space Exploration , 2006, 2006 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[23]  Hendrik L. Muller,et al.  Simulating computer architectures , 1993 .

[24]  Edward A. Lee,et al.  Dataflow process networks , 1995, Proc. IEEE.

[25]  William M. Spears,et al.  Crossover or Mutation? , 1992, FOGA.

[26]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[27]  G. Rudolph Evolutionary Search under Partially Ordered Fitness Sets , 2001 .

[28]  Ed F. Deprettere,et al.  An Approach for Quantitative Analysis of Application-Specific Dataflow Architectures , 1997, ASAP.

[29]  Eike Schmidt,et al.  System level optimization and design space exploration for low power , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[30]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[31]  Andy D. Pimentel,et al.  A Framework for System-Level Modeling and Simulation of Embedded Systems Architectures , 2007, EURASIP J. Embed. Syst..

[32]  Andy D. Pimentel,et al.  IDF Models for Trace Transformations: A Case Study in Computational Refinement , 2004, SAMOS.

[33]  Jürgen Teich,et al.  System-Level Synthesis Using Evolutionary Algorithms , 1998, Des. Autom. Embed. Syst..

[34]  Sanjoy K. Baruah,et al.  Dynamic- and Static-priority Scheduling of Recurring Real-time Tasks , 2004, Real-Time Systems.

[35]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[36]  Aloysius Ka-Lau Mok,et al.  Fundamental design problems of distributed systems for the hard-real-time environment , 1983 .

[37]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[38]  Ed F. Deprettere,et al.  Laura: Leiden Architecture Research and Exploration Tool , 2003, FPL.

[39]  Aloysius K. Mok,et al.  A multiframe model for real-time tasks , 1996, 17th IEEE Real-Time Systems Symposium.

[40]  J. T. Buck Static scheduling and code generation from dynamic dataflow graphs with integer-valued control streams , 1994, Proceedings of 1994 28th Asilomar Conference on Signals, Systems and Computers.

[41]  Wolfgang Ecker,et al.  Hardware/software co-simulation in a VHDL-based test bench approach , 1997, DAC.

[42]  Juraj Hromkovic,et al.  Algorithmics for hard problems - introduction to combinatorial optimization, randomization, approximation, and heuristics , 2001 .

[43]  Günhan Dündar,et al.  An evolutionary approach to automatic synthesis of high-performance analog integrated circuits , 2003, IEEE Trans. Evol. Comput..

[44]  Gaetano Borriello,et al.  Dynamic communication models in embedded system co-simulation , 1997, DAC.

[45]  Marco Laumanns,et al.  A unified model for multi-objective evolutionary algorithms with elitism , 2000, Proceedings of the 2000 Congress on Evolutionary Computation. CEC00 (Cat. No.00TH8512).

[46]  Frank Vahid,et al.  Platune: a tuning framework for system-on-a-chip platforms , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[47]  Mikkel T. Jensen,et al.  Reducing the run-time complexity of multiobjective EAs: The NSGA-II and other algorithms , 2003, IEEE Trans. Evol. Comput..

[48]  Ed F. Deprettere,et al.  On the Modeling of Intra-task Parallelism in Task-level Parallel Embedded Systems , 2002 .

[49]  V.D. Zivkovic,et al.  Design space exploration of streaming multiprocessor architectures , 2002, IEEE Workshop on Signal Processing Systems.

[50]  Twan Basten,et al.  Requirements on the Execution of Kahn Process Networks , 2003, ESOP.

[51]  Kurt Keutzer,et al.  Building ASIPs: The Mescal Methodology , 2006 .

[52]  Andy D. Pimentel,et al.  A systematic approach to exploring embedded system architectures at multiple abstraction levels , 2006, IEEE Transactions on Computers.

[53]  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.

[54]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[55]  Lothar Thiele,et al.  A framework for evaluating design tradeoffs in packet processing architectures , 2002, DAC '02.

[56]  Lothar Thiele,et al.  On the Complexity of Scheduling Conditional Real-Time Code , 2001, WADS.

[57]  Rainer Leupers,et al.  A modular simulation framework for architectural exploration of on-chip interconnection networks , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[58]  Erwin A. de Kock,et al.  YAPI: application modeling for signal processing systems , 2000, Proceedings 37th Design Automation Conference.

[59]  Thomas Martyn Parks,et al.  Bounded scheduling of process networks , 1996 .

[60]  Soonhoi Ha,et al.  An integrated hardware-software cosimulation environment for heterogeneous systems prototyping , 1995, ASP-DAC '95.

[61]  David B. Beasley,et al.  An overview of genetic algorithms: Part 1 , 1993 .

[62]  Rolf Ernst,et al.  A framework for modular analysis and exploration of heterogeneous embedded systems , 2006, Real-Time Systems.

[63]  Andy D. Pimentel,et al.  A High-Level Programming Paradigm for SystemC , 2004, SAMOS.

[64]  Ed F. Deprettere,et al.  System level design with SPADE: an M-JPEG case study , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[65]  Vincenzo Catania,et al.  A GA-based design space exploration framework for parameterized system-on-a-chip platforms , 2004, IEEE Transactions on Evolutionary Computation.

[66]  Marco Laumanns,et al.  SPEA2: Improving the Strength Pareto Evolutionary Algorithm For Multiobjective Optimization , 2002 .

[67]  Carlos A. Coello Coello,et al.  Guest editorial: special issue on evolutionary multiobjective optimization , 2003, IEEE Trans. Evol. Comput..

[68]  Viktor K. Prasanna,et al.  Rapid system-level performance evaluation and optimization for application mapping onto SoC architectures , 2002, 15th Annual IEEE International ASIC/SOC Conference.

[69]  Luciano Lavagno,et al.  Metropolis: An Integrated Electronic System Design Environment , 2003, Computer.

[70]  Kalyanmoy Deb,et al.  Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms , 1994, Evolutionary Computation.

[71]  Ralph E. Steuer,et al.  An interactive weighted Tchebycheff procedure for multiple objective programming , 1983, Math. Program..

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

[73]  Stamatis Vassiliadis,et al.  The MOLEN polymorphic processor , 2004, IEEE Transactions on Computers.

[74]  D. Corne,et al.  On Metrics for Comparing Non Dominated Sets , 2001 .

[75]  Michael E. Wall,et al.  Galib: a c++ library of genetic algorithm components , 1996 .

[76]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[77]  Wayne Wolf,et al.  Hardware-Software Co-Synthesis of Distributed Embedded Systems , 1996 .

[78]  Ralph E. Steuer An Overview in Graphs of Multiple Objective Programming , 2001, EMO.

[79]  Andy D. Pimentel,et al.  Multiobjective optimization and evolutionary algorithms for the application mapping problem in multiprocessor system-on-chip design , 2006, IEEE Transactions on Evolutionary Computation.

[80]  Andy D. Pimentel,et al.  A software framework for efficient system-level performance evaluation of embedded systems , 2003, SAC '03.

[81]  C. Fonseca,et al.  GENETIC ALGORITHMS FOR MULTI-OBJECTIVE OPTIMIZATION: FORMULATION, DISCUSSION, AND GENERALIZATION , 1993 .

[82]  Wayne H. Wolf,et al.  Process Partitioning for Distributed Embedded Systems , 1996, CODES.

[83]  John C. Gallagher,et al.  A family of compact genetic algorithms for intrinsic evolvable hardware , 2004, IEEE Transactions on Evolutionary Computation.

[84]  Tughrul Arslan,et al.  Synthesis of low-power DSP systems using a genetic algorithm , 2001, IEEE Trans. Evol. Comput..

[85]  Andy D. Pimentel,et al.  Towards Efficient Design Space Exploration of Heterogeneous Embedded Media Systems , 2002, Embedded Processor Design Challenges.

[86]  Andy D. Pimentel,et al.  A multiobjective optimization model for exploring multiprocessor mappings of process networks , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[87]  Eckart Zitzler,et al.  Evolutionary algorithms for multiobjective optimization: methods and applications , 1999 .

[88]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[89]  David Beasley,et al.  An overview of genetic algorithms: Part 1 , 1993 .

[90]  Daniel Gajski,et al.  Transaction level modeling: an overview , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[91]  Gary G. Yen,et al.  Rank-density-based multiobjective genetic algorithm and benchmark test function study , 2003, IEEE Trans. Evol. Comput..

[92]  Gary G. Yen,et al.  Dynamic multiobjective evolutionary algorithm: adaptive cell-based rank and density estimation , 2003, IEEE Trans. Evol. Comput..

[93]  Sanjoy K. Baruah,et al.  Generalized Multiframe Tasks , 1999, Real-Time Systems.

[94]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[95]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[96]  Ed F. Deprettere,et al.  Compaan: deriving process networks from Matlab for embedded signal processing architectures , 2000, CODES '00.

[97]  Petru Eles,et al.  Schedulability analysis for distributed heterogeneous time/event triggered real-time systems , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[98]  Ed F. Deprettere,et al.  Exploring Embedded-Systems Architectures with Artemis , 2001, Computer.

[99]  Juha-Pekka Soininen,et al.  Cosimulation of real-time control systems , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[100]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[101]  E. Polak,et al.  On Multicriteria Optimization , 1976 .

[102]  Niraj K. Jha,et al.  MOCSYN: multiobjective core-based single-chip system synthesis , 1999, DATE '99.

[103]  Lothar Thiele,et al.  Comparison of Multiobjective Evolutionary Algorithms: Empirical Results , 2000, Evolutionary Computation.

[104]  Ed F. Deprettere,et al.  Deriving process networks from weakly dynamic applications in system-level design , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[105]  Lothar Thiele,et al.  Schedulability of event-driven code blocks in real-time embedded systems , 2002, DAC '02.