Loading...
Please wait, while we are loading the content...
Similar Documents
Static Analyses for Eliminating Unnecessary Synchronization from Java Programs (1999)
| Content Provider | CiteSeerX |
|---|---|
| Author | Aldrich, Jonathan Chambers, Craig Sirer, Emin Gun Eggers, Susan |
| Description | This paper presents and evaluates a set of analyses designed to reduce synchronization overhead in Java programs. Monitor-based synchronization in Java often causes significant overhead, accounting for 5-10% of total execution time in our benchmark applications. To reduce this overhead, programmers often try to eliminate unnecessary lock operations by hand. Such manual optimizations are tedious, error-prone, and often result in poorly structured and less reusable programs. Our approach replaces manual optimizations with static analyses that automatically find and remove unnecessary synchronization from Java programs. These analyses optimize cases where a monitor is entered multiple times by a single thread, where one monitor is nested within another, and where a monitor is accessible by only one thread. A partial implementation of our analyses eliminates up to 70% of synchronization overhead and improves running time by up to 5% for several already hand-optimized benchmarks. Thus, our automated analyses have the potential to significantly improve the performance of Java applications while enabling programmers to design simpler and more reusable multithreaded code. |
| File Format | |
| Language | English |
| Publisher Date | 1999-01-01 |
| Publisher Institution | IN PROCEEDINGS OF THE 6TH INTERNATIONAL STATIC ANALYSIS SYMPOSIUM |
| Access Restriction | Open |
| Subject Keyword | Manual Optimization Java Application Significant Overhead Monitor-based Synchronization Reusable Program Unnecessary Synchronization Multiple Time Single Thread Java Program Reusable Multithreaded Code Automated Analysis Total Execution Time Unnecessary Lock Operation Benchmark Application Partial Implementation Static Analysis Synchronization Overhead Hand-optimized Benchmark |
| Content Type | Text |
| Resource Type | Article |