Dynamisk spänning och frekvensskalning (DVFS) anpassar vanligtvis CPU-effektförbrukningen genom att ändra en processors driftsfrekvens (och tillhörande spänning). Typiska DVFS-strategier inkluderar att använda standardstrategier som att köra på lägsta eller högsta frekvens eller reagera på CPU: s körtid belastning för att minska eller öka frekvensen baserat på CPU-användning. I denna artikel, vi hävdar att en kompilering-tid strategi för CPU frekvensval är möjligt för affine program regioner och kan avsevärt överträffa runtimebaserade metoder. Vi föreslår först en lätt runtime strategi som kan utnyttja egenskaperna hos den effektprofil som är specifik för en processor, överträffa klassiska Linuxguvernörer såsom powersave eller on-demand för beräkningskärnor. Vi visar sedan att, för affina kärnor i programmet, en rent kompileringstid strategi för CPU-frekvens och kärnantal val är uppnåelig, vilket ger betydande ytterligare fördelar under körtiden strategi. Vårt ramverk bygger på en engångsprofilering av målprocessorn, tillsammans med en kompileringstid kategorisering av loop-baserade kodsegment i programmet. Dessa kombineras för att vid kompileringstid bestämma frekvensen och antalet kärnor att använda för att utföra varje affin region för att optimera energi eller energifördröjning produkt. Omfattande utvärdering av 60 riktmärken och 5 flerkärniga processorer visar att vårt tillvägagångssätt systematiskt överträffar powersave Linuxguvernör samtidigt som det förbättrar den övergripande prestandan.
I REF föreslås en kompilerings-tidsmetod för att bestämma CPU-frekvensen.
Static and Dynamic Frequency Scaling on Multicore CPUs
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}