Continuously measuring critical section pressure with the Free-Lunch profiler

Florian David, Gaël Thomas, Julia Lawall, Gilles Muller

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Today, Java is regularly used to implement large multithreaded server-class applications that use locks to protect access to shared data. However, understanding the impact of locks on the performance of a system is complex, and thus the use of locks can impede the progress of threads on configurations that were not anticipated by the developer, during specific phases of the execution. In this paper, we propose Free Lunch, a new lock profiler for Java application servers, specifically designed to identify, in-vivo, phases where the progress of the threads is impeded by a lock. Free Lunch is designed around a new metric, critical section pressure (CSP), which directly correlates the progress of the threads to each of the locks. Using Free Lunch, we have identified phases of high CSP, which were hidden with other lock profilers, in the distributed Cassandra NoSQL database and in several applications from the DaCapo 9.12, the SPECjvm-2008 and the SPECjbb2005 benchmark suites. Our evaluation of Free Lunch shows that its overhead is never greater than 6%, making it suitable for in-vivo use.

Original languageEnglish
Title of host publicationProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA
PublisherAssociation for Computing Machinery
Pages291-307
Number of pages17
ISBN (Electronic)9781450325851
DOIs
Publication statusPublished - 15 Oct 2014
Event2014 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2014 - Portland, United States
Duration: 20 Oct 201424 Oct 2014

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA

Conference

Conference2014 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2014
Country/TerritoryUnited States
CityPortland
Period20/10/1424/10/14

Keywords

  • Java
  • Locks
  • Multicore
  • Performance analysis

Fingerprint

Dive into the research topics of 'Continuously measuring critical section pressure with the Free-Lunch profiler'. Together they form a unique fingerprint.

Cite this