Towards more scalable mutual exclusion for multicore architectures

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 improv...

Full description

Bibliographic Details
Main Author: Lozi, Jean-Pierre
Language:English
Published: Université Pierre et Marie Curie - Paris VI 2014
Subjects:
Online Access:http://tel.archives-ouvertes.fr/tel-01067244
http://tel.archives-ouvertes.fr/docs/01/06/72/44/PDF/these_archivage_2764759opti.pdf
id ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-01067244
record_format oai_dc
spelling ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-010672442014-09-24T03:21:10Z http://tel.archives-ouvertes.fr/tel-01067244 2014PA066119 http://tel.archives-ouvertes.fr/docs/01/06/72/44/PDF/these_archivage_2764759opti.pdf Towards more scalable mutual exclusion for multicore architectures Lozi, Jean-Pierre [INFO:INFO_OH] Computer Science/Other [INFO:INFO_OH] Informatique/Autre Multicore Lock 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. 2014-07-16 eng PhD thesis Université Pierre et Marie Curie - Paris VI
collection NDLTD
language English
sources NDLTD
topic [INFO:INFO_OH] Computer Science/Other
[INFO:INFO_OH] Informatique/Autre
Multicore
Lock
spellingShingle [INFO:INFO_OH] Computer Science/Other
[INFO:INFO_OH] Informatique/Autre
Multicore
Lock
Lozi, Jean-Pierre
Towards more scalable mutual exclusion for multicore architectures
description 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.
author Lozi, Jean-Pierre
author_facet Lozi, Jean-Pierre
author_sort Lozi, Jean-Pierre
title Towards more scalable mutual exclusion for multicore architectures
title_short Towards more scalable mutual exclusion for multicore architectures
title_full Towards more scalable mutual exclusion for multicore architectures
title_fullStr Towards more scalable mutual exclusion for multicore architectures
title_full_unstemmed Towards more scalable mutual exclusion for multicore architectures
title_sort towards more scalable mutual exclusion for multicore architectures
publisher Université Pierre et Marie Curie - Paris VI
publishDate 2014
url http://tel.archives-ouvertes.fr/tel-01067244
http://tel.archives-ouvertes.fr/docs/01/06/72/44/PDF/these_archivage_2764759opti.pdf
work_keys_str_mv AT lozijeanpierre towardsmorescalablemutualexclusionformulticorearchitectures
_version_ 1716714440958672896