Portable Tracing of Lock Contention in Java Applications
نویسندگان
چکیده
Concurrent programming has become necessary to benefit from current multi-core processors. The main challenge is safely accessing shared resources from multiple parallel threads, which is typically done with locks. Simple locking mechanisms are easier to implement correctly, but often suffer from high lock contention, which means that threads frequently have to wait until another thread releases a lock. During development, it is difficult to tell when a simple locking mechanism provides adequate performance and scalability, and when more sophisticated locking is worth the additional complexity. Therefore, a tool is needed that shows locking bottlenecks in an application and enables developers to make changes where they pay off.
منابع مشابه
JPMT: A Java Performance Monitoring Tool
This paper describes our Java Performance Monitoring Toolkit (JPMT), which is developed for detailed analysis of the behavior and performance of Java applications. JPMT represents internal execution behavior of Java applications by event traces, where each event represents the occurrence of some activity, such as thread creation, method invocation, and locking contention. JPMT supports event fi...
متن کاملJava Locks: Analysis and Acceleration by
This dissertation presents several techniques to accelerate Java locks based on the analyses of their behavior from various viewpoints. Ten years have passed since Java was announced, and now the language has come to be used in various fields including large-scale Web services. To make such applications practical, performance improvements for the Java execution environments are indispensable. I...
متن کاملModeling and Resolving Lock Contention for Multi-threaded Systems
Locks are efficient concurrent control mechanisms to ensure that shared resources are accessed by only a single thread in multi-threaded applications. However, for multi-core systems, lock usage leads to lock contention, which degrades program performance, increases system response time, and negatively affects scalability. This paper initially models lock contention from two aspects: static str...
متن کاملPerformance Comparison of Middleware Architectures for Generating Dynamic Web Content
On-line services are making increasing use of dynamically generated Web content. Serving dynamic content is more complex than serving static content. Besides a Web server, it typically involves a server-side application and a database to generate and store the dynamic content. A number of standard mechanisms have evolved to generate dynamic content. We evaluate three specific mechanisms in comm...
متن کاملTransparently Reconciling Transactions with Locking for Java Synchronization
Concurrent data accesses in high-level languages like Java and C# are typically mediated using mutual-exclusion locks. Threads use locks to guard the operations performed while the lock is held, so that the lock’s guarded operations can never be interleaved with operations of other threads that are guarded by the same lock. This way both atomicity and isolation properties of a thread’s guarded ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016