Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2892242.2892248acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
research-article
Public Access

Exploiting FIFO Scheduler to Improve Parallel Garbage Collection Performance

Published: 25 March 2016 Publication History

Abstract

Recent studies have found that parallel garbage collection performs worse with more CPUs and more collector threads. As part of this work, we further investigate this enomenon and find that poor scalability is worst in highly scalable Java applications. Our investigation to find the causes clearly reveals that efficient multi-threading in an application can prolong the average object lifespan, which results in less effective garbage collection. We also find that prolonging lifespan is the direct result of Linux's Completely Fair Scheduler due to its round-robin like behavior that can increase the heap contention between the application threads. Instead, if we use pseudo first-in-first-out to schedule application threads in large multicore systems, the garbage collection scalability is significantly improved while the time spent in garbage collection is reduced by as much as 21%. The average execution time of the 24 Java applications used in our study is also reduced by 11%. Based on this observation, we propose two approaches to optimally select scheduling policies based on application scalability profile. Our first approach uses the profile information from one execution to tune the subsequent executions. Our second approach dynamically collects profile information and performs policy selection during execution.

References

[1]
Memory Management in the Java HotSpot Virtual Machine. http://www.oracle. com/technetwork/java/javase /memorymanagement-whitepaper -150215.pdf, 2006.
[2]
Completely Fair Scheduler in Linux. https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt, 2015.
[3]
S. M. Blackburn, P. Cheng, and K. S. McKinley. Myths and Realities: The performance Impact of Garbage Collection. ACM SIGMETRICS Performance Evaluation Review, 32(1):25--36, 2004.
[4]
S. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, et al. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In ACM Sigplan Notices, volume 41, pages 169--190. ACM, 2006.
[5]
K.-Y. Chen, J. M. Chang, and T.-W. Hou. Multithreading in Java: Performance and Scalability on Multicore Systems. Computers, IEEE Transactions on, 60(11):1521--1534, 2011.
[6]
K. Du Bois, J. B. Sartor, S. Eyerman, and L. Eeckhout. Bottle Gras: Visualizing Scalability Bottlenecks in Multi-threaded Applications. In ACM SIGPLAN Notices, volume 48, pages 355--372. ACM, 2013.
[7]
H. Esmaeilzadeh, T. Cao, Y. Xi, S. M. Blackburn, and K. S. McKinley. Looking Back on the Language and Hardware Revolutions: Measured Power, Performance, and Scaling. In ACM SIGARCH Computer Architecture News, volume 39, pages 319--332. ACM, 2011.
[8]
L. Gidra, G. Thomas, J. Sopena, and M. Shapiro. Assessing the Scalability of Garbage Collectors on Many Cores. In Proceedings of the 6th Workshop on Programming Languages and Operating Systems, page 7. ACM, 2011.
[9]
L. Gidra, G. Thomas, J. Sopena, M. Shapiro, et al. A Study of the Scalability of Stop-the-world Garbage Collectors on Multicores. In ASPLOS 13-Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems, pages 229--240, 2013.
[10]
L. Gidra, G. Thomas, J. Sopena, M. Shapiro, and N. Nguyen. NumaGiC: a Garbage Collector for Big Data on Big NUMA Machines. In ASPLOS 15-Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems, 2015.
[11]
M. Hertz, S. M. Blackburn, J. E. B. Moss, K. S. McKinley, and D. Stefanović. Error-Free Garbage Collection Traces: How to Cheat and Not Get Caught. In Proceedings of the 2002 ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), pages 140--151, Marina Del Rey, California, 2002.
[12]
W. Huang, J. Lin, Z. Zhang, and J. M. Chang. Performance Characterization of Java Applications on SMT Processors. In Performance Analysis of Systems and Software, 2005. ISPASS 2005. IEEE International Symposium on, pages 102--111. IEEE, 2005.
[13]
R. Jones and R. Lins. Garbage Collection: Algorithms for automatic Dynamic Memory Management. John Wiley and Sons, 1998.
[14]
T. Kalibera, M. Mole, R. Jones, and J. Vitek. A Black-box Approach to Understanding Concurrency in DaCapo. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA '12, pages 335--354, 2012.
[15]
C.-T. D. Lo, W. Srisa-an, and J. M. Chang. A Quantitative Simulator for Dynamic Memory Managers. In Performance Analysis of Systems and Software, 2000. ISPASS. 2000 IEEE International Symposium on, pages 64--69. IEEE, 2000.
[16]
M. K. McKusick, G. V. Neville-Neil, and R. N. Watson. The design and implementation of the FreeBSD operating system. Pearson Education, 2014.
[17]
J. Qian, D. Li, W. Srisa-an, H. Jiang, and S. Seth. Factors Affecting Scalability of Multithreaded Java Applications on Manycore System. In 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pages 167--168. IEEE, 2015.
[18]
J. Qian, W. Srisa-an, D. Li, H. Jiang, and S. Seth. SmartStealing: Analysis and Optimization of Work Stealing in Parallel Garbage Collection for Java VM. In Proceedings of the 12th International Conference on Principles and Practice of Programming in Java, pages 170--181. ACM, 2015.
[19]
J. B. Sartor and L. Eeckhout. Exploring Multi-threaded Java Application Performance on Multicore Hardware. In ACM SIGPLAN Notices, volume 47, pages 281--296. ACM, 2012.
[20]
R. Shahriyar, S. M. Blackburn, and K. S. McKinley. Fast Conservative Garbage Collection. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, pages 121--139. ACM, 2014.
[21]
J. SPEC. Client2008 Suite. URL: https://www. spec.org/ jvm2008/, 2008.
[22]
D. Stefanović, M. Hertz, S. M. Blackburn, K. S. McKinley, and J. E. B. Moss. Older-First Garbage Collection in Practice: Evaluation in a Java Virtual Machine. SIGPLAN Notices, 38(2 supplement):25--36, 2003.
[23]
D. Stefanović, K. S. McKinley, and J. E. B. Moss. Age-Based Garbage Collection. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pages 370--381, Denver, Colorado, United States, November 1999.
[24]
F. Xian, W. Srisa-an, C. Jia, and H. Jiang. AS-GC: An Efficient Generational Garbage Gollector for Java Application Servers. In ECOOP 2007--Object-Oriented Programming, pages 126--150. Springer, 2007.
[25]
F. Xian, W. Srisa-an, and H. Jiang. Allocation-ase Aware Thread Scheduling Policies to Improve Garbage Collection Performance. In Proceedings of the 6th international symposium on Memory management, pages 79--90. ACM, 2007.
[26]
F. Xian, W. Srisa-an, and H. Jiang. Microase: An Approach to Proactively Invoking Garbage Collection for Improved Performance. In ACM SIGPLAN Notices, volume 42, pages 77--96. ACM, 2007.
[27]
F. Xian, W. Srisa-an, and H. Jiang. Contention-aware Scheduler: Unlocking Execution Parallelism in Multithreaded Java Programs. In ACM Sigplan Notices, volume 43, pages 163--180. ACM, 2008.

Cited By

View all
  • (2022)Queue congestion prediction for large-scale high performance computing systems using a hidden Markov modelThe Journal of Supercomputing10.1007/s11227-022-04356-z78:10(12202-12223)Online publication date: 28-Feb-2022
  • (2019)Adaptive Resource Views for ContainersProceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing10.1145/3307681.3325403(243-254)Online publication date: 17-Jun-2019
  • (2018)Characterizing and optimizing hotspot parallel garbage collection on multicore systemsProceedings of the Thirteenth EuroSys Conference10.1145/3190508.3190512(1-15)Online publication date: 23-Apr-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
VEE '16: Proceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
March 2016
186 pages
ISBN:9781450339476
DOI:10.1145/2892242
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: 25 March 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. garbage collection
  2. object lifespan
  3. process scheduling

Qualifiers

  • Research-article

Funding Sources

Conference

VEE '16

Acceptance Rates

VEE '16 Paper Acceptance Rate 10 of 29 submissions, 34%;
Overall Acceptance Rate 80 of 235 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)131
  • Downloads (Last 6 weeks)23
Reflects downloads up to 16 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Queue congestion prediction for large-scale high performance computing systems using a hidden Markov modelThe Journal of Supercomputing10.1007/s11227-022-04356-z78:10(12202-12223)Online publication date: 28-Feb-2022
  • (2019)Adaptive Resource Views for ContainersProceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing10.1145/3307681.3325403(243-254)Online publication date: 17-Jun-2019
  • (2018)Characterizing and optimizing hotspot parallel garbage collection on multicore systemsProceedings of the Thirteenth EuroSys Conference10.1145/3190508.3190512(1-15)Online publication date: 23-Apr-2018
  • (2016)GScheduler: Reducing Mobile Device Energy Consumption2016 4th Intl Conf on Applied Computing and Information Technology/3rd Intl Conf on Computational Science/Intelligence and Applied Informatics/1st Intl Conf on Big Data, Cloud Computing, Data Science & Engineering (ACIT-CSII-BCD)10.1109/ACIT-CSII-BCD.2016.014(1-6)Online publication date: Dec-2016
  • (2020)PlatinumProceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference10.5555/3489146.3489157(159-172)Online publication date: 15-Jul-2020
  • (2020)Retracted: Computer Medical Image Segmentation Based on Neural NetworkIEEE Access10.1109/ACCESS.2020.30155418(158778-158786)Online publication date: 2020
  • (2020)A Real-Time Audio and Video Streaming Transmission Scheme for Social MediaSecurity and Privacy in Social Networks and Big Data10.1007/978-981-15-9031-3_13(143-152)Online publication date: 22-Sep-2020

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media