Scheduling Garbage Collection for Energy Efficiency on Asymmetric Multicore Processors

Marina Shimchenko,Erik Österlund,Tobias Wrigstad
DOI: https://doi.org/10.22152/programming-journal.org/2024/8/10
2024-03-05
Abstract:The growing concern for energy efficiency in the Information and Communication Technology (ICT) sector has prompted the exploration of resource management techniques. While hardware architectures, such as single-ISA asymmetric multicore processors (AMP), offer potential energy savings, there is still untapped potential for software optimizations. This paper aims to bridge this gap by investigating the scheduling of garbage collection (GC) activities on a heterogeneous architecture with both performance cores ("p-cores") and energy cores ("e-cores") to achieve energy savings.
Programming Languages
What problem does this paper attempt to address?
The paper aims to investigate the scheduling of garbage collection (GC) activities on asymmetric multicore processors to improve energy efficiency without compromising performance or latency. Specifically, the authors focus on scheduling the concurrent garbage collector, ZGC, on energy-efficient cores (eMcores) within the context of Java Virtual Machines (JVMs). The primary objectives include: 1. **Energy Efficiency:** To determine the energy impact of scheduling ZGC threads on eMcores rather than high-performance cores (pMcores). 2. **Performance Impact:** To assess the effects of scheduling ZGC threads on eMcores on application performance. 3. **Trade-offs:** To evaluate any trade-offs between energy reduction, performance parameters, and memory usage when scheduling ZGC threads on eMcores. The study is conducted using Intel Alder Lake processors, which feature a mix of high-performance cores and energy-efficient cores. The authors compare different hardware configurations, focusing on the number of hardware threads and the size of the last-level cache (LLC). The experiments involve running a variety of benchmarks, including Hazelcast for real-time stream processing and several benchmarks from the DaCapo suite, such as Tomcat, Lusearch, Spring, Luindex, Fop, and BioJava. These benchmarks are chosen to represent a range of CPU utilization levels and to provide insights into latency, as minimizing tail latency is a key goal of ZGC. The hypothesis is that scheduling a full