Exploiting FIFO Scheduler to Improve Parallel Garbage Collection Performance
Autor: | Pan Yi, Hong Jiang, Junjie Qian, Du Li, Sharad C. Seth, Witawas Srisa-an |
---|---|
Rok vydání: | 2016 |
Předmět: |
Manual memory management
Java Computer science 020207 software engineering Thread (computing) Parallel computing 02 engineering and technology computer.software_genre Execution time Computer Graphics and Computer-Aided Design Scheduling (computing) 020202 computer hardware & architecture Scalability Operating system 0202 electrical engineering electronic engineering information engineering computer Garbage Software computer.programming_language Heap (data structure) Garbage collection |
Zdroj: | VEE |
ISSN: | 1558-1160 0362-1340 |
DOI: | 10.1145/3007611.2892248 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |