Vers des mécanismes d'exclusion mutuelle plus efficaces pour les architectures multi-cœur
Auteur / Autrice : | Jean-Pierre Lozi |
Direction : | Gilles Muller |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 16/07/2014 |
Etablissement(s) : | Paris 6 |
Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris (1992-...) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'Informatique de Paris 6 |
Jury : | Examinateurs / Examinatrices : Vivien Quema, Wolfgang Schroder-Preikschat, Luc Bouganim, Maurice Herlihy, Tim Harris, Gaël Thomas |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Le passage à l'échelle des applications multi-fil sur les systèmes multi-cœuractuels est limité par la performance des algorithmes de verrou, à cause descoûts d'accès à la mémoire sous forte congestion et des défauts de cache. Lacontribution principale présentée dans cette thèse est un nouvel algorithme,Remote Core Locking (RCL), qui a pour objectif d'améliorer la vitessed'exécution des sections critiques des applications patrimoniales sur lesarchitectures multi-cœur. L'idée de RCL est de remplacer les acquisitions deverrou par des appels de fonction distants (RPC) optimisés vers un fild'exécution matériel dédié appelé serveur. RCL réduit l'effondrement desperformances observé avec d'autres algorithmes de verrou lorsque de nombreuxfils d'exécution essaient d'obtenir un verrou de façon concurrente, et supprimele besoin de transférer les données partagées protégées par le verrou vers lefil d'exécution matériel qui l'acquiert car ces données peuvent souventdemeurer dans les caches du serveur.D'autres contributions sont présentées dans cette thèse, notamment un profilerpermettant d'identifier les verrous qui sont des goulots d'étranglement dansles applications multi-fil et qui peuvent par conséquent être remplacés par RCLafin d'améliorer les performances, ainsi qu'un outil de réécriture de codedéveloppé avec l'aide de Julia Lawall. Cet outil transforme les acquisitions deverrou POSIX en acquisitions RCL. L'évaluation de RCL a porté sur dix-huitapplications: les neuf applications des benchmarks SPLASH-2, les septapplications des benchmarks Phoenix 2, Memcached, ainsi que Berkeley DB avec unclient TPC-C. Huit de ces applications sont incapables de passer à l'échelle àcause de leurs verrous et leur performance est améliorée par RCL sur unemachine x86 avec quatre processeurs AMD Opteron et 48 fils d'exécutionmatériels. Utiliser RCL permet de multiplier les performances par 2.5 parrapport aux verrous POSIX sur Memcached, et par 11.6 fois sur Berkeley DB avecle client TPC-C. Sur une machine SPARC avec deux processeurs Sun Ultrasparc T2+et 128 fils d'exécution matériels, les performances de trois applications sontaméliorées par RCL: les performances sont multipliées par 1.3 par rapport auxverrous POSIX sur Memcached et par 7.9 fois sur Berkeley DB avec le clientTPC-C.