Academic Journal

Fast and Portable Locking for Multicore Architectures.

Bibliographic Details
Title: Fast and Portable Locking for Multicore Architectures.
Authors: LOZI, JEAN-PIERRE1 jean-pierre.lozi@unice.fr, DAVID, FLORIAN2 florian.david@lip6.fr, THOMAS, GAËL3 gael.thomas@telecom-sudparis.eu, LAWALL, JULIA2 julia.lawall@lip6.fr, MULLER, GILLES2 gilles.muller@lip6.fr
Source: ACM Transactions on Computer Systems. Jan2016, Vol. 33 Issue 4, p1-62. 62p.
Subject Terms: *Scalability, Multicore processors, Threads (Computer programs), Cache memory, Computer performance
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 article is a new locking technique, Remote Core Locking (RCL), that aims to accelerate the execution 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 server hardware thread. 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 article 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 that transforms POSIX lock acquisitions 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 ×86 machine with four AMD Opteron processors and 48 hardware threads. By using RCL instead of Linux POSIX locks, performance is improved by up to 2.5 times on Memcached, and up to 11.6 times on Berkeley DB with the TPC-C client. On a 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 Solaris POSIX locks on Memcached, and up to 7.9 times on Berkeley DB with the TPC-C client. [ABSTRACT FROM AUTHOR]
Copyright of ACM Transactions on Computer Systems is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Business Source Index
FullText Links:
  – Type: other
Text:
  Availability: 0
Header DbId: bsx
DbLabel: Business Source Index
An: 112207654
RelevancyScore: 1182
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 1182.00793457031
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Fast and Portable Locking for Multicore Architectures.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22LOZI%2C+JEAN-PIERRE%22">LOZI, JEAN-PIERRE</searchLink><relatesTo>1</relatesTo><i> jean-pierre.lozi@unice.fr</i><br /><searchLink fieldCode="AR" term="%22DAVID%2C+FLORIAN%22">DAVID, FLORIAN</searchLink><relatesTo>2</relatesTo><i> florian.david@lip6.fr</i><br /><searchLink fieldCode="AR" term="%22THOMAS%2C+GAËL%22">THOMAS, GAËL</searchLink><relatesTo>3</relatesTo><i> gael.thomas@telecom-sudparis.eu</i><br /><searchLink fieldCode="AR" term="%22LAWALL%2C+JULIA%22">LAWALL, JULIA</searchLink><relatesTo>2</relatesTo><i> julia.lawall@lip6.fr</i><br /><searchLink fieldCode="AR" term="%22MULLER%2C+GILLES%22">MULLER, GILLES</searchLink><relatesTo>2</relatesTo><i> gilles.muller@lip6.fr</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22ACM+Transactions+on+Computer+Systems%22">ACM Transactions on Computer Systems</searchLink>. Jan2016, Vol. 33 Issue 4, p1-62. 62p.
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: *<searchLink fieldCode="DE" term="%22Scalability%22">Scalability</searchLink><br /><searchLink fieldCode="DE" term="%22Multicore+processors%22">Multicore processors</searchLink><br /><searchLink fieldCode="DE" term="%22Threads+%28Computer+programs%29%22">Threads (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22Cache+memory%22">Cache memory</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+performance%22">Computer performance</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: 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 article is a new locking technique, Remote Core Locking (RCL), that aims to accelerate the execution 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 server hardware thread. 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 article 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 that transforms POSIX lock acquisitions 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 ×86 machine with four AMD Opteron processors and 48 hardware threads. By using RCL instead of Linux POSIX locks, performance is improved by up to 2.5 times on Memcached, and up to 11.6 times on Berkeley DB with the TPC-C client. On a 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 Solaris POSIX locks on Memcached, and up to 7.9 times on Berkeley DB with the TPC-C client. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of ACM Transactions on Computer Systems is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=bsx&AN=112207654
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1145/2845079
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 62
        StartPage: 1
    Subjects:
      – SubjectFull: Scalability
        Type: general
      – SubjectFull: Multicore processors
        Type: general
      – SubjectFull: Threads (Computer programs)
        Type: general
      – SubjectFull: Cache memory
        Type: general
      – SubjectFull: Computer performance
        Type: general
    Titles:
      – TitleFull: Fast and Portable Locking for Multicore Architectures.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: LOZI, JEAN-PIERRE
      – PersonEntity:
          Name:
            NameFull: DAVID, FLORIAN
      – PersonEntity:
          Name:
            NameFull: THOMAS, GAËL
      – PersonEntity:
          Name:
            NameFull: LAWALL, JULIA
      – PersonEntity:
          Name:
            NameFull: MULLER, GILLES
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Text: Jan2016
              Type: published
              Y: 2016
          Identifiers:
            – Type: issn-print
              Value: 07342071
          Numbering:
            – Type: volume
              Value: 33
            – Type: issue
              Value: 4
          Titles:
            – TitleFull: ACM Transactions on Computer Systems
              Type: main
ResultId 1