Continuously Measuring Critical Section Pressure with the Free-Lunch Profiler
Today, Java is regularly used to implement large multi-threaded 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 SPECjvm2008 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.
Thu 23 OctDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00 | |||
10:30 22mTalk | Continuously Measuring Critical Section Pressure with the Free-Lunch Profiler OOPSLA Florian David LIP6-UPMC/INRIA, Gaël Thomas LIP6-UPMC/INRIA, Julia Lawall LIP6, Gilles Muller LIP6-INRIA/UPMC Link to publication | ||
10:52 22mTalk | Chisel: Reliability-Aware Optimization of Approximate Computational Kernels OOPSLA Link to publication | ||
11:15 22mTalk | An Experimental Survey of Energy Management Across the Stack OOPSLA Link to publication | ||
11:37 22mTalk | Understanding Energy Behaviors of Thread Management Constructs OOPSLA Gustavo Pinto Federal University of Pernambuco, Fernando Castor UFPE, Yu David Liu State University of New York (SUNY) Binghamton Link to publication |