Title of article :
Removing Unnecessary Synchronization in Java
Author/Authors :
Holzle، Urs نويسنده , , Bogda، Jeff نويسنده ,
Issue Information :
روزنامه با شماره پیاپی سال 1999
Pages :
-34
From page :
35
To page :
0
Abstract :
Java programs perform many synchronization operations on data structures. Some of these synchronizations are unnecessary; in particular, if an object is reachable only by a single thread, concurrent access is impossible and no synchronization is needed. We describe an interprocedural, flow- and context-insensitive dataflow analysis that finds such situations. A global optimizing transformation then eliminates synchronizations on these objects. For every program in our suite of ten Java benchmarks consisting of SPECjvm98 and others, our system optimizes over 90% of the alias sets containing at least one synchronized object. As a result, the dynamic frequency of synchronizations is reduced by up to 99%. For two benchmarks that perform synchronizations very frequently, this optimization leads to speedups of 36% and 20%.
Keywords :
Aspect-oriented programming , software engineering practices , web-based applications , Distributed Systems
Journal title :
A C M Sigplan (Programming Languages) Sigplan Notices
Serial Year :
1999
Journal title :
A C M Sigplan (Programming Languages) Sigplan Notices
Record number :
17059
Link To Document :
بازگشت