Trading Runtime for Energy Efficiency: Leveraging Power Caps to Save Energy across Programming Languages
Metadane
- Autorzy: Simão Cunha, Luís Silva, João Saraiva, João Paulo Fernandes
- Rok: 2024
- Źródło: Proceedings of the 17th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2024), s. 130–142
- DOI: 10.1145/3687997.3695638
- Status: to-read
- Kategoria główna: Systems
- Podkategorie: Green Computing, Programming Languages, Power Management
- Tagi:
#energy-efficiency#programming-languages#power-cap#RAPL#green-software#measurement#project:js-runtime-energy - Cytowania: 4
Streszczenie
Praca z zespołu Pereira/Saraiva (Universidade do Minho) badająca wpływ mechanizmu power capping na efektywność energetyczną różnych języków programowania. Power cap (ograniczenie poboru mocy CPU) pozwala “trading runtime for energy efficiency” — program może działać wolniej, ale zużyć mniej energii. Praca bada, czy ten trade-off jest opłacalny i dla których języków/workloadów.
Kontynuacja linii badawczej Pereira 2017/2021, z nowym wymiarem: aktywne sterowanie poborem mocy jako mechanizm optymalizacji energetycznej niezależny od wyboru języka.
Kluczowe Wnioski
- Power cap (RAPL PKGP) może znacznie redukować zużycie energii kosztem czasu wykonania
- Optymalny power cap jest zależny od języka i workloadu — nie ma jednej wartości
- Dla języków JIT (JavaScript, Java): power cap może być szczególnie efektywny (mniej gorących pętli JIT)
- Trade-off runtime–energia ma kształt “sweet spot” — za niski cap powoduje proporcjonalnie mniejsze oszczędności
- Metodologia: RAPL PKGP (package power limit) + CLBG benchmarks
Metodologia
- Mechanizm: Intel RAPL PKGP (package power limit) — ograniczenie maksymalnego poboru mocy CPU
- Benchmarki: Computer Language Benchmarks Game (CLBG)
- Języki: podzbiór 27 języków z Pereira 2017
- Analiza: Pareto front energy × runtime dla różnych wartości power cap
Główne Koncepcje
- Power Cap (PKGP): mechanizm Intel pozwalający ustawić maksymalny pobór mocy pakietu CPU
- Energy-Runtime Pareto Front: graficzne przedstawienie trade-offu między oszczędnością energii a spowolnieniem
- Throttling: CPU automatycznie zmniejsza taktowanie gdy zbliża się do power cap
Wyniki
- Przy power cap 50% normalnego: ~20-35% oszczędności energii kosztem ~30-60% spowolnienia
- JavaScript z power cap: możliwa redukcja energii o ~25% przy 1.4× wolniejszym wykonaniu
- Sweet spot: power cap 70-80% nominalnego (dobry balans energia/czas)
Przydatne Cytaty
“We show that by carefully selecting power caps, we can save significant amounts of energy across programming languages, at the cost of some additional runtime.” (Title/Abstract)
Datasety
- CLBG (Computer Language Benchmarks Game)
Powiązane Tematy
- Pereira 2017/2021 (poprzednia linia badawcza tego zespołu)
- PowerJoular (alternatywne narzędzie pomiaru)
- Metodologia pomiaru energii JS runtimeów (#JE-3)
- Power management w serverless (związek z GreenCourier)