30
Satori: Enlight ened Page Shar ing G r zego r z M ilo s, D er ek G . M urray, St even H and, M ichael Fet terman

XS Oracle 2009 Satori

Embed Size (px)

Citation preview

Page 1: XS Oracle 2009 Satori

Sat o r i :En l igh t e n e d Page Sh ar in g

G r ze go r z M i lo 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

Page 2: XS Oracle 2009 Satori

O u t l in e

• W h y sh ar e p age s?• W h y u se e n l igh t e n m en t s?• U n iq u e se l l in g p r o p o si t io n s

– D u p l ic at io n d e t e c t io n

– Sav in gs d ist r ib u t io n

– Fau l t h an d l in g

• Im p lem en t at io n• Pe r fo r m an ce r e su l t s

Page 3: XS Oracle 2009 Satori

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 l ib r ar ie s

– C o n figu r at io n f i le s

• M o r e m em o r y is alw ay s u se fu l– R ed u c e p agin g

– In c r e ase p age cach e size

– L e ss I/O , b e t t e r p e r fo r m an ce!

Page 4: XS Oracle 2009 Satori

En l igh t e n m en t

… o r “p ar av ir t u al isat io n ”

… o r “ch 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 ed u c e s t h e o ve 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 em an d p agin g

• Pr o o f-o f-co n c e p t o n L in u x

Page 5: XS Oracle 2009 Satori

U SP 1 : d u p l ic at e d e t e c t io n

• Sat o r i m o n i t o r s b lo c k r e ad s

– H ash d at a w h en 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 co m m o n su b st r at e d isk s

• O t h e r sy st em s sc an m em o r y p e r io d ic al ly

– R at e l im i t 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 -l iv e d sh ar in g o p p o r t u n i t ie s

Page 6: XS Oracle 2009 Satori

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 yo u sh ar e t h e m o r e m em o r y yo u ge t

– Each V M ge t s a sharing entitlement b ase d o n h o w m an y p age s i t sh ar e s

• D e f lat e t h e b al lo o n t o in c r e ase al lo w an c e

Page 7: XS Oracle 2009 Satori

U SP 3: fau l t h an d l in g

• W h at h ap p e n s w h en sh ar in g is b r o k e n ?– N e ed so m e m o r e m em o r y

– … b u t i t ’s in u se

– T yp ic al ly u se h o st p agin g

• M o d i fy t h e O S t o n o m in at e “v o lat i le ” p age s– C le an b u ffe r c ac h e p age s

– H yp e r v iso r c an r e assign t h em w it h o u t w ar n in g

– “R ep aym en t FIFO ” b ase d o n IBM ’s C M M

Page 8: XS Oracle 2009 Satori

Im p lem e n t at io n

• H y p e r v iso r (5351 LO C )

– B ase d o n X en 3.1 w i t h PV sh ad o w PT s

– A d d e d sh ar in g-r e lat e d h yp e r c al ls

• D o m 0 (3894 LO C )

– M o d if ie d b lk t ap t o p e r fo r m h ash lo o k u p

• D o m U (2306 LO C )

– Po r t e d IBM ’s C M M t o X en /x 86

Page 9: XS Oracle 2009 Satori

O ve r h e ad s

• W o r st -c ase : lar ge-ch u n k se q u e n t ial r e ad s

– O ve r h e ad o f h ash in g: 0.2%

– O ve r h e ad o f h ash in g + IPC : 34.8%

• “R eal ist ic ” b e n c hm ar k (k e r n e l c o m p i le)

– 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

Page 10: XS Oracle 2009 Satori

Effe c t iv e n e ssKernel Compilation (256MB)

0

2000

4000

6000

8000

10000

12000

14000

16000

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time (mins)

Pages

Potential

Satori

Page 11: XS Oracle 2009 Satori

Effe c t iv e n e ssKernel Compilation (512MB)

0

5000

10000

15000

20000

25000

30000

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time (mins)

Pages

Potential

Satori

Page 12: XS Oracle 2009 Satori

Effe c t iv e n e sshttperf

0

20000

40000

60000

80000

100000

120000

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time (mins)

Pages

Potential

Satori

Page 13: XS Oracle 2009 Satori

Effe c t iv e n e ssRUBiS

0

5000

10000

15000

20000

25000

30000

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time (mins)

Pages

Potential

Satori

Page 14: XS Oracle 2009 Satori

C o n c lu sio n s

• M o r e m em o r y m ean s m o r e p e r fo r m an c e

• Page cac h e s ar e u se fu l so u r c e s o f sh ar in g

• En l igh t e n in g t h e O S avo id s h o st p agin g

• Sat o r i is e ff ic ie n t an d e ffe c t iv e !

Page 15: XS Oracle 2009 Satori

Q u e st io n s?

Page 16: XS Oracle 2009 Satori

1

Sat o r i :En l igh t e n e d Page Sh ar in g

G r ze go r z M i lo 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

Page 17: XS Oracle 2009 Satori

2

O u t l in e

• W h y sh ar e p age s?• W h y u se e n l igh t e n m en t s?• U n iq u e se l l in g p r o p o si t io n s

– D u p l ic at io n d e t e c t io n

– Sav in gs d ist r ib u t io n

– Fau l t h an d l in g

• Im p lem en t at io n• Pe r fo r m an ce r e su l t s

Page 18: XS Oracle 2009 Satori

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 l ib r ar ie s

– C o n f igu r at io n fi le s

• M o r e m em o r y is alw ay s u se fu l– R ed u ce p agin g

– In c r e ase p age cac h e size

– L e ss I/O , b e t t e r p e r fo r m an ce!

Page 19: XS Oracle 2009 Satori

4

En l igh t e n m en t

… o r “p ar av i r t u al isat 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 ce 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 em an d p agin g

• Pr o o f-o f-co n ce p t o n L in u x

Page 20: XS Oracle 2009 Satori

5

U SP 1 : d u p l ic at e d e t e c t io n

• Sat o r i m o n i t o r s b lo c k r e ad s

– H ash d at a w h en r e ad , sh ar e p age s i f id e n t ic al

– B lo c k r e ad s fr o m co m m o n su b st r at e d isk s

• O t h e r sy st em s sc an m em o r y p e r io d ic al ly

– R at e l im i t e d t o p r e v e n t o ve r h e ad

– C an m iss sh o r t -l iv e d sh ar in g o p p o r t u n i t ie s

Page 21: XS Oracle 2009 Satori

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 yo u sh ar e t h e m o r e m em o r y yo u ge t

– Each 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 f lat e t h e b al lo o n t o in c r e ase al lo w an c e

Page 22: XS Oracle 2009 Satori

7

U SP 3: fau l t h an d l in 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 ed so m e m o r e m em o r y

– … b u t i t ’s in u se

– T yp ic al ly u se h o st p agin g

• M o d i fy t h e O S t o n o m in at e “v o lat i le ” p age s– C le an b u ffe r c ach e p age s

– H yp e r v iso r can r e assign t h em w it h o u t w ar n in g

– “R ep aym en t FIFO ” b ase d o n IBM ’s C M M

Page 23: XS Oracle 2009 Satori

8

Im p lem en t at io n

• H y p e r v iso r (5351 LO C )

– B ase d o n X en 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 yp e r c al ls

• D o m 0 (3894 LO C )

– M o d i f ie d b lk t ap t o p e r fo r m h ash lo o k u p

• D o m U (2306 LO C )

– Po r t e d IBM ’s C M M t o X en /x 86

Page 24: XS Oracle 2009 Satori

9

O ve r h e ad s

• W o r st -c ase : lar ge-c h u n k se q u en t ial r e ad s

– O ve r h e ad o f h ash in g: 0.2%

– O ve r h e ad o f h ash in g + IPC : 34.8%

• “R e al ist ic ” b e n c h m ar k (k e r n e l c o m p i le)

– W it h o u t Sat o r i : 780 se co n d s

– Sat o r i e n ab le d : 779 se co n d s

Page 25: XS Oracle 2009 Satori

1 0

Effe c t iv e n e ssKernel Compilation (256MB)

0

2000

4000

6000

8000

10000

12000

14000

16000

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time (mins)

Pages

Potential

Satori

Page 26: XS Oracle 2009 Satori

1 1

Effe c t iv e n e ssKernel Compilation (512MB)

0

5000

10000

15000

20000

25000

30000

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time (mins)

Pages

Potential

Satori

Page 27: XS Oracle 2009 Satori

1 2

Effe c t iv e n e sshttperf

0

20000

40000

60000

80000

100000

120000

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time (mins)

Pages

Potential

Satori

Page 28: XS Oracle 2009 Satori

1 3

Effe c t iv e n e ssRUBiS

0

5000

10000

15000

20000

25000

30000

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time (mins)

Pages

Potential

Satori

Page 29: XS Oracle 2009 Satori

1 4

C o n c lu sio n s

• M o r e m em o r y m ean 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 l igh t e n in g t h e O S avo id s h o st p agin g

• Sat o r i is e ff ic ie n t an d e ffe c t iv e !

Page 30: XS Oracle 2009 Satori

1 5

Q u e st io n s?

• C l ic k t o ad d an o u t l in e