mardi 1 juillet 2014

Soutenance de thèse de Jean-Pierre Lozi

[English Text Below]

Bonjour,

J'ai le plaisir de vous inviter à ma soutenance de thèse intitulée:
"Vers des mécanismes d'exclusion mutuelle plus efficaces pour les architectures multi-cœur" et au pot qui suivra.

La soutenance se déroulera le mercredi 16 juillet 2014 à 13h30, tour 25-26, 1er étage, salle 105 du Laboratoire d'Informatique de Paris 6 (LIP6) situé à:
4, Place Jussieu, 75005 Paris, France (accès par métro M7 ou M10, station Jussieu).

Membres du jury :

M. Bouganim Luc (INRIA Paris-Rocquencourt), Examinateur
M. Herlihy Maurice (Brown University), Examinateur
M. Harris Tim (Oracle Labs), Examinateur
M. Muller Gilles (UPMC/INRIA/LIP6), Directeur de thèse
M. Quéma Vivien (INP/ENSIMAG/LIG), Rapporteur
M. Schröder-Preikschat Wolfgang (Friedrich-Alexander-Universität), Rapporteur
M. Thomas Gaël (UPMC/INRIA/LIP6), Directeur de thèse

Résumé :

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.



=== English ===

Dear all,

It is with great pleasure that I am inviting you to attend my PhD defense, entitled: "Towards More Scalable Mutual Exclusion for Multicore Architectures".

The PhD defense will be held on Wednesday the 16th of July 2014 at 1:30pm, tower 25-26, first floor, room 105 of the "Laboratoire d'Informatique de Paris 6" (LIP6) which is located at the following address:
4, Place Jussieu, 75005 Paris, France (access via the M7 or M10 metro lines, Jussieu station).

Jury members:

M. Bouganim Luc (INRIA Paris-Rocquencourt), Examiner
M. Herlihy Maurice (Brown University), Examiner
M. Harris Tim (Oracle Labs), Examiner
M. Muller Gilles (UPMC/INRIA/LIP6), Advisor
M. Quéma Vivien (INP/ENSIMAG/LIG), Reviewer
M. Schröder-Preikschat Wolfgang (Friedrich-Alexander-Universität), Reviewer
M. Thomas Gaël (UPMC/INRIA/LIP6), Advisor

Abstract:

The scalability of multithreaded applications on current multicore systems is hampered by the performance of lock algorithms, due to the costs of access contention and cache misses. The main contribution presented in this thesis is a new lock algorithm, Remote Core Locking (RCL), that aims to improve the performance of critical sections in legacy applications on multicore architectures. The idea of RCL is to replace lock acquisitions by optimized remote procedure calls to a dedicated hardware thread, which is referred to as the server. RCL limits the performance collapse observed with other lock algorithms when many threads try to acquire a lock concurrently and removes the need to transfer lock-protected shared data to the hardware thread acquiring the lock because such data can typically remain in the server's cache.

Other contributions presented in this thesis include a profiler that identifies the locks that are the bottlenecks in multithreaded applications and that can thus benefit from RCL, and a reengineering tool developed with Julia Lawall that transforms POSIX locks into RCL locks. Eighteen applications were used to evaluate RCL: the nine applications of the SPLASH-2 benchmark suite, the seven applications of the Phoenix 2 benchmark suite, Memcached, and Berkeley DB with a TPC-C client. Eight of these applications are unable to scale because of locks and benefit from RCL on an x86 machine with four AMD Opteron processors and 48 hardware threads. Using RCL locks, performance is improved by up to 2.5 times with respect to POSIX locks on Memcached, and up to 11.6 times with respect to Berkeley DB with the TPC-C client. On an SPARC machine with two Sun Ultrasparc T2+ processors and 128 hardware threads, three applications benefit from RCL. In particular, performance is improved by up to 1.3 times with respect to POSIX locks on Memcached, and up to 7.9 times with respect to Berkeley DB with the TPC-C client.


-- 
Jean-Pierre Lozi
PhD student, REGAL Team, LIP6/UPMC

Aucun commentaire: