Portable Tracing of Lock Contention in Java Applications

نویسندگان

  • Andreas Schörgenhumer
  • Peter Hofer
چکیده

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.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

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