within applica ons
play

within Applica/ons Melanie Kambadur* + , Martha Kim* * - PowerPoint PPT Presentation

NRG-Loops: Adjus/ng Power from within Applica/ons Melanie Kambadur* + , Martha Kim* * Columbia University, New York, NY USA + Oscar Health Insurance, New York,


  1. NRG-­‑Loops: ¡Adjus/ng ¡Power ¡from ¡ within ¡Applica/ons ¡ Melanie ¡Kambadur* + , ¡Martha ¡Kim* ¡ * Columbia ¡University, ¡New ¡York, ¡NY ¡USA ¡ + Oscar ¡Health ¡Insurance, ¡New ¡York, ¡NY ¡USA ¡ ¡ ¡

  2. Power ¡efficiency ¡evolu/on ¡ Once, ¡power/performance ¡tradeoffs ¡were ¡set ¡at ¡HW ¡ design ¡7me… ¡ ¡ Low ¡ High ¡ Freq. ¡ Freq. ¡ -­‑ ¡Less ¡power ¡ + ¡More ¡power ¡ -­‑ ¡Slower ¡runGme ¡ + ¡Faster ¡runGme ¡ 2 ¡

  3. Power ¡efficiency ¡evolu/on ¡ Once, ¡power/performance ¡tradeoffs ¡were ¡set ¡at ¡HW ¡ design ¡7me… ¡ ¡ Low ¡ High ¡ Freq. ¡ Freq. ¡ -­‑ ¡Less ¡power ¡ + ¡More ¡power ¡ + ¡Med. ¡power ¡ -­‑ ¡Slower ¡runGme ¡ + ¡Faster ¡runGme ¡ + ¡Faster ¡runGme ¡ 3 ¡

  4. Power ¡efficiency ¡evolu/on ¡ Once, ¡power/performance ¡tradeoffs ¡were ¡set ¡at ¡HW ¡ design ¡7me… ¡ ¡ Low ¡ High ¡ Freq. ¡ Freq. ¡ -­‑ ¡Less ¡power ¡ + ¡More ¡power ¡ + ¡Med. ¡power ¡ -­‑ ¡Slower ¡runGme ¡ + ¡Faster ¡runGme ¡ + ¡Faster ¡runGme ¡ -­‑-­‑ ¡Power ¡ Specialized ¡HW ¡ ++ ¡RunGme ¡ 4 ¡

  5. Power ¡efficiency ¡evolu/on ¡ The ¡next ¡big ¡thing ¡was ¡tunable ¡“knobs” ¡ ¡ Dynamic ¡ Frequency ¡ Tuning ¡(DFS/ DVFS) ¡ 5 ¡

  6. Power ¡efficiency ¡evolu/on ¡ The ¡next ¡big ¡thing ¡was ¡tunable ¡“knobs” ¡ ¡ Dynamic ¡ CPU ¡Idle ¡ Frequency ¡ Modes ¡ Tuning ¡(DFS/ DVFS) ¡ 6 ¡

  7. Power ¡efficiency ¡evolu/on ¡ The ¡next ¡big ¡thing ¡was ¡tunable ¡“knobs” ¡ ¡ Dynamic ¡ CPU ¡Idle ¡ Asymmetric ¡ Frequency ¡ Modes ¡ MulGcores ¡ Tuning ¡(DFS/ DVFS) ¡ 7 ¡

  8. Moving ¡power ¡efficiency ¡up ¡the ¡stack ¡ How ¡do ¡we ¡use ¡these ¡HW ¡knobs ¡for ¡SW ¡power ¡& ¡ energy ¡efficiency? ¡ ¡ ¡ ¡ Dynamic ¡ CPU ¡Idle ¡ Asymmetric ¡ Frequency ¡ Modes ¡ MulGcores ¡ Tuning ¡(DFS/ DVFS) ¡ 8 ¡

  9. Using ¡HW ¡knobs ¡for ¡SW ¡energy ¡efficiency ¡ Most ¡SW ¡energy ¡efficiency ¡soluGons ¡expose ¡“hints” ¡ to ¡OS, ¡which ¡then ¡tunes ¡HW ¡knobs. ¡ ¡ High ¡ func ¡foo ¡_ high_power _ ¡{ ¡ ¡ // ¡some ¡code ¡ freq. ¡ } ¡ ¡ ¡ ¡ Low ¡ func ¡bar ¡ ¡_ low_power _ ¡{ ¡ ¡ // ¡some ¡code ¡ freq. ¡ } ¡ ¡ ¡ ¡ High func ¡baz ¡_ high_power _ ¡{ ¡ ¡ // ¡some ¡code ¡ freq. ¡ } ¡ ¡ ¡ 9 ¡

  10. Using ¡HW ¡knobs ¡for ¡SW ¡energy ¡efficiency ¡ Most ¡SW ¡energy ¡efficiency ¡soluGons ¡expose ¡“hints” ¡ to ¡OS, ¡which ¡then ¡tunes ¡HW ¡knobs. ¡ ¡ High ¡ class ¡Foo ¡_ high_power _ ¡{ ¡ ¡ // ¡some ¡code ¡ freq. ¡ } ¡ ¡ ¡ ¡ Low ¡ class ¡Bar ¡ ¡_ low_power _ ¡{ ¡ ¡ // ¡some ¡code ¡ freq. ¡ } ¡ ¡ ¡ ¡ High class ¡Baz ¡_ high_power _ ¡{ ¡ ¡ // ¡some ¡code ¡ freq. ¡ } ¡ ¡ ¡ 10 ¡

  11. Using ¡HW ¡knobs ¡for ¡SW ¡energy ¡efficiency ¡ Most ¡SW ¡energy ¡efficiency ¡soluGons ¡expose ¡“hints” ¡ to ¡OS, ¡which ¡then ¡tunes ¡HW ¡knobs. ¡ ¡ class ¡Foo ¡_ high_power _ ¡{ ¡ ¡ // ¡some ¡code ¡ } ¡ ¡ ¡ ¡ class ¡Bar ¡ ¡_ low_power _ ¡{ ¡ Idle ¡some ¡ ¡ // ¡some ¡code ¡ cores ¡ } ¡ ¡ ¡ ¡ class ¡Baz ¡_ high_power _ ¡{ ¡ ¡ // ¡some ¡code ¡ } ¡ ¡ ¡ 11 ¡

  12. STOP ¡using ¡HW ¡knobs ¡for ¡SW ¡energy ¡efficiency ¡ Most ¡SW ¡energy ¡efficiency ¡soluGons ¡expose ¡“hints” ¡ to ¡OS, ¡which ¡then ¡tunes ¡HW ¡knobs. ¡ ¡ • Hard ¡to ¡manage ¡HW ¡power ¡when ¡mulGple ¡ programs ¡give ¡hints ¡simultaneously ¡ • HW ¡can ¡predict ¡idle ¡periods ¡beder à ¡sub-­‑cycle ¡ DVFS ¡tuning? ¡ ¡ • In ¡pracGce, ¡most ¡HW ¡tuning ¡increases ¡runGme ¡to ¡ save ¡power, ¡so ¡can’t ¡save ¡energy ¡during ¡SW ¡acGve ¡ periods. ¡ ¡ 12 ¡

  13. Mobile ¡app ¡example ¡ ¡ 100 ¡ Power ¡(% ¡Total) ¡ 80 ¡ 60 ¡ 40 ¡ Segment ¡of ¡ mobile ¡game ¡ 20 ¡ that ¡takes ¡10s. ¡ 0 ¡ 0 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡ 10 ¡ 12 ¡ 14 ¡ Time ¡(s) ¡ 13 ¡

  14. Mobile ¡app ¡example ¡ ¡ Want ¡app ¡to ¡consume ¡<= ¡80% ¡power. ¡ 100 ¡ Too ¡much ¡power! ¡ Power ¡(% ¡Total) ¡ 80 ¡ 60 ¡ 40 ¡ 20 ¡ 0 ¡ 0 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡ 10 ¡ 12 ¡ 14 ¡ Time ¡(s) ¡ 14 ¡

  15. Op/on ¡1: ¡Let ¡HW ¡handle ¡with ¡DVFS ¡ ¡ 100 ¡ Power ¡ok ¡now. ¡ Power ¡(% ¡Total) ¡ 80 ¡ But ¡you ¡get ¡a ¡ 60 ¡ slowdown. ¡ 40 ¡ 20 ¡ 25% ¡Increase ¡ 0 ¡ 0 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡ 10 ¡ 12 ¡ 14 ¡ Time ¡(s) ¡ 15 ¡

  16. Op/on ¡2: ¡Compiler/Language ¡Smart ¡DVFS ¡ ¡ 100 ¡ Power ¡ok ¡now. ¡ Power ¡(% ¡Total) ¡ 80 ¡ S/ll ¡get ¡a ¡ 60 ¡ slowdown. ¡ 40 ¡ 20 ¡ 10% ¡Increase ¡ 0 ¡ 0 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡ 10 ¡ 12 ¡ 14 ¡ Time ¡(s) ¡ 16 ¡

  17. Op/on ¡2: ¡Compiler/Language ¡Smart ¡DVFS ¡ ¡ 100 ¡ Power ¡ok ¡now. ¡ Power ¡(% ¡Total) ¡ 80 ¡ S/ll ¡get ¡a ¡ 60 ¡ slowdown. ¡ 40 ¡ Moreover, ¡must ¡slow ¡ALL ¡apps ¡on ¡the ¡same ¡core. ¡ 20 ¡ 10% ¡Increase ¡ 0 ¡ 0 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡ 10 ¡ 12 ¡ 14 ¡ Time ¡(s) ¡ 17 ¡

  18. Op/on ¡3: ¡Trade ¡func/onality ¡for ¡power ¡ Total ¡ ¡ AdverGsement ¡ 100 ¡ Power ¡(% ¡Total) ¡ 80 ¡ 60 ¡ 40 ¡ 20 ¡ 0 ¡ Banner ¡ad: ¡ 0 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡ 10 ¡ 12 ¡ 14 ¡ Time ¡(s) ¡ 18 ¡

  19. Op/on ¡3: ¡Trade ¡func/onality ¡for ¡power ¡ Total ¡ ¡ AdverGsement ¡ 100 ¡ Ad ¡is ¡responsible ¡ Power ¡(% ¡Total) ¡ 80 ¡ for ¡power ¡spike ¡ 60 ¡ 40 ¡ 20 ¡ 0 ¡ Banner ¡ad: ¡ 0 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡ 10 ¡ 12 ¡ 14 ¡ Time ¡(s) ¡ 19 ¡

  20. Op/on ¡3: ¡Trade ¡func/onality ¡for ¡power ¡ Total ¡ ¡ AdverGsement ¡ 100 ¡ Power ¡(% ¡Total) ¡ 80 ¡ Pause ¡the ¡ad, ¡ maintain ¡ 60 ¡ power ¡budget ¡ 40 ¡ with ¡no ¡/me ¡ 20 ¡ delay ¡ 0 ¡ Banner ¡ad: ¡ 0 ¡ 2 ¡ 4 ¡ 6 ¡ 8 ¡ 10 ¡ 12 ¡ 14 ¡ Time ¡(s) ¡ 20 ¡

  21. NRG-­‑Loops: ¡SW-­‑Only ¡Power ¡Management ¡ • Instead ¡of ¡having ¡sohware ¡manage ¡power ¡via ¡ hardware ¡knobs, ¡have ¡sohware ¡manage ¡ power ¡via ¡sohware ¡knobs. ¡ 21 ¡

  22. NRG-­‑Loops: ¡SW-­‑Only ¡Power ¡Management ¡ • Instead ¡of ¡having ¡sohware ¡manage ¡power ¡via ¡ hardware ¡knobs, ¡have ¡sohware ¡manage ¡ power ¡via ¡sohware ¡knobs. ¡ HW ¡Knobs ¡ SW ¡Knobs ¡ • DVFS ¡ • Adjust ¡caching ¡strategy ¡ • Reduce ¡thread ¡count ¡ • Idle ¡cores ¡ • EsGmate ¡mathemaGcal ¡ • Asymmetric ¡ funcGon ¡ mulGcore ¡ • Stop ¡computaGon ¡early ¡ and ¡dump ¡memory ¡ 22 ¡

  23. NRG-­‑Loops: ¡SW-­‑Only ¡Power ¡Management ¡ • C++ ¡Language ¡Extension ¡to ¡tune ¡SW ¡power ¡ through ¡SW ¡knobs. ¡ ¡ • Measures ¡hardware ¡power ¡+ ¡energy ¡and ¡ enables ¡programs ¡to ¡trade ¡funcGonality ¡or ¡ accuracy ¡ONLY ¡when ¡runGme ¡power ¡or ¡energy ¡ budgets ¡are ¡exceeded. ¡ ¡ • Can ¡work ¡concurrently ¡with ¡HW ¡power ¡ soluGons. ¡ 23 ¡

  24. NRG-­‑Loops ¡ADAPT ¡ Concise ¡syntax ¡adds ¡only ¡a ¡few ¡lines ¡of ¡code ¡to ¡exis7ng ¡ programs ¡ ¡ NRG_ADAPT_for ¡( ¡int ¡i=0; ¡i<MAX_ADS ¡; ¡++i ¡&& ¡ ¡ ¡ ¡ ¡ ¡ ¡NRG_AVG_P<=POWER_LIMIT ¡) ¡{ ¡ ¡ ¡// ¡run ¡ad ¡normally ¡ } ¡NRG_ALTERNATE ¡{ ¡ ¡usleep ¡( ¡PAU SE_T IME ¡); ¡ ¡ } ¡ ¡ ¡ ¡ 24 ¡ ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend