Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2823363.2823367acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

Efficient dynamic analysis of the synchronization performance of Java applications

Published: 26 October 2015 Publication History
  • Get Citation Alerts
  • Abstract

    Concurrent programming has become a necessity in order to benefit from recent advances in processor design. However, implementing correct and scalable synchronization in concurrent code remains a challenge. Dynamic analysis of synchronization behavior is vital to determine where more sophisticated but error-prone synchronization pays off. We examine common approaches that developers use to identify and analyze concurrency bottlenecks in Java applications. We then describe key aspects of our ongoing research on a novel approach to Java synchronization analysis. Our approach provides developers with exhaustive information on the synchronization behavior of their application, but incurs such low overhead that it is feasible to use it for monitoring production systems. Unlike other methods, our approach can precisely show where optimizations have the largest impact.

    References

    [1]
    D. F. Bacon, R. Konuru, C. Murthy, and M. Serrano. Thin locks: featherweight synchronization for Java. In ACM SIGPLAN Notices, volume 33, pages 258–268, 1998.
    [2]
    S. M. Blackburn et al. The DaCapo benchmarks: Java benchmarking development and analysis. OOPSLA ’06, pages 169– 190, 2006.
    [3]
    F. David, G. Thomas, J. Lawall, and G. Muller. Continuously measuring critical section pressure with the free-lunch profiler. OOPSLA ’14, pages 291–307, 2014.
    [4]
    M. Hirt and M. Lagergren. Oracle JRockit: The Definitive Guide. Packt Publishing Ltd, 2010.
    [5]
    P. Hofer and H. Mössenböck. Fast Java profiling with scheduling-aware stack fragment sampling and asynchronous analysis. PPPJ ’14, pages 145–156, 2014.
    [6]
    P. Hofer, D. Gnedt, and H. Mössenböck. Lightweight Java profiling with partial safepoints and incremental stack tracing. ICPE ’15, pages 75–86, 2015.
    [7]
    H. Inoue and T. Nakatani. How a Java VM can get more from a hardware performance monitor. OOPSLA ’09, pages 137–154, 2009.
    [8]
    D. Lea. The java.util.concurrent synchronizer framework. Science of Computer Programming, 58(3):293–309, 2005.
    [9]
    Oracle. OpenJDK HotSpot group. http://openjdk.java. net/groups/hotspot/.
    [10]
    Oracle. HPROF: A Heap/CPU Profiling Tool. http://docs.oracle.com/javase/8/docs/technotes/ samples/hprof.html, 2015.
    [11]
    Oracle. JVM TM TI version 1.2. http://docs.oracle.com/ javase/8/docs/platform/jvmti/jvmti.html, 2015.
    [12]
    T. Pool. Lock optimizations on the HotSpot VM. Technical report, 2014.
    [13]
    Y. Qi et al. Profiling java.util.concurrent locks. http://www. infoq.com/articles/jucprofiler, 2010.
    [14]
    A. Sewe et al. Da Capo con Scala: design and analysis of a Scala benchmark suite for the Java virtual machine. OOPSLA ’11, pages 657–676, 2011.
    [15]
    H. Sutter. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobbs Journal, 30(3):202–210, 2005.
    [16]
    N. R. Tallent, J. M. Mellor-Crummey, and A. Porterfield. Analyzing lock contention in multithreaded applications. PPoPP ’10, pages 269–280, 2010.

    Cited By

    View all
    • (2017)Heaps don't lie: countering unsoundness with heap snapshotsProceedings of the ACM on Programming Languages10.1145/31338921:OOPSLA(1-27)Online publication date: 12-Oct-2017
    • (2016)Efficient Tracing and Versatile Analysis of Lock Contention in Java Applications on the Virtual Machine LevelProceedings of the 7th ACM/SPEC on International Conference on Performance Engineering10.1145/2851553.2851559(263-274)Online publication date: 12-Mar-2016

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    WODA 2015: Proceedings of the 13th International Workshop on Dynamic Analysis
    October 2015
    38 pages
    ISBN:9781450339094
    DOI:10.1145/2823363
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 26 October 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Concurrency
    2. Java
    3. Locking
    4. Monitoring
    5. Parallelism
    6. Profiling
    7. Synchronization
    8. Threading
    9. Tracing

    Qualifiers

    • Short-paper

    Conference

    SPLASH '15
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)8
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2017)Heaps don't lie: countering unsoundness with heap snapshotsProceedings of the ACM on Programming Languages10.1145/31338921:OOPSLA(1-27)Online publication date: 12-Oct-2017
    • (2016)Efficient Tracing and Versatile Analysis of Lock Contention in Java Applications on the Virtual Machine LevelProceedings of the 7th ACM/SPEC on International Conference on Performance Engineering10.1145/2851553.2851559(263-274)Online publication date: 12-Mar-2016

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media