LOZI Jean-Pierre
Direction de recherche : Gilles MULLER
Vers des mécanismes d’exclusion mutuelle plus efficaces pour les architectures multi-cœur
Le passage à l'échelle des applications multi-fil sur les systèmes multi-cœur actuels est limité par la performance des algorithmes de verrou, à cause des coûts d'accès à la mémoire sous forte congestion et des défauts de cache. La contribution principale présentée dans cette thèse est un nouvel algorithme, Remote Core Locking (RCL), qui a pour objectif d'améliorer la vitesse d'exécution des sections critiques des applications patrimoniales sur les architectures multi-cœur. L'idée de RCL est de remplacer les acquisitions de verrou par des appels de fonction distants (RPC) optimisés vers un fil d'exécution matériel dédié appelé serveur. RCL réduit l'effondrement des performances observé avec d'autres algorithmes de verrou lorsque de nombreux fils d'exécution essaient d'obtenir un verrou de façon concurrente, et supprime le besoin de transférer les données partagées protégées par le verrou vers le fil d'exécution matériel qui l'acquiert car ces données peuvent souvent demeurer dans les caches du serveur.
D'autres contributions sont présentées dans cette thèse, notamment un profiler qui identifie les verrous qui sont des goulots d'étranglement dans les applications multi-fil et qui peuvent par conséquent être remplacés par RCL afin d'améliorer les performances, ainsi qu'un outil de réécriture de code développé avec l'aide de Julia Lawall. Cet outil transforme les acquisitions de verrou POSIX en acquisitions RCL. L'évaluation de RCL a porté sur dix-huit applications: les neuf applications des benchmarks SPLASH-2, les sept applications des benchmarks Phoenix 2, Memcached, ainsi que Berkeley DB avec un client 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 une machine x86 avec quatre processeurs AMD Opteron et 48 fils d'exécution matériels. Utiliser RCL permet de multiplier les performances par 2.5 par rapport aux verrous POSIX sur Memcached, et par 11.6 fois sur Berkeley DB avec le 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 sont améliorées par RCL: les performances sont multipliées par 1.3 par rapport aux verrous POSIX sur Memcached et par 7.9 fois sur Berkeley DB avec le client TPC-C.
Soutenance : 16/07/2014
Membres du jury :
M. Quéma Vivien (INP/ENSIMAG/LIG) [Rapporteur]
M. Schröder-Preikschat Wolfgang (Friedrich-Alexander-Universität) [Rapporteur]
M. Bouganim Luc (INRIA Paris-Rocquencourt)
M. Herlihy Maurice (Brown University)
M. Harris Tim (Oracle Labs)
M. Muller Gilles (UPMC/INRIA/LIP6)
M. Thomas Gaël (UPMC/INRIA/LIP6)
Publications 2011-2020
-
2020
- R. Gouicem, D. Carver, J.‑P. Lozi, J. Sopena, B. Lepers, W. Zwaenepoel, N. Palix, J. Lawall, G. Muller : “Fewer Cores, More Hertz: Leveraging High-Frequency Cores in the OS Scheduler for Improved Application Performance”, 2020 USENIX Annual Technical Conference, Boston / Virtual, United States (2020)
- B. Lepers, R. Gouicem, D. Carver, J.‑P. Lozi, N. Palix, M.‑V. Aponte, W. Zwaenepoel, J. Sopena, J. Lawall, G. Muller : “Provable Multicore Schedulers with Ipanema: Application to Work Conservation”, Eurosys 2020 - European Conference on Computer Systems, Heraklion / Virtual, Greece (2020)
-
2019
- D. Carver, R. Gouicem, J.‑P. Lozi, J. Sopena, B. Lepers, W. Zwaenepoel, N. Palix, J. Lawall, G. Muller : “Fork/Wait and Multicore Frequency Scaling: a Generational Clash”, 10th Workshop on Programming Languages and Operating Systems, Huntsville, Canada, pp. 53-59, (ACM Press) (2019)
- R. Gouicem, J. Sopena, J. Lawall, G. Muller, B. Lepers, W. Zwaenepoel, J.‑P. Lozi, N. Palix : “Understanding scheduler performance : a feature-based approach”, Compas 2019 - Conférence d’informatique en Parallélisme, Architecture et Système, Anglet, France (2019)
-
2017
- R. Gouicem, J. Sopena, J. Lawall, G. Muller, B. Lepers, W. Zwaenepoel, J.‑P. Lozi, N. Palix : “Ipanema : un langage dédié pour le développement d’ordonnanceurs multi-coeur sûrs”, Compas 2017: Conférence d’informatique en Parallélisme, Architecture et Système, Sophia Antipolis, France (2017)
- B. Lepers, W. Zwaenepoel, J.‑P. Lozi, N. Palix, R. Gouicem, J. Sopena, J. Lawall, G. Muller : “Towards Proving Optimistic Multicore Schedulers”, HotOS 2017 - 16th Workshop on Hot Topics in Operating Systems, Whistler, British Columbia, Canada, pp. 6 (2017)
-
2016
- J.‑P. Lozi, F. David, G. Thomas, J. Lawall, G. Muller : “Fast and Portable Locking for Multicore Architectures”, ACM Transactions on Computer Systems, (Association for Computing Machinery) (2016)
-
2014
- J.‑P. Lozi : “Vers des mécanismes d’exclusion mutuelle plus efficaces pour les architectures multi-cœur”, soutenance de thèse, soutenance 16/07/2014, direction de recherche Muller, Gilles (2014)
- J.‑P. Lozi, F. David, G. Thomas, J. Lawall, G. Muller : “Remote Core Locking: Migrating Critical-Section Execution to Improve the Performance of Multithreaded Applications”, ComPAS 2014 : conférence en parallélisme, architecture et systèmes, Neuchâtel, Switzerland (2014)
-
2013
- S. Saha, J.‑P. Lozi, G. Thomas, J. Lawall, G. Muller : “Hector: Detecting resource-release omission faults in error-handling code for systems software”, DSN 2013 - 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Budapest, Hungary, pp. 1-12, (IEEE Computer Society) (2013)
- S. Saha, J.‑P. Lozi : “EHCtor: Detecting Resource-Release Omission Faults in Error-Handling Code for Systems Software”, 9e Conférence Française en Systèmes d'Exploitation, Grenoble, France (2013)
-
2012
- J.‑P. Lozi, F. David, G. Thomas, Julia L. Lawall, G. Muller : “Remote Core Locking: Migrating Critical-Section Execution to Improve the Performance of Multithreaded Applications”, Proceedings of the 2012 USENIX Annual Technical Conference (USENIX ATC '12), Boston, MA, United States, (ACM) (2012)
-
2011
- J.‑P. Lozi, G. Thomas, Julia L. Lawall, G. Muller : “Efficient locking for multicore architectures”, 30 pages (2011)
- J.‑P. Lozi : “Le Remote Core Lock (RCL) : une nouvelle technique de verrouillage pour les architectures multi-coeur”, 8e Conférence Française en Systèmes d'Exploitation, Saint-Malo, France (2011)