Profile-guided Frequency Scaling for Latency-Critical Search Workloads
Daniel Araujo de Medeiros, Denilson das Merces Amorim, Vinícius Petrucci · 2021
Dynamic frequency scaling is a technique to reduce power consumption in computer systems. However, this technique poses challenges when adopted in latency-critical applications. Prior work on dynamic frequency scaling is application agnostic and coarse-granulated in the sense that it considers the entire application process utilization for decision making, without the distinction between individual threads or functions.This work proposes a finer-grained dynamic frequency scaling approach for multi-core processors that leverages information about the computational intensity of certain functions in a latency-critical web search application. First, our approach profiles the running application to identify hot functions for typical workloads. Next, a run-time scheme is devised to adapt the individual core frequency whenever a compute-intensive thread enters or exits a hot function. We implemented and evaluated our proposal in a real multi-core system. We observed energy consumption savings up to 28% when compared to the recent Linux's Ondemand frequency scaling governor, while attaining acceptable levels of tail latency constraints.