❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦①
❍❛r♥❡ss✐♥❣ ❤❡t❡r♦❣❡♥♦✉s ❛r❝❤✐t❡❝t✉r❡s ❢♦r ❣r❡❡♥ ❝❧♦✉❞ ❞❛t❛❝❡♥t❡rs
- ❡♦r❣❡s ❉❛ ❈♦st❛
❍❡t❡r♦P❛r✬✷✵✶✻
❆✉❣✉st ✷✸r❞✱ ✷✵✶✻
❞❛❝♦st❛❅✐r✐t✳❢r ✶✴✹✺
rss trs rttrs r - - PowerPoint PPT Presentation
trs rr t t t ttr rss trs
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦①
❍❡t❡r♦P❛r✬✷✵✶✻
❞❛❝♦st❛❅✐r✐t✳❢r ✶✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✷✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✸✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✹✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❱✐♦❧❛✐♥❡ ❡t ❛❧✳✱ ❚❤❡r♠❛❧✲❛✇❛r❡ ❝❧♦✉❞ ♠✐❞❞❧❡✇❛r❡ t♦ r❡❞✉❝❡ ❝♦♦❧✐♥❣ ♥❡❡❞s✱ ❲❊❚■❈❊ ✇♦r❦s❤♦♣✱ ✷✵✶✹ ❞❛❝♦st❛❅✐r✐t✳❢r ✺✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
162 164 166 168 170 172 174 164 166 168 170 172 174 176 Temps (s) Energie (kJ) Transformée de fourrier
❞❛❝♦st❛❅✐r✐t✳❢r ✻✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✼✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✽✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
5 10 15 20 25 30 35 40 45 50 200 400 600 800 1000 Puissance (W) Temps (s) Applications Courant de fuite Puissance a vide Total
❞❛❝♦st❛❅✐r✐t✳❢r ✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❆❈
200 400 600 800 1000 20 40 60 80 100
Efficiency (%)
❞❛❝♦st❛❅✐r✐t✳❢r ✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
∗
▲❡❛♥❞r♦ ❡t ❛❧✳✱ ❚♦✇❛r❞s ❛ ❣❡♥❡r✐❝ ♣♦✇❡r ❡st✐♠❛t♦r✱ ❈❙❘❉ ❥♦✉r♥❛❧✱ ✷✵✶✺
input layer
hidden layers ❞❛❝♦st❛❅✐r✐t✳❢r ✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✶✵✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✶✵✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✶✵✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
∗ ❍♦♥❣ ❨❛♥❣ ❡t ❛❧✳✱❊♥❡r❣②✲❡✣❝✐❡♥t ❛♥❞ t❤❡r♠❛❧✲❛✇❛r❡ r❡s♦✉r❝❡ ♠❛♥❛❣❡♠❡♥t ❢♦r ❤❡t❡r♦❣❡♥❡♦✉s ❞❛t❛❝❡♥t❡rs✱ ❙❯❙❈❖▼ ❥♦✉r♥❛❧✱ ✷✵✶✹✳
❞❛❝♦st❛❅✐r✐t✳❢r ✶✵✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
∗ ●❡♦r❣❡s ❡t ❛❧✳ ❊①❛s❝❛❧❡ ♠❛❝❤✐♥❡s r❡q✉✐r❡ ♥❡✇ ♣r♦❣r❛♠♠✐♥❣ ♣❛r❛❞✐❣♠s ❛♥❞ r✉♥t✐♠❡s✱ ❙❋■ ❥♦✉r♥❛❧✱ ✷✵✶✺
❞❛❝♦st❛❅✐r✐t✳❢r ✶✶✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
POTRF TRSM TRSM TRSM SYRK POTRF TRSM TRSM SYRK POTRF TRSM SYRK POTRF GEMM GEMM SYRK GEMM SYRK SYRK GEMM
❞❛❝♦st❛❅✐r✐t✳❢r ✶✷✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✶✸✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✶✹✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✶✺✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥t❡①t ❉❡s✐❣♥❡❞ ❖♣♣♦rt✉♥✐st✐❝
❞❛❝♦st❛❅✐r✐t✳❢r ✶✻✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✶✼✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✶✽✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✶✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✷✵✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
0.1 1 10 100 200 300 400 500 600 700 Energy per request (Joules) Requests per second Proportional hardware Intel I7
❞❛❝♦st❛❅✐r✐t✳❢r ✷✵✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✷✶✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✷✷✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
5 10 15 20 25 30 35 40 45 50 100 150 200 250 300 T
Number of clients Power consumption (W) Latency (1/100th of second) 10 Requests per second
❞❛❝♦st❛❅✐r✐t✳❢r ✷✸✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
2 4 6 8 10 12 10 20 30 40 50 60 T
Number of clients Power consumption (W) Latency (1/10th of second) 10 Requests per second
❞❛❝♦st❛❅✐r✐t✳❢r ✷✹✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
2 4 6 8 10 12 14 16 5 10 15 20 25 30 35 40 45 50 T
Requests per second Intel I7 Intel Atom Raspberry Pi 2 Raspberry Pi 3 Raspberry Pi
❞❛❝♦st❛❅✐r✐t✳❢r ✷✺✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✷✻✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
5 10 15 20 25 30 35 40 45 50 100 150 200 250 300 350 T
Requests per second Proportional hardware Intel I7 Heterogeneous hardware
❞❛❝♦st❛❅✐r✐t✳❢r ✷✼✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
1 2 3 4 5 6 7 8 50 100 150 200 250 300 350 Energy per request (Joules) Requests per second Proportional hardware Heterogeneous hardware Intel I7
❞❛❝♦st❛❅✐r✐t✳❢r ✷✽✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✷✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
100 200 300 400 500 600 700 10 20 30 40 50 60 70 80 90 100 Mean number of requests/second Time (day) ALL 98 World cup web sites Santa Clara servers Plano servers Herndon servers Paris servers
❞❛❝♦st❛❅✐r✐t✳❢r ✸✵✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
2e+06 4e+06 6e+06 8e+06 1e+07 1.2e+07 1.4e+07 1.6e+07 1.8e+07 2e+07 10 20 30 40 50 60 70 80 90 100 Energy (J) Time (day) Proportional hardware Heterogeneous hardware Intel I7 Intel Atom Raspberry Pi
❞❛❝♦st❛❅✐r✐t✳❢r ✸✶✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
1e+06 2e+06 3e+06 4e+06 5e+06 6e+06 10 20 30 40 50 60 70 80 90 100 Energy (J) Time (day) Proportional hardware Heterogeneous hardware Intel I7
❞❛❝♦st❛❅✐r✐t✳❢r ✸✷✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
1 10 100 10 20 30 40 50 60 70 80 90 100 Energy Inefficiency (Proportional=1) Time (day) Proportional hardware Heterogeneous hardware Intel I7 Intel Atom Raspberry Pi
❞❛❝♦st❛❅✐r✐t✳❢r ✸✸✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
5e+07 1e+08 1.5e+08 2e+08 Santa Clara Plano Herndon Paris Joules One Single Data-center Proportional hardware Heterogeneous hardware Intel I7
❞❛❝♦st❛❅✐r✐t✳❢r ✸✹✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
▲❡❢❡✈r❡ ❛♥❞ ❛❧✳✱ ❙✉♣❡r❝♦♠♣✉t✐♥❣ ✷✵✵✽ ❞❛❝♦st❛❅✐r✐t✳❢r ✸✺✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
t0 shortWin_i tOn_j tOn_k shortWin_k shortWin_j tOn_i tOn_k + 1 tOn_i + 1 tOn_j + 1
❱✐♦❧❛✐♥❡ ❛♥❞ ❛❧✳✱ ❙❇❆❈✲P❆❉ ✷✵✶✻ ❞❛❝♦st❛❅✐r✐t✳❢r ✸✻✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✼✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❤
❤
❤ (Pst❛t ❤
❥ α❥❤P❞②♥ ❤
❞❛❝♦st❛❅✐r✐t✳❢r ✸✼✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❈♦♥str❛✐♥ts ✿ ∀❤ ♣❤ ∈ {✵, ✶} ∀❥
∀❥, ❤ ❡❥❤ ∈ {✵, ✶}, α❥❤ ≤ ❡❥❤, ♠❥❤ ≤ ❡❥❤ ∀❥ ✈❥ ∈ {✵, ✶}, ∀❤
❥ ♠❥❤ ≤ ✈❥
∀❥, ❤ ♣❤ ≤ (✶ − ❡❥❤) + ✈❥ ∀❥, ❤ ✈❥ ≤ (✶ − ❡❥❤) + ♣❤ ∀❤
∀❥
▼✐♥✐♠✐③❡ ♣♦✇❡r ✉♥❞❡r ♣❡r❢♦r♠❛♥❝❡ ❝♦♥str❛✐♥ts✿ ∀❥
♠✐♥(
❤ (P♠✐♥ ❤
+
❥ α❥❤ × (P♠❛① ❤
− P♠✐♥
❤
)) ❉❛♠✐❡♥ ❡t ❛❧✳✱ ❊♥❡r❣②✲❆✇❛r❡ ❙❡r✈✐❝❡ ❆❧❧♦❝❛t✐♦♥✱ ❋●❈❙ ❥♦✉r♥❛❧✱ ✷✵✶✶ ❞❛❝♦st❛❅✐r✐t✳❢r ✸✼✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✽✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✽✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✽✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✽✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✸✾✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
❞❛❝♦st❛❅✐r✐t✳❢r ✹✵✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦① ❈♦♥❝❡♣t ❙t❛t❡❧❡ss ❛♣♣❧✐❝❛t✐♦♥s ❚✐♠✐♥❣ ✐ss✉❡s ❙t❛t❡✲❢✉❧❧
ARM Virtualization Ext.
x86 ARM → translation
EMULATION
x86 Virtualization Ext.
ARM Virtualization Ext.
x86 Virtualization Ext.
ARM x86 → translation
EMULATION
❱✐♦❧❛✐♥❡ ❛♥❞ ❛❧✳ PP▲ ✷✵✵✺
❞❛❝♦st❛❅✐r✐t✳❢r ✹✶✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦①
❞❛❝♦st❛❅✐r✐t✳❢r ✹✷✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦①
❞❛❝♦st❛❅✐r✐t✳❢r ✹✸✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦①
❞❛❝♦st❛❅✐r✐t✳❢r ✹✹✴✹✺
❍❡t❡r♦❣❡♥❡♦✉s ❤❛r❞✇❛r❡ ❆❞❛♣t✐♥❣ t♦ ❛♣♣❧✐❝❛t✐♦♥ ❧♦❛❞ ❉❛t❛❝❡♥t❡r ✐♥ ❛ ❜♦①
❞❛❝♦st❛❅✐r✐t✳❢r ✹✺✴✹✺