This thesis has been realized in Télécom Paris and it has been financed by Nokia Bell Labs France. It founds its motivations in the increasing usage of hardware accelerators such as FPGAs and their recent integration in modern cloud data center [1][2]. In some cases, servers and FPGAs are rented to users and the cost is related to the utilization time. Thus, offering a better sharing of FPGA pools would interest all stakeholders, namely cloud providers and users. We focus on scheduling and, in particular, we focus on makespan minimization of applications. The latter are assumed to be composed of several dependent tasks, whose features (i.e., dependencies, execution time, resource requirements, and so on) are known prior to their execution. With respect to the state of the art, we have sought to design an approach which is, at the same time, (i) general, (ii) fast and (iii) of high-quality. Indeed, several related works represent the applications and the architecture through simple models (e.g., the FPGA is often represented only with the amount of reconfigurable logic). We retain that such simple models may lead to unfeasible scheduling. Moreover, the vast majority of them is either based on slow and precise algorithms or on fast heuristics whose quality is far from the optimum. We therefore propose a scheduling solution [3] characterized by a good quality in terms of makespan while keeping the decision time in the order of tens of milliseconds for common applications. The main contributions of the thesis are a modelling proposal for FPGAs, the design of a heuristic which targets the makespan minimization and the evaluation of this heuristic on a synthetic benchmark of pseudo-randomly generated applications. Additionally, we have integrated this method to a model-driven engineering (MDE) tool to better support the early design of embedded systems. Finally, we propose several extensions to extend the approach to different architectures.References:[1] A. M. Caulfield et al., "A cloud-scale acceleration architecture," 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Taipei, 2016, pp. 1-13, doi: 10.1109/MICRO.2016.7783710[2] Amazon Web Services Elastic Compute Cloud, https://docs.aws.amazon.com/ec2/index.html?nc2=h_ql_doc_ec2[3] Matteo Bertolino, Andrea Enrici, Renaud Pacalet, Ludovic Apvrille. Efficient Scheduling of FPGAs for Cloud Data Center Infrastructures. Euromicro DSD 2020, Aug 2020, Portorož, Slovenia. Proceedings will be published on IEEExplore, paper available on HAL of Télécom Paris: https://hal.telecom-paris.fr/hal-02894662v1; Cette thèse a été faite à Télécom Paris et a été financée par Nokia Bell Labs France. Les contributions de la thèse trouvent leur motivation d'une part dans l'usage croissant d'accélérateurs matériel, comme les FPGAs pour décharger les processeurs de fonctions complexes. D'autre part, ces accélérateurs sont de plus en plus intégrés dans des centre de calculs ("cloud") [1][2]. Ces FPGAs peuvent être loués aux utilisateurs, et leur coût d'utilisation dépend alors de la durée allouée. Ainsi, il devient intéressant de mettre en place des techniques permettant de minimiser le temps d'exécution des applications. Dans cette thèse, nous considérons des applications "flots de données", c'est à dire qu'une tâche attend des données d'une tâche précédente avant de s'exécuter, et produit des données en sortie qui sont utilisées en entrée d'autres tâches. Nous prenons aussi comme hypothèse que ces applications sont pré-caractérisées par leur temps d'exécution sur FPGA ainsi que par les éléments matériels dont elles ont un besoin exclusif sur le FPGA (par exemple : les éléments logiques). Il existe déjà des travaux pour choisir un bon ordonnancement de tâches sur FPGA. Malheureusement, ces derniers utilisent une recherche exhaustive de la meilleur solution, ce qui est très coûteux en temps de calcul, soit ils reposent sur des heuristiques rapides mais dont la solution produite en en règle générale assez éloignée de la solution optimale. De nombreux travaux considèrent aussi des modèles de FPGA trop abstraits : par exemple, le FPGA est modélisé uniquement sous la forme d'un ensemble d'éléments logiques, omettant par exemple les DSPs intégrés aux FPGAs, rendant ainsi la solution calculée éventuellement non utilisable sur un FPGA (concret).La solution que nous proposons dans notre thèse repose sur une modélisation plus réaliste des FPGAs et sur une nouvelle heuristique d'ordonnancement. Cette dernière est itérative sur le graphe : elle extrait du graphe de tâches la tâche les plus complexes en termes de temps de calcul, puis utilise un système d'évaluation pour identifier les tâches les plus pertinentes à grouper avec la tâche la plus complexe. Notre évaluation effectuée sur un grand nombre de graphes d'applications fictives montre que notre heuristique est tout aussi rapide qu'une autre heuristique de référence, tout en offrant de meilleurs résultats. De plus, notre contribution a été intégrée à un environnement orienté modèles pour la conception de systèmes embarqués. De plus, nous dressons des perspectives intéressants pour l'utilisation de notre heuristique dans d'autres contextes.Références:[1] A. M. Caulfield et al., "A cloud-scale acceleration architecture," 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Taipei, 2016, pp. 1-13, doi: 10.1109/MICRO.2016.7783710[2] Amazon Web Services Elastic Compute Cloud, https://docs.aws.amazon.com/ec2/index.html?nc2=h_ql_doc_ec2[3] Matteo Bertolino, Andrea Enrici, Renaud Pacalet, Ludovic Apvrille. Efficient Scheduling of FPGAs for Cloud Data Center Infrastructures. Euromicro DSD 2020, Aug 2020, Portorož, Slovenia. Proceedings will be published on IEEExplore, paper available on HAL of Télécom Paris: https://hal.telecom-paris.fr/hal-02894662v1