Skip to Main Content
Drowsy cache has been proved as an efficient technique to reduce cache leakage energy. However, current drowsy cache control policies generally suffer from performance loss and are not adaptive to different program behaviors. In this paper, we study adaptive drowsy cache control for Java applications, where just-in-time (JIT) compiler and runtime information can be used to make accurate decision on drowsy cache control. We first explore the impact of different phases of Java applications on the timing behavior of cache usage. Then we propose several techniques to adaptively control drowsy cache to reduce energy consumption with minimal impact on performance. Our experiments show that the adaptive drowsy control by exploiting the phase information can reduce the performance loss without impacting the energy saving, which is especially useful during the garbage collection.