Etude de la migration de tâches dans une architecture multi-tuile. Génération automatique d'une solution basée sur des agents / Ashraf Elantably ; sous la direction de Frédéric Rousseau

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : anglais / English

Tolérance aux fautes (informatique)

Multiprocesseurs

Classification Dewey : 620

Rousseau, Frédéric (19..-....) (Directeur de thèse / thesis advisor)

Méhaut, Jean-François (19..-....) (Président du jury de soutenance / praeses)

Communauté d'universités et d'établissements Université Grenoble Alpes (2015-2019) (Organisme de soutenance / degree-grantor)

École doctorale électronique, électrotechnique, automatique, traitement du signal (Grenoble ; 199.-....) (Ecole doctorale associée à la thèse / doctoral school)

Techniques de l’informatique et de la microélectronique pour l’architecture des systèmes intégrés (Grenoble ; 1994-....) (Laboratoire associé à la thèse / thesis associated laboratory)

Résumé / Abstract : Les systèmes multiprocesseurs sur puce (MPSoC) mis en oeuvre dans les architecturesmulti-tuiles fournissent des solutions prometteuses pour exécuter des applicationssophistiquées et modernes. Une tuile contient au moins un processeur, unemémoire principale privée et des périphériques nécessaires associés à un dispositifchargé de la communication inter-tuile. Cependant, la fiabilité de ces systèmesest toujours un problème. Une réponse possible à ce problème est la migrationde tâches. Le transfert de l’exécution d’une tâche d’une tuile à l’autre permet degarder une fiabilité acceptable de ces systèmes. Nous proposons dans ce travail unetechnique de migration de tâches basée sur des agents. Cette technique vise lesapplications de flot de données en cours d’exécution sur des architectures multituiles.Une couche logicielle “middleware” est conçue pour supporter les agentsde migration. Cette couche rend la solution transparente pour les programmeursd’applications et facilite sa portabilité sur architectures multi-tuiles différentes. Afinque cette solution soit évolutive, une chaîne d’outils de génération automatique estconçue pour générer les agents de migration. Grâce à ces outils, ces informationssont extraites automatiquement des graphes de tâches et du placement optimisésur les tuiles du système. L’algorithme de migration est aussi détaillé, en montrantles phases successives et les transferts d’information nécessaires. La chaîne d’outilsest capable de générer du code pour les architectures ARM et x86. Cette techniquede migration de tâche peut être déployée sur les systèmes d’exploitation quine supportent ni chargement dynamique ni unité de gestion mémoire MMU. Lesrésultats expérimentaux sur une plateforme x86 matérielle et une plateforme ARMde simulation montrent peu de surcoût en terme de mémoire et de performance, cequi rend cette solution efficace.

Résumé / Abstract : Fully distributed memory multi-processors (MPSoC) implemented in multi-tiled architectures are promising solutions to support modern sophisticated applications, however, reliability of such systems is always an issue. As a result, a system-level solution like task migration keeps its importance. Transferring the execution of a task from one tile to another helps keep acceptable reliability of such systems. A tile contains at least one processor, private main memory and associated peripherals with a communication device responsible for inter-tile communications. We propose in this work an agent based task migration technique that targets data-flow applications running on multi-tiled architectures. This technique uses a middleware layer that makes it transparent to application programmers and eases its portability over different multi-tiled architectures. In order for this solution to be scalable to systems with more tiles, an automatic generation tool-chain is designed to generate migration agents and provide them with necessary information enabling them to execute migration processes properly. Such information is extracted automatically from application(s) task graphs and mapping on the system tiles. We show how agents are placed with applications and how such necessary information is generated and linked with them. The tool-chain is capable of generating code for ARM and x86 architectures. This task migration technique can be deployed on small operating systems that support neither MMU nor dynamic loading for task code. We show that this technique is operational on x86 based real hardware platform as well as on an ARM based simulation platform. Experimental results show low overhead both in memory and performance. Performance overhead due to migration of a task in a typical small application where it has one predecessor and one successor is 18.25%.