Definition and evaluation of spatio-temporal scheduling strategies for 3D multi-core heterogeneous architectures
Définition et évaluation de stratégies d'ordonnancement spatio-temporel pour architecture 3D multi-coeurs hétérogènes
Résumé
Stacking a multiprocessor (MPSoC) layer and a FPGA layer to form a 3D Recon gurable System-on-Chip (3DRSoC) is a promising solution giving a high exibility level in adapt- ing the architecture to the targeted application. For an application de ned as a graph of parallel tasks running on this kind of system, one of the main challenges comes from the high-level management of tasks that is generally done by the scheduling service of the Operating System. Compare with the planar system, the scheduling problem on such 3D platforms is more complex due to the need to de ne, on the y, what task should be run in software and/or hardware, when (temporal dimension) and where (spatial dimension, i.e. on what processor or what area of the FPGA) in order to exploit all the advantages of the 3rd dimension, thus achieve high performance of the system.
In this thesis, we propose online spatio-temporal scheduling strategies for 3DRSoCs. The rst strategy decides, during the task scheduling, the need for a software and a hardware task to communicate in face-to-face so that the communication cost between tasks is minimized. The second strategy aims at minimizing the overall execution time of the application. It exploits the presence of processors in the MPSoC layer in order to anticipate, at run-time, the software execution of a task when its hardware version cannot be allocated to the FPGA. Eventually, a graphical simulation tool is developed to verify the proper functioning of the developed strategies and also enable us to produce results.
Empiler une couche multiprocesseur (MPSoC) et une couche de FPGA pour former un système sur puce recon gurable en trois dimensions (3DRSoC) est une solution promet- teuse donnant un niveau de exibilité élevé en adaptant l'architecture aux applications visées. Pour une application exécutée sur ce type de système, l'un des principaux dé s vient de la gestion à haut niveau de l'exécution des tâches. Cette gestion est générale- ment e ectuée par le service d'ordonnancement du système d'exploitation et elle doit être en mesure de déterminer, lors de l'exécution de l'application, quelle tâche est exécutée logiciellement et/ou matériellement, à quel moment (dimension temporelle) et sur quelles ressources d'exécution (dimension spatiale, c-a-d sur quel processeur ou quelle région du FPGA) pour atteindre la haute performance du système.
Dans cette thèse, nous proposons des stratégies d'ordonnancement spatio-temporel pour les architectures 3DRSoCs. La première stratégie analyse l'intérêt de placer une tâche matérielle et une tâche logicielle en face-à-face a n que le coût de la communication entre ces tâches soit minimisé. La deuxième stratégie vise à minimiser le temps d'exécution global de l'application. Cette stratégie exploite la présence de processeurs de la couche MPSoC a n d'anticiper, au l de l'eau, l'exécution d'une tâche logicielle quand sa version matérielle ne peut pas être allouée sur le FPGA. Finalement, un outil de simulation graphique a été développé pour véri er le bon fonctionnement des stratégies développées et aussi nous permettre de produire des résultats.
Loading...