Synthèse des communications dans un environnement de génération de logiciel embarqué pour des plateformes multi-tuiles hétérogènes - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2010

Communication synthesis in a binary code generation flow targeting heterogeneous multi-tile architectures

Synthèse des communications dans un environnement de génération de logiciel embarqué pour des plateformes multi-tuiles hétérogènes

Résumé

The aim of this thesis is to study an embedded software generation flow targeting heterogeneous multi-tile platforms. In these platforms, many heterogeneous multiprocessor system-on-chip are replicated and interconnected by scalable and packet-switched networks. This flow is fed with an abstract representation of the architecture, the application and the mapping of application elements into the architecture blocks. Programming these complex architectures from scratch is not conceivable, however we cannot consider using classical embedded programming environments because of the heterogeneity of the tile, which is composed of RISCs, DSPs and a non-uniform intra-tile communication fabric. One of the challenges in this context is to mask this complexity to the application programmer so that he can concentrate on the design of his application without caring in a first phase about the mapping of his application into the chosen platform. One of the difficulties introduced by multi-tile systems is the high number of existing communication paths, this is the reason why this thesis focuses on the handling of communications in our flow, and how we manage to make this transparent for the programmer, We define the minimal information that have to be included in the input high-level models to synthetize the communications of the application. Thanks to that, the flow can select the correct software communication components, which are written under the form of device drivers of an operating system. This selection phase is not enough, each communication component affected to an application channel has to be specialized in order for the flow to generate correct binaries. In reason of the great number of processors in the target multi-tile platform and of the great number of channels of the considered applications, a complete automation of the flow is required. We evoke the difficulty of this automation, principally in reason of the cross-compilation process introduced by our flow, and then describe the solution that we have chosen to reach an operational flow. Three applications (one belonging to the high-performance computing world), written by programmers not mastering the chosen multi-tile platform, were
Dans cette étude, nous nous intéressons aux outils de génération de logiciel embarqué ciblant des plateformes multi-tuiles hétérogènes. Dans ces plateformes, un système sur puce multiprocesseurs hétérogène (ou tuile) est répliqué et connecté par des réseaux externes à la tuile, extensibles et commutés par paquets. Ces outils se basent sur une représentation abstraite de l'architecture, de l'application et du déploiement des éléments applicatifs sur les éléments de l'architecture. Programmer de zéro ces architectures complexes n'est pas concevable, cependant nous ne pouvons nous contenter des environnements de programmation embarqués classiques en raison de l'hétérogénéité de la tuile de base, qui embarque des RISCs, des DSPs et une infrastructure interne à la tuile non uniforme et complexe. L'un des enjeux dans ce contexte est de masquer cette complexité au programmeur de l'application pour qu'il puisse se concentrer sur l'écriture de son programme sans se soucier dans un premier temps de son déploiement sur la plateforme cible. L'une des difficultés des systèmes multi-tuiles est le nombre de chemins de communication que ceux-ci proposent, c'est pourquoi nous nous concentrons dans ce manuscrit sur la gestion (transparente pour le programmeur) des communications dans notre flot. Nous définissons donc les informations minimales à inclure dans le modèle d'entrée du flot pour arriver à synthétiser les communications de l'application. Grâce à ces informations, nous arrivons à puiser les composants logiciels de communication adéquats, qui se présentent sous la forme de pilotes d'un système d'exploitation. Cette sélection n'est pas suffisante, il faut ensuite spécialiser ces composants pour chaque canal de communication de l'application afin d'arriver à un résultat correct. En raison du nombre d'unités de calcul de la plateforme ciblée et du nombre de canaux des applications considérées, une automatisation totale du flot est requise, nous abordons donc les difficultés que cela représente en raison du processus de compilation croisé mis en jeu par le flot, et la solution que nous avons retenue pour arriver à un flot fonctionnel. Trois applications (dont une appartenant au monde du calcul de haute performance), écrites par des programmeurs ne maîtrisant pas la plateforme multi-tuiles choisie, ont été soumises à notre flot, qui a généré de manière correcte plusieurs déploiements de ces applications.
Fichier principal
Vignette du fichier
csb_0338.pdf (1.17 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00552106 , version 1 (05-01-2011)

Identifiants

  • HAL Id : tel-00552106 , version 1

Citer

A. Chagoya-Garzon. Synthèse des communications dans un environnement de génération de logiciel embarqué pour des plateformes multi-tuiles hétérogènes. Micro et nanotechnologies/Microélectronique. Institut National Polytechnique de Grenoble - INPG, 2010. Français. ⟨NNT : ⟩. ⟨tel-00552106⟩

Collections

UGA CNRS TIMA
176 Consultations
345 Téléchargements

Partager

Gmail Facebook X LinkedIn More