1. Sat o r i:
En ligh t e n e d Page Sh ar in g
G r ze go r z M ilo s, D e r e k G . M u r r ay ,
St e v e n H an d , M ic h ae l Fe t t e r m an
2. O u t lin e
• W h y sh ar e p age s?
• W h y u se e n ligh t e n m e n t s?
• U n iq u e se llin g p r o p o sit io n s
– D u p lic at io n d e t e c t io n
– Sav in gs d ist r ib u t io n
– Fau lt h an d lin g
• Im p le m e n t at io n
• Pe r fo r m an c e r e su lt s
3. Page sh ar in g
• Id e n t ic al O Ss sh ar e lo t s o f id e n t ic al d at a
– Pr o gr am b in ar ie s
– Sh ar e d lib r ar ie s
– C o n figu r at io n file s
• M o r e m e m o r y is alw ay s u se fu l
– R e d u c e p agin g
– In c r e ase p age c ac h e size
– L e ss I/O , b e t t e r p e r fo r m an c e !
4. En ligh t e n m e n t
… o r “p ar av ir t u alisat io n ”
… o r “c h an gin g t h e O S”
• U se in fo r m at io n fr o m t h e O S t o gu id e sh ar in g
– R e d u c e s t h e o v e r h e ad
• A v o id p at h o lo gic al b e h av io u r
– D o u b le p agin g
– H o st d e m an d p agin g
• Pr o o f-o f-c o n c e p t o n L in u x
5. U SP 1 : d u p lic at e d e t e c t io n
• Sat o r i m o n it o r s b lo c k r e ad s
– H ash d at a w h e n r e ad , sh ar e p age s if id e n t ic al
– B lo c k r e ad s fr o m c o m m o n su b st r at e d isk s
• O t h e r sy st e m s sc an m e m o r y p e r io d ic ally
– R at e lim it e d t o p r e v e n t o v e r h e ad
– C an m iss sh o r t -liv e d sh ar in g o p p o r t u n it ie s
6. U SP 2: sav in gs d ist r ib u t io n
• W an t t o e n c o u r age sh ar in g
– T h e m o r e y o u sh ar e t h e m o r e m e m o r y y o u
ge t
– Eac h V M ge t s a sharing entitlement b ase d o n
h o w m an y p age s it sh ar e s
• D e flat e t h e b allo o n t o in c r e ase allo w an c e
7. U SP 3: fau lt h an d lin g
• W h at h ap p e n s w h e n sh ar in g is b r o k e n ?
– N e e d so m e m o r e m e m o r y
– … b u t it ’s in u se
– T y p ic ally u se h o st p agin g
• M o d ify t h e O S t o n o m in at e “v o lat ile ” p age s
– C le an b u ffe r c ac h e p age s
– H y p e r v iso r c an r e assign t h e m w it h o u t w ar n in g
– “R e p ay m e n t FIFO ” b ase d o n IB M ’s C M M
8. Im p le m e n t at io n
• H y p e r v iso r (5351 L O C )
– B ase d o n X e n 3.1 w it h PV sh ad o w PT s
– A d d e d sh ar in g-r e lat e d h y p e r c alls
• D om0 (3894 L O C )
– M o d ifie d b lk t ap t o p e r fo r m h ash lo o k u p
• D omU (2306 L O C )
– Po r t e d IB M ’s C M M t o X e n /x 86
9. O v e r h e ad s
• W o r st -c ase : lar ge -c h u n k se q u e n t ial r e ad s
– O v e r h e ad o f h ash in g: 0.2%
– O v e r h e ad o f h ash in g + IPC : 34.8%
• “R e alist ic ” b e n c h m ar k (k e r n e l c o m p ile )
– W it h o u t Sat o r i: 780 se c o n d s
– Sat o r i e n ab le d : 779 se c o n d s
10. Effe c t iv e n e ss
Kernel Compilation (256MB)
16000
14000
12000
10000
Potential
8000
Satori
Pages
6000
4000
2000
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time (mins)
11. Effe c t iv e n e ss
Kernel Compilation (512MB)
30000
25000
20000
Potential
15000
Satori
Pages
10000
5000
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time (mins)
12. Effe c t iv e n e ss
httperf
120000
100000
80000
Potential
60000
Satori
Pages
40000
20000
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time (mins)
13. Effe c t iv e n e ss
RUBiS
30000
25000
20000
Potential
15000
Satori
Pages
10000
5000
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Time (mins)
14. C o n c lu sio n s
• M o r e m e m o r y m e an s m o r e p e r fo r m an c e
• Page c ac h e s ar e u se fu l so u r c e s o f sh ar in g
• En ligh t e n in g t h e O S av o id s h o st p agin g
• Sat o r i is e ffic ie n t an d e ffe c t iv e !
16. Sat o r i:
En ligh t e n e d Page Sh ar in g
G r ze go r z M ilo s, D e r e k G . M u r r ay ,
St e v e n H an d , M ic h ae l Fe t t e r m an
1
17. O u t lin e
• W h y sh ar e p age s?
• W h y u se e n ligh t e n m e n t s?
• U n iq u e se llin g p r o p o sit io n s
– D u p lic at io n d e t e c t io n
– Sav in gs d ist r ib u t io n
– Fau lt h an d lin g
• Im p le m e n t at io n
• Pe r fo r m an c e r e su lt s
2
18. Page sh ar in g
• Id e n t ic al O Ss sh ar e lo t s o f id e n t ic al d at a
– Pr o gr am b in ar ie s
– Sh ar e d lib r ar ie s
– C o n figu r at io n file s
• M o r e m e m o r y is alw ay s u se fu l
– R e d u c e p agin g
– In c r e ase p age c ac h e size
– L e ss I/O , b e t t e r p e r fo r m an c e !
3
19. En ligh t e n m e n t
… o r “p ar av ir t u alisat io n ”
… o r “c h an gin g t h e O S”
• U se in fo r m at io n fr o m t h e O S t o gu id e sh ar in g
– R e d u c e s t h e o v e r h e ad
• A v o id p at h o lo gic al b e h av io u r
– D o u b le p agin g
– H o st d e m an d p agin g
• Pr o o f-o f-c o n c e p t o n L in u x
4
20. U SP 1 : d u p lic at e d e t e c t io n
• Sat o r i m o n it o r s b lo c k r e ad s
– H ash d at a w h e n r e ad , sh ar e p age s if id e n t ic al
– B lo c k r e ad s fr o m c o m m o n su b st r at e d isk s
• O t h e r sy st e m s sc an m e m o r y p e r io d ic ally
– R at e lim it e d t o p r e v e n t o v e r h e ad
– C an m iss sh o r t -liv e d sh ar in g o p p o r t u n it ie s
5
21. U SP 2: sav in gs d ist r ib u t io n
• W an t t o e n c o u r age sh ar in g
– T h e m o r e y o u sh ar e t h e m o r e m e m o r y y o u
ge t
– Eac h V M ge t s a sharing entitlement b ase d o n
h o w m an y p age s it sh ar e s
• D e flat e t h e b allo o n t o in c r e ase allo w an c e
6
22. U SP 3: fau lt h an d lin g
• W h at h ap p e n s w h e n sh ar in g is b r o k e n ?
– N e e d so m e m o r e m e m o r y
– … b u t it ’s in u se
– T y p ic ally u se h o st p agin g
• M o d ify t h e O S t o n o m in at e “v o lat ile ” p age s
– C le an b u ffe r c ac h e p age s
– H y p e r v iso r c an r e assign t h e m w it h o u t w ar n in g
– “R e p ay m e n t FIFO ” b ase d o n IB M ’s C M M
7
23. Im p le m e n t at io n
• H y p e r v iso r (5351 L O C )
– B ase d o n X e n 3.1 w it h PV sh ad o w PT s
– A d d e d sh ar in g-r e lat e d h y p e r c alls
• D om0 (3894 L O C )
– M o d ifie d b lk t ap t o p e r fo r m h ash lo o k u p
• D omU (2306 L O C )
– Po r t e d IB M ’s C M M t o X e n /x 86
8
24. O v e r h e ad s
• W o r st -c ase : lar ge -c h u n k se q u e n t ial r e ad s
– O v e r h e ad o f h ash in g: 0.2%
– O v e r h e ad o f h ash in g + IPC : 34.8%
• “R e alist ic ” b e n c h m ar k (k e r n e l c o m p ile )
– W it h o u t Sat o r i: 780 se c o n d s
– Sat o r i e n ab le d : 779 se c o n d s
9
25. Effe c t iv e n e ss
Kernel Compilation (256MB)
16000
14000
12000
10000
Potential
8000
Satori
Pages
6000
4000
2000
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
10
Time (mins)
26. Effe c t iv e n e ss
Kernel Compilation (512MB)
30000
25000
20000
Potential
15000
Satori
Pages
10000
5000
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
11
Time (mins)
27. Effe c t iv e n e ss
httperf
120000
100000
80000
Potential
60000
Satori
Pages
40000
20000
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
12
Time (mins)
28. Effe c t iv e n e ss
RUBiS
30000
25000
20000
Potential
15000
Satori
Pages
10000
5000
0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
13
Time (mins)
29. C o n c lu sio n s
• M o r e m e m o r y m e an s m o r e p e r fo r m an c e
• Page c ac h e s ar e u se fu l so u r c e s o f sh ar in g
• En ligh t e n in g t h e O S av o id s h o st p agin g
• Sat o r i is e ffic ie n t an d e ffe c t iv e !
14
30. Q u e st io n s?
• C lic k t o ad d an o u t lin e
15