thesis

Les optimisations d'algorithmes de traitement de signal sur les architectures modernes parallèles et embarquées

Defense date:

Jan. 1, 2009

Edit

Institution:

Nice

Disciplines:

Abstract EN:

This thesis deals with the methods of optimisation of signal processing algorithms for parallel architectures of embedded processors. This study has been done in Kontron Modular Computers, a company specialised in the conception of calculators and systems in respect with temperature, shock and vibration constraints. The state of the art of the different architectures destined for embedded environment allows to point all the different available ways of optimisation out. A particular attention is paid on effective solutions for intensive floating point calculations. The result is a list of common and different solutions between concurrent architectures. The choice of the Fast Fourier Transform algorithm, as representative algorithm for signal processing applications, allows to detail, step by step, the different optimisation choices in the case of an implementation on a PowerPC 970FX. It is showed how, from a radix-2 algorithm, it is possible to reduce to the smallest complexion with the use of fused multiplication addition instruction. Finally, we propose a method of multi-architectures generation which takes advantages of the previous work. The purpose is to optimise the execution pipeline through softare pipelining. The embedded context requires the use of processors with smaller frequency than the rest of the market. Moreover, the different restrictions which lead this sector require less and less calculators. Only the best software pipelining is able to take full advantage of the maximum calculation performances.

Abstract FR:

Cette thèse s’intéresse aux méthodologies d’optimisation d’algorithmes de traitement de signal sur les architectures parallèles de processeurs embarqués. Cette étude a été réalisée dans le cadre de Kontron Modular Computers, entreprise spécialisée dans la conception de calculateurs et systèmes répondant à des contraintes d’utilisation en température, chocs et vibrations. L’état de l’art des différentes architectures destinées au milieu embarqué permet de mettre en évidence les différents outils d’optimisation mis à disposition par les concepteurs de processeurs. L’accent est particulièrement mis sur les solutions bénéfiques aux calculs flottants intensifs, tout en notifiant les points communs et les divergences entre les différents processeurs. Le choix de l’algorithme de transformée de Fourier, comme algorithme représentatif des applications de traitement de signal, permet de détailler étape par étape les différents choix d’optimisation dans le cas d’une implémentation sur un PowerPC 970FX. Nous montrons comment à partir d’un algorithme radix-2, il est possible de réduire au plus prés du minimum la complexité de calcul grâce à l’usage de l’instruction de multiplication addition fusionnée. Nous proposons enfin une méthodologie de programmation multi-architectures utilisant le retour d’expérience précédent afin d’optimiser l’ordonnancement des instructions constituant l’algorithme. Le contexte embarqué impose l’usage de processeurs aux fréquences inférieures à celles du marché des serveurs. De plus, les différentes contraintes régissant ce domaine d’application favorise la réduction du nombre de calculateurs. C’est ainsi, à travers la recherche d’un ordonnancement optimal des instructions, qu’il est possible de saturer le pipeline d’exécution de ces dernières et d’exploiter le maximum de performances de calcul des processeurs impliqués.