Task scheduling on heterogeneous multi-core
Ordonnancement de tâche sur multi-coeur hétérogènes
Abstract
Today, high performance computing platforms (HPC) are experiencing rapid and significant development, they are bigger, faster, more powerful, but also more complex. These platforms are more and more heterogeneous, dynamic and distributed. These characteristics create new challenges for the scheduling problem which corresponds to the allocation of tasks to the different and remote processors.The first challenge is how to effectively manage the heterogeneity of resources which can appear at the computation level or at the communication level. The second challenge is the dynamic nature of tasks and data, To face this challenge, the development must be supported by effective software tools to manage the complexity. In this dissertation, we are interested in both on-line and off-line scheduling problems in heterogeneous resources on a dynamic environment. The crucial performance feature is the communication, which is ignored in most related approaches.Firstly, we analyze the Work Stealing on-line algorithm on parallel and distributed platforms with different contexts of heterogeneity. We start with a mathematical analysis of a new model of Work Stealing algorithm in a distributed memory platform where communications between processors are modeled by a large latency. Then, we extend the previous problem to two separate clusters, where the communication between two processors inside the same cluster is much less than an external communication. We study this problem using simulations. Thus, we develop a lightweight PYTHON simulator, the simulator is used to simulate different Work Stealing algorithms in different contexts (different topologies, different tasks type and different configurations).In a second part of this work, we focus on two offline scheduling problems. Firstly, we consider the scheduling problem of a set of periodic implicit-deadline and synchronous tasks, on a real-time multiprocessor composed of m identical processors including communication. We propose a new tasks allocation algorithm that aims to reduce the number of tasks migrations,and limits migration (of migrant tasks) on two processors. Secondly, we model a recent scheduling problem, which concerns the textbf {micro-services} architectures which aim to divide large applications (Monolithic applications) into several micro connected applications (micro-services), which makes the scheduling problem of micro-services special.Our model allows us to access several research directions able to identify effective solutions with mathematical approximations.
Aujourd'hui, le développement des plates-formes de calcul haute performance (HPC) est considérable, elles sont toujours plus grandes, plus rapides, plus puissantes, mais aussi plus complexes. Ces plates-formes sont plus en plus hétérogènes, dynamiques, mais surtout, distribuées.Ces caractéristiques créent de nouveaux défis pour le problème de ordonnancement qui correspond à l'allocation des tâches aux différentes machines distantes.Le première défi est de savoir comment gérer efficacement l'hétérogénéité des ressources qui peut apparaitre au niveau du calcul ou au niveau des communications. Le deuxième défi est le caractère dynamique des tâches et des données,Pour relever ces défis, il faut accompagner ce développement par des outils logiciels efficaces pour gérer la complexité.Dans cette thèse, nous sommes intéressés aux problèmes d'ordonnancement en ligne et hors-ligne dans des ressources hétérogènes avec un environnement dynamique. La caractéristique de performance cruciale est la communication, qui est ignorée dans la plupart des approches existantes.Dans une première partie, nous analysons l'algorithme d'ordonnancement du vol du travail en ligne sur des plateformes parallèles et distribuées sous plusieurs contextes d'hétérogénéité. Nous commençons par une analyse mathématique d'un nouveau modèle de l'algorithme vol du travail sur plate-forme à mémoire distribuée où les communications entre les processeurs sont modélisés par une grande latence.Ensuite, nous étendons le problème précédent à deux clusters où la communication entre deux processeurs à l'intérieur d'un cluster est beaucoup plus petit qu'une communication externe. Nous étudions ce problème à l'aide de simulations. Ainsi, nous développons un propre simulateur, qui sera utilisé pour simuler différents algorithmes de vol de travail dans différents contextes (différentes topologies, différents types de tâches et différentes configurations).Dans une deuxième partie, nous nous concentrons sur deux problèmes d'ordonnancement hors ligne. Tout d'abord, l'ordonnancement d'un ensemble de tâches périodiques à échéance implicite et synchrones, sur une plate-forme temps réel composée de m processeurs identiques où la communication entre eux est importante. Pour ce problème, nous proposons un nouvel algorithme d'allocation de tâches qui vise à réduire le nombre de migrations de tâches, et limiter la migration (des tâche migrante) à deux processeurs.Ensuite, nous modélisons un problème d'ordonnancement récent, qui concerne les architectures micro-services qui visent à diviser les grandes applications (Applications monolithiques) en plusieurs petites applications (micro-services) connectées. Les micro-services ont des caractéristiques très spécifiques,ce qui rend spécial le problème d'ordonnancement (des micro-services).Sans apporter de solution complète, cette modélisation nous permet d'accéder à plusieurs directions de recherche capables de déterminer des solutions efficaces avec des approximations mathématiques.
Origin | Version validated by the jury (STAR) |
---|