skip to main content
10.1145/2712386.2712389acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

A Java util concurrent park contention tool

Published:07 February 2015Publication History

ABSTRACT

Java Util Concurrent (JUC) is a widely used library in multithreaded Java applications. JUC provides a variety of tools such as locks, thread pools and blocking queues. Many of these constructs use Thread Park, a mechanism which allows threads to be blocked from execution, as a means of thread synchronization.

We modified the IBM Java Virtual Machine (JVM) creating a near zero overhead tool that measures and reports park contention data using a variety of metrics. This information can then be used to identify bottlenecks and consequently accelerate Java code.

We demonstrate the usefulness of this JUC Park Contention Tool in two example code patterns where it successfully identifies the JUC lock bottleneck. Furthermore, we also compare theoretical with measured values of the metrics in an example program. Finally, we use our tool to profile the Java benchmarks SPECjbb2005, SPECjbb2013 and the DaCapo benchmark suite.

References

  1. IBM Java Virtual Machine (JVM). http://publib.boulder.ibm.com/infocenter/java7sdk/v7r0/index.jsp, April 17, 2013.Google ScholarGoogle Scholar
  2. IBM Monitoring and Diagnostic Tools for Java - Health Center Version 2.1. http://www.ibm.com/developerworks/java/jdk/tools/healthcenter, April 17, 2013.Google ScholarGoogle Scholar
  3. Java platform, standard edition 7 api specification. http://w3.java.ibm.com/java/docs/java7/api/, April 17, 2013.Google ScholarGoogle Scholar
  4. Multicore Software Development Kit. https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=9a29d9f0-11b1-4d29-9359-a6fd9678a2e8, August 13, 2013.Google ScholarGoogle Scholar
  5. SPECjbb2005. http://www.spec.org/jbb2005/, August 13, 2014.Google ScholarGoogle Scholar
  6. SPECjbb2013. http://www.spec.org/jbb2013/, August 13, 2014.Google ScholarGoogle Scholar
  7. S. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, and S. Z. Guyer. The dacapo benchmarks: Java benchmarking development and analysis. In ACM Sigplan Notices, volume 41, pages 169--190. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Chen and P. Stenstrom. Critical lock analysis: diagnosing critical section bottlenecks in multithreaded applications. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, page 71. IEEE Computer Society Press, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Eklov, N. Nikoleris, and E. Hagersten. A Profiling Method for Analyzing Scalability Bottlenecks on Multicores. Technical Report 2012-030, Department of Information Technology, Uppsala University, Oct. 2012.Google ScholarGoogle Scholar
  10. B. Goetz, T. Peierls, J. Bloch, J. Bowebeer, D. Holmes, and L. Doug. Java concurrency in practice. Addison-Wesley Professional, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Gosling, B. Joy, G. L. S. Jr, G. Bracha, and A. Buckley. The Java Language Specification. Addison-Wesley, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. Lindholm and F. Yellin. The Java virtual machine specification, volume 297. Addison-Wesley Reading, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Patros. Measuring Java Util Concurrent Parking Contention in the IBM J9 Virtual Machine. Master's Thesis, UNB, 2014.Google ScholarGoogle Scholar
  14. N. R. Tallent, J. M. Mellor-Crummey, and A. Porterfield. Analyzing lock contention in multithreaded applications. In ACM Sigplan Notices, volume 45, pages 269--280. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Java util concurrent park contention tool

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            PMAM '15: Proceedings of the Sixth International Workshop on Programming Models and Applications for Multicores and Manycores
            February 2015
            186 pages
            ISBN:9781450334044
            DOI:10.1145/2712386

            Copyright © 2015 ACM

            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]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 7 February 2015

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            PMAM '15 Paper Acceptance Rate19of34submissions,56%Overall Acceptance Rate53of97submissions,55%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader