AUTOMATIC ¡TRADEOFFS: ¡ ACCURACY ¡AND ¡ENERGY ¡ Stephanie ¡Forrest ¡ Westley ¡Weimer ¡ Jonathan ¡Dorn ¡ Jeremy ¡Lacomis ¡ 1/13/17 ¡ 1 ¡
Tradeoffs ¡ • So6ware ¡development ¡involves ¡ tradeoffs . ¡ • “Good, ¡fast, ¡or ¡cheap. ¡Pick ¡any ¡two.” ¡ • Time ¡vs. ¡memory. ¡ • Maintainability ¡vs. ¡efficiency. ¡ • … ¡ 2 ¡
3 ¡
Data ¡Center ¡Energy ¡Use ¡ 100 Percentages of 2.0% 80 (billion kWh/year) US electricity Electricity Use Infrastructure use in a given 1.5% Communications year 60 Storage 40 High-end servers 0.8% Mid-range servers 20 Volume servers 0 2000 2005 2010 Reproduced from J. Koomey. Growth in data center electricity use 2005 to 2010 . Analytics Press, Oakland, CA, 2011. 4 ¡
Genetic ¡Optimization ¡Algorithm ¡ blackscholes • Local ¡changes ¡to ¡ bodytrack ferret assembly ¡code. ¡ fluidanimate freqmine swaptions • Exploit ¡mutaKonal ¡ vips robustness ¡to ¡reduce ¡ x264 average energy. ¡ 0 25 50 75 100 Energy Reduction (%) 5 ¡
Motivating ¡Example ¡ .L23: ¡ ¡ ¡… ¡ ¡ ¡cmpl ¡ ¡%r13d, ¡40(%rsp) ¡ ¡ ¡ ¡movq ¡ ¡16(%rsp), ¡%r9 ¡ ¡ ¡movsd ¡%xmm0, ¡(%r9) ¡ ¡ ¡je ¡ ¡ ¡ ¡.L9 ¡ ¡ ¡… ¡ ¡ ¡call ¡ ¡_Z12CumNormalInvd ¡ ¡ 6 ¡
Motivating ¡Example ¡ Top of one unrolling of inner loop .L23: ¡ ¡ ¡… ¡ Loop condition check ¡ ¡cmpl ¡ ¡%r13d, ¡40(%rsp) ¡ ¡ ¡ ¡movq ¡ ¡16(%rsp), ¡%r9 ¡ ¡ ¡movsd ¡%xmm0, ¡(%r9) ¡ Jumps out of loop ¡ ¡je ¡ ¡ ¡ ¡.L9 ¡ ¡ ¡… ¡ ¡ ¡call ¡ ¡_Z12CumNormalInvd ¡ ¡ 7 ¡
Motivating ¡Example ¡ .L23: ¡ ¡ ¡… ¡ ¡ ¡cmpl ¡ ¡%r13d, ¡40(%rsp) ¡ Resets condition flags ¡ ¡xorl ¡ ¡%eax, ¡%eax ¡ ¡ ¡movq ¡ ¡16(%rsp), ¡%r9 ¡ ¡ ¡movsd ¡%xmm0, ¡(%r9) ¡ Always exits loop! ¡ ¡je ¡ ¡ ¡ ¡.L9 ¡ ¡ ¡… ¡ ¡ ¡call ¡ ¡_Z12CumNormalInvd ¡ ¡ 8 ¡
Motivating ¡Example ¡ .L23: ¡ ¡ ¡… ¡ • No ¡change ¡ in ¡ ¡ ¡cmpl ¡ ¡%r13d, ¡40(%rsp) ¡ observed ¡behavior. ¡ ¡ ¡xorl ¡ ¡%eax, ¡%eax ¡ ¡ ¡movq ¡ ¡16(%rsp), ¡%r9 ¡ • Skipped ¡iteraKons ¡ ¡ ¡movsd ¡%xmm0, ¡(%r9) ¡ increase ¡precision. ¡ ¡ ¡je ¡ ¡ ¡ ¡.L9 ¡ • Fixed ¡number ¡of ¡digits ¡ ¡ ¡… ¡ in ¡output. ¡ ¡ ¡call ¡ ¡_Z12CumNormalInvd ¡ ¡ 9 ¡
Research ¡Questions ¡ 1. Does ¡mulK-‑objecKve ¡search ¡find ¡larger ¡ energy ¡reducKons ¡with ¡human-‑acceptable ¡ levels ¡of ¡error? ¡ 2. How ¡does ¡mulK-‑objecKve ¡search ¡compare ¡to ¡ a ¡less ¡general ¡technique ¡like ¡loop ¡ perforaKon? ¡ 10 ¡
Algorithm ¡Overview ¡ E VALUATE F ITNESS I NPUT Eject Report M UTATE O UTPUT 11 ¡
Multi-‑Objective ¡Fitness ¡Function ¡ • Energy ¡Performance ¡ • Predict ¡energy ¡in ¡fitness ¡funcKon ¡(linear ¡model). ¡ 12 ¡
Multi-‑Objective ¡Fitness ¡Function ¡ • Energy ¡Performance ¡ • Predict ¡energy ¡in ¡fitness ¡funcKon ¡(linear ¡model). ¡ 13 ¡
Multi-‑Objective ¡Fitness ¡Function ¡ • Energy ¡Performance ¡ • Predict ¡energy ¡in ¡fitness ¡funcKon ¡(linear ¡model). ¡ • Physical ¡energy ¡measurements. ¡ 14 ¡
Physical ¡Energy ¡Measurement ¡ • Consumer-‑grade ¡meters ¡ are ¡designed ¡for ¡long-‑ running ¡(months) ¡ measurements. ¡ • High-‑end ¡meters ¡cost ¡ $1000s ¡per ¡node. ¡ 15 ¡
Fast ¡Physical ¡Energy ¡Measurement ¡ 16 ¡
Fast ¡Physical ¡Energy ¡Measurement ¡ • Internal: ¡1200 ¡Hz. ¡ • External: ¡10-‑20 ¡Hz. ¡ • Serial ¡bus ¡is ¡bo\leneck. ¡ 17 ¡
Multi-‑Objective ¡Fitness ¡Function ¡ • Energy ¡Performance ¡ • Predict ¡energy ¡in ¡fitness ¡funcKon ¡(linear ¡model). ¡ • Physical ¡energy ¡measurements. ¡ • Correctness ¡Metrics ¡ • Domain-‑specific: ¡SSIM, ¡L 2 ¡RGB, ¡Kendall’s ¡Tau. ¡ • General-‑purpose: ¡Hamming ¡Distance, ¡RMSE. ¡ 18 ¡
Selected ¡PARSEC ¡Benchmarks ¡ Benchmark ¡ Assembly ¡ Test ¡(sec) ¡ Error ¡Metric ¡ Lines ¡ blackscholes ¡ 12,437 ¡ 2.7 ¡ RMSE ¡ bodytrack ¡ 198,462 ¡ 3.3 ¡ RMSE ¡ ferret ¡ 80,811 ¡ 6.4 ¡ Kendall’s ¡Tau ¡ fluidanimate ¡ 7,511 ¡ 2.7 ¡ Hamming ¡Distance ¡ freqmine ¡ 26,281 ¡ 7.4 ¡ RMSE ¡ swapKons ¡ 55,753 ¡ 3.2 ¡ RMSE ¡ vips ¡ 822,655 ¡ 18.1 ¡ L 2 ¡Lab ¡Colorspace ¡ x264 ¡ 205,801 ¡ 5.7 ¡ L 2 ¡Lab ¡Colorspace ¡ 19 ¡
Experiments ¡ 1. NSGA-‑II ¡mulK-‑objecKve ¡search. ¡ • 512 ¡variants ¡in ¡populaKon. ¡ • 32 ¡generaKons. ¡ • Sample ¡fitness ¡5x ¡during ¡search. ¡ 2. Re-‑evaluate ¡variants ¡on ¡Pareto ¡fronKer. ¡ • At ¡least ¡25x ¡and ¡relaKve ¡standard ¡error ¡< ¡0.01. ¡ 3. Manually ¡idenKfy ¡human-‑acceptable ¡point. ¡ 20 ¡
Results ¡ blackscholes bodytrack ferret 600 2 400 Error Error Error 5 1 200 0 0 0 0% 50% 100% 0% 50% 100% 0% 50% 100% % Energy Improvement % Energy Improvement % Energy Improvement Our Technique Loop Perforation Human Acceptable 21 ¡
Results ¡ fluidanimate freqmine swaptions × 10 7 3 1 . 0 15 2 10 Error Error Error 0 . 5 1 5 0 0 . 0 0 0% 50% 100% 0% 50% 100% 0% 50% 100% % Energy Improvement % Energy Improvement % Energy Improvement Our Technique Loop Perforation Human Acceptable 22 ¡
Results ¡ vips x264 150000 800000 600000 100000 Error Error 400000 50000 200000 0 0 0% 50% 100% 0% 50% 100% % Energy Improvement % Energy Improvement Our Technique Loop Perforation Human Acceptable 23 ¡
x264 ¡Result ¡ 24 ¡
x264 ¡Result ¡ 50% ¡energy ¡reducKon ¡ 25 ¡
vips ¡Result ¡ 6% ¡energy ¡reducKon ¡ 26 ¡
Extensions ¡and ¡Future ¡Work ¡ • Scale ¡up ¡to ¡larger ¡benchmarks. ¡ • Be\er ¡evaluaKon ¡of ¡“human-‑acceptability.” ¡ • InvesKgate ¡effect ¡of ¡error ¡metric. ¡ • Do ¡domain-‑specific ¡metrics ¡provide ¡be\er ¡tradeoffs ¡ than ¡general-‑purpose ¡ones? ¡ • InvesKgate ¡freqmine’s ¡poor ¡performance. ¡ • Is ¡energy ¡ ¡ ¡ ¡runKme? ¡ ∝ 27 ¡
Summary ¡ • We ¡use ¡mulK-‑objecKve ¡search ¡to ¡explore ¡the ¡ tradeoff ¡between ¡energy ¡performance ¡and ¡ error. ¡ • Our ¡technique ¡produces ¡tradeoffs ¡at ¡least ¡as ¡ good ¡as ¡loop ¡perforaKon. ¡ 28 ¡
Recommend
More recommend