Repetitive model refactoring strategy for the design space exploration of intensive signal processing applications

The efficient design of computation intensive multidimensional signal processing applications requires dealing with three kinds of constraints: those implied by the data dependencies, the non-functional requirements (real-time, power consumption) and resources availability of the execution platform. Modeling and Analysis of Real-time and Embedded systems (MARTE) UML profile through its repetitive structure modeling (RSM) package is well suited to model the inherent parallelism within these applications, a compact representation of parallel execution platforms and the distributive mapping of one on another. The execution of such a specification respects the whole set of constraints defined upon, while the quality of the scheduling is directly linked to the quality of the mapping of the multidimensional structures (data arrays or parallel loop nests) into time and space. We propose here a strategy to use a refactoring tool dedicated to this kind of application that allows to find good trade-offs in the usage of storage and computation resources and in parallelism (both task and data parallelism) exploitation. This strategy is illustrated on an industrial radar application.

[1]  Julien Soula,et al.  Principe de compilation d'un langage de traitement de signal , 2001 .

[2]  Pierre Boulet,et al.  High Level Loop Transformations for Multidimensional Signal Processing Embedded Applications , 2008 .

[3]  Pierre Boulet,et al.  Array-OL with delays, a domain specific specification language for multidimensional intensive signal processing , 2010, Multidimens. Syst. Signal Process..

[4]  Sven-Bodo Scholz,et al.  Single Assignment C: efficient support for high-level array operations in a functional setting , 2003, Journal of Functional Programming.

[5]  Christian Haubelt,et al.  Modeling and Analysis of Windowed Synchronous Algorithms , 2006, 2006 IEEE International Conference on Acoustics Speech and Signal Processing Proceedings.

[6]  Ken Kennedy,et al.  Optimizing Compilers for Modern Architectures: A Dependence-based Approach , 2001 .

[7]  Edward A. Lee,et al.  Multidimensional synchronous dataflow , 2002, IEEE Trans. Signal Process..

[8]  Pierre Boulet,et al.  Gaspard2: from MARTE to SystemC Simulation , 2008 .

[9]  M.A. El-Sharkawi,et al.  Pareto Multi Objective Optimization , 2005, Proceedings of the 13th International Conference on, Intelligent Systems Application to Power Systems.

[10]  Pierre Boulet,et al.  Architecture Exploration for Efficient Data Transfer and Storage in Data-Parallel Applications , 2010, Euro-Par.

[11]  Philippe Dumont Spécification multidimensionnelle pour le traitement du signal systématique , 2005 .

[12]  David Parello,et al.  Semi-Automatic Composition of Loop Transformations for Deep Parallelism and Memory Hierarchies , 2006, International Journal of Parallel Programming.

[13]  Pierre Boulet,et al.  Introducing Control in the Gaspard2 Data-Parallel Metamodel: Synchronous Approach , 2005 .

[14]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[15]  Denis CaromelI,et al.  A Formal Semantics for Sisal Arrays , 2007 .

[16]  Pierre Boulet,et al.  UML2 Profile for Modeling Controlled Data Parallel Applications , 2006, FDL.

[17]  Richard M. Karp,et al.  The Organization of Computations for Uniform Recurrence Equations , 1967, JACM.

[18]  Emmanuel Boutillon,et al.  Array-OL : proposition d'un formalisme tableau pour le traitement de signal multi-dimensionnel , 1995 .

[19]  Pierre Boulet,et al.  Formal Semantics of Array-OL, a Domain Specific Language for Intensive Multidimensional Signal Processing , 2008 .

[20]  Pierre Boulet,et al.  Repetitive Allocation Modelling with MARTE , 2007, FDL.

[21]  Pierre Boulet,et al.  High Level Loop Transformations for Systematic Signal Processing Embedded Applications , 2008, SAMOS.