About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Publication
SEA 2004
Conference paper
Detecting unwanted synchronization in java programs
Abstract
A program's performance can be significantly improved by removing unwanted synchronization that causes time consuming tasks to run serially instead of in parallel. In large programs, especially those using libraries, it is usually difficult to manually detect unwanted synchronization. We describe an approach for automatically detecting unwanted synchronization in Java programs, including a detailed algorithm for computing the monitors involved in the synchronization. Our approach is highly scalable and is thus applicable to programs of realistic size. We have implemented this approach and tested it on several real problems, some of which are large. We present computational experience on both small and large examples, demonstrating that unwanted synchronization exists in practice, and that significant performance improvements are obtainable when unwanted synchronization is removed.