Memory optimization in the methodology « Adequation Algorithm Architecture » for embedded code on parallel architectures
Optimisations Mémoire dans la méthodologie « Adéquation Algorithme Architecture » pour Code Embarqué sur Architectures Parallèles
Résumé
In the field of embedded electronics, the applications of digital communications and image processing induce very strong time constraints while allowing a limitation in resources and performances of the computation units. The restriction of the memory usable can be in opposite of fields such as video coding. A solution to achieve a real-time implementation can be reached through a distribution on a parallel architecture. These problems are the framework of this work. More precisely, that is why we developed a process of rapid prototyping dedicated to the parallel architectures with several processors of digital signal processing of the last generation (FPGA, DSP). The optimization aspect of the allocated memory is performed here in a more precise way.
The prototyping process was elaborate around SynDEx, a tool developed with the INRIA, based on the AAA methodology. This process aims at improving the implementation of an algorithm on a multi-component architecture by determining an optimal distribution and scheduling. SynDEx carries out the adequation phase itself, and generates an executive independent of the target. We initially contributed to the automation of the process on multiprocessors target, by adding a functional layer, and by developing new specific kernels for processors of digital signal.
In an embedded context, our concerns are then the minimization of the memory for the generated code. It is still a problem very open for multi-component architectures. The found solution, thanks to the algorithms of colouring of graph, leads to a significant improvement of the results of distributed implementation. The rapid prototyping towards multi-component platforms is automatic today, and memory optimizations are directly integrated in the SynDEx tool.
Another part of this work related to the development and integration, through our prototyping process, of consequent applications in the fields both of the image processing (MPEG-4, LAR) and both of the telecommunications (MC-CDMA, UMTS). Results validate the whole process, and show its adaptation to systems oriented data processing. The report is concluded on new perspectives, while being interested in particular in multi-layer systems linking together several layers: a “transport” layer of telecommunication and a “service” layer of image processing.
The prototyping process was elaborate around SynDEx, a tool developed with the INRIA, based on the AAA methodology. This process aims at improving the implementation of an algorithm on a multi-component architecture by determining an optimal distribution and scheduling. SynDEx carries out the adequation phase itself, and generates an executive independent of the target. We initially contributed to the automation of the process on multiprocessors target, by adding a functional layer, and by developing new specific kernels for processors of digital signal.
In an embedded context, our concerns are then the minimization of the memory for the generated code. It is still a problem very open for multi-component architectures. The found solution, thanks to the algorithms of colouring of graph, leads to a significant improvement of the results of distributed implementation. The rapid prototyping towards multi-component platforms is automatic today, and memory optimizations are directly integrated in the SynDEx tool.
Another part of this work related to the development and integration, through our prototyping process, of consequent applications in the fields both of the image processing (MPEG-4, LAR) and both of the telecommunications (MC-CDMA, UMTS). Results validate the whole process, and show its adaptation to systems oriented data processing. The report is concluded on new perspectives, while being interested in particular in multi-layer systems linking together several layers: a “transport” layer of telecommunication and a “service” layer of image processing.
Dans le domaine de l'électronique embarquée, les applications de communications numériques et de traitement d'images imposent des contraintes de temps très fortes tout en admettant une limitation en ressources et performances des unités de traitement. La restriction quant à la mémoire utilisable peut être préjudiciable pour des domaines tels que le codage vidéo. Une solution pour atteindre les objectifs d'implantation temps-réel peut passer par une distribution sur une architecture matérielle parallèle. Cette problématique constitue le cadre de ces travaux. Plus précisément, il s'agit de développer un processus de prototypage rapide dédié aux architectures parallèles à base de plusieurs processeurs de traitement numérique du signal de dernière génération (FPGA, DSP). L'aspect optimisation du point de vue de la mémoire allouée est abordé ici de manière plus précise.
La chaîne de prototypage a été élaborée autour de SynDEx, outil développé à l'INRIA basé sur la méthodologie AAA. Cette dernière vise à améliorer l'implantation d'un algorithme sur une architecture multi-processeurs en déterminant une distribution et ordonnancement optimaux. SynDEx réalise la phase d'adéquation proprement dite, et génère un exécutif indépendant de la cible. Nous avons dans un premier temps contribué à l'automatisation du processus sur cible multi-processeurs, en rajoutant d'une couche fonctionnelle, et en développant de nouveaux noyaux spécifiques pour des processeurs de traitement numérique du signal.
Dans un contexte embarqué, nos préoccupations se sont ensuite penchées sur la minimisation de la mémoire pour le code généré. C'est un problème encore très ouvert pour des architectures multi-composants. La solution trouvée, grâce aux algorithmes de coloriage de graphe, aboutit à une amélioration significative des résultats d'implantation distribuée. Le portage vers des plates-formes multi-composants est aujourd'hui automatique, notamment en intégrant directement dans l'outil SynDEx l'optimisation mémoire.
Une autre partie importante de ces travaux a concerné le développement et l'intégration, à travers notre processus de prototypage, d'applications conséquentes dans les domaines du traitement des images (MPEG-4, LAR) et celui des télécommunications (MC-CDMA, UMTS). Les résultats obtenus valident l'ensemble du processus proposé, et démontrent son adaptation à des systèmes globalement orientés traitement de l'information. Le mémoire se conclut en ouvrant sur de nouvelles perspectives, en s'intéressant notamment à des systèmes multi-couches réunissant des couches « transport » de télécommunication numériques et des couches « services » de traitement des images.
La chaîne de prototypage a été élaborée autour de SynDEx, outil développé à l'INRIA basé sur la méthodologie AAA. Cette dernière vise à améliorer l'implantation d'un algorithme sur une architecture multi-processeurs en déterminant une distribution et ordonnancement optimaux. SynDEx réalise la phase d'adéquation proprement dite, et génère un exécutif indépendant de la cible. Nous avons dans un premier temps contribué à l'automatisation du processus sur cible multi-processeurs, en rajoutant d'une couche fonctionnelle, et en développant de nouveaux noyaux spécifiques pour des processeurs de traitement numérique du signal.
Dans un contexte embarqué, nos préoccupations se sont ensuite penchées sur la minimisation de la mémoire pour le code généré. C'est un problème encore très ouvert pour des architectures multi-composants. La solution trouvée, grâce aux algorithmes de coloriage de graphe, aboutit à une amélioration significative des résultats d'implantation distribuée. Le portage vers des plates-formes multi-composants est aujourd'hui automatique, notamment en intégrant directement dans l'outil SynDEx l'optimisation mémoire.
Une autre partie importante de ces travaux a concerné le développement et l'intégration, à travers notre processus de prototypage, d'applications conséquentes dans les domaines du traitement des images (MPEG-4, LAR) et celui des télécommunications (MC-CDMA, UMTS). Les résultats obtenus valident l'ensemble du processus proposé, et démontrent son adaptation à des systèmes globalement orientés traitement de l'information. Le mémoire se conclut en ouvrant sur de nouvelles perspectives, en s'intéressant notamment à des systèmes multi-couches réunissant des couches « transport » de télécommunication numériques et des couches « services » de traitement des images.
Fichier principal
these_MRL.pdf (10.77 Mo)
Télécharger le fichier
These_mrl.ppt (3.5 Mo)
Télécharger le fichier
Format | Autre |
---|