Published: 2004
Total Pages:
Get eBook
(...)Ce travail de thèse se place dans le contexte de la problématique des contentions mémoires sur les machines multiprocesseurs. Nous proposons l'utilisation des compteurs matériels en tant qu'élément d'un système de contrôle permettant de modifier l'ordonnancement de l'exécution des processus en présence d'une contention. La politique de contrôle retenue consiste à maximiser le rendement de la machine ce qui correspond généralement au point de vue de l'administrateur. Le contrôle d'exécution des processus est basé sur l'estimation des performances via l'observation de l'utilisation mémoire. Ce mécanisme d'estimation est l'issue d'une étude sur l'impact des capacités des hiérarchies mémoires sur les performances des multiprocesseurs. Parmi les architectures processeurs des machines étudiées, nous avons trouvé des événements matériels capables d'établir un lien entre le niveau d'utilisation mémoire et les performances des applications. Puisque l'observation de l'utilisation mémoire est possible via les compteurs matériels en cours d'exécution, l'estimation des performances l'est aussi.(...)Ce mémoire de thèse est composé de 7 chapitres, dont l'introduction et la conclusion. Les paragraphes suivants résument l'ensemble des chapitres. Chapitre 2 : Ce chapitre intitulé Multiprocesseurs et compteurs matériels est consacré à la présentation des éléments de base nécessaires à l'ensemble des études de cette thèse. Dans une première partie, nous présentons les principales évolutions des performances des processeurs et des mémoires. Nous en retirons un déséquilibre des capacités des débits mémoire en fonction de celles de calculs des processeurs. Par la suite, il est présentée l'étude des modèles de programmation parallèle et les ordonnanceurs disponibles pour les machines multiprocesseurs. Enfin, dans la dernière partie, nous décrivons en détail les compteurs matériels de performances des quelques architectures processeurs que nous avons étudiés. Chapitre 3 : Ce chapitre intitulé Outils et bibliothèques de contrôle du système, présente un état de l'art des bibliothèques d'utilisation des compteurs matériels de performances, des outils d'analyse de performances et des systèmes de contrôle. Le nombre et le format des compteurs matériels varient d'une architecture à l'autre. C'est dans ce contexte que des bibliothèques ont été développées afin de simplifier l'utilisation des compteurs. En réduisant la complexité d'utilisation des compteurs matériels, ces bibliothèques ont permis une intégration simple des observations des activités matérielles dans les outils d'analyse de performances. Ainsi, ces outils disposent des informations en provenance du niveau matériel, du système et de l'applicatif ce qui permet une analyse plus fine de l'ensemble du système et de l'application. Finalement, les outils de contrôle en cours d'exécution peuvent prendre en compte les activités matérielles pour leurs prises de décisions. Chapitre 4 : Dans ce chapitre intitulé Observation de l'utilisation mémoire sur les machines multiprocesseurs nous décrivons l'étude du comportement mémoire des applications observées via les compteurs matériels liés à la hiérarchie mémoire. Sur certaines architectures, il est possible d'établir un rapport entre le débit de l'utilisation du bus mémoire et l'accélération obtenue. Nous cherchons ici à obtenir les éléments nécessaires à l'élaboration d'un système de contrôle de processus. Dans une deuxième partie, une observation et une analyse des comportements des applications en fonctions du temps ont été proposées. Pour conclure, nous présentons une étude préliminaire sur l'influence provoquée par l'activité d'autres ressources telles que celles issues d'une carte réseau ou des activités des entrées et sorties de périphériques de stockage sur la hiérarchie mémoire. Chapitre 5 : Dans ce chapitre intitulé DRAC : Un système de contrôle d'exécution, nous présentons l'architecture d'un système de contrôle de processus pour machine multiprocesseurs. La première partie est consacrée au principe du système avec ces objectifs ainsi que les problèmes provoqués par l'exécution de processus avec dépendance et synchronisation. Ensuite, nous décrivons les trois modules centraux de l'architecture, le moniteur mémoire, l'ordonnanceur et le gestionnaire des jobs. Enfin, dans la dernière partie, le prototype de ce système est détaillé. Chapitre 6 : Dans ce chapitre intitulé Modélisation et évaluation, nous commençons par définir un modèle général et simplifié prenant en compte l'impact de la hiérarchie mémoire sur les performances d'un multiprocesseur. Puis, nous avons défini des modèles d'ordonnancements qui permettent d'évaluer les temps d'exécution selon trois scénarios d'ordonnancement différents (pire, moyen, meilleur). Finalement, la dernière partie contient les évaluations du prototype du système DRAC sur trois architectures processeurs différentes. Pour conclure, un bilan général du travail ainsi que des pistes pour des travaux futurs seront présentés dans le dernier chapitre.