Fragmentacja w systemach przechowywania kopii zapasowych z eliminacją duplikatów - Praca Doktorska...

download Fragmentacja w systemach przechowywania kopii zapasowych z eliminacją duplikatów - Praca Doktorska - Michał Kaczmarczyk - 9LivesData

If you can't read please download the document

Transcript of Fragmentacja w systemach przechowywania kopii zapasowych z eliminacją duplikatów - Praca Doktorska...

HYDRAstor skalowalny system do backupu i archiwum

LRULFKLFK + CBR

Row 335879100

LRULFKLFK + CBR

Row 37170440650

LRULFKLFK + CBR

Row 37170440650

LRULFKLFK + CBR

Row 335879100

LRULFKLFK + CBR

Row 37170440650

LRULFKLFK + CBR

Row 335879100

LRULFKLFK + CBR

Row 335879100

18.10.2016

Fragmentacja w systemach przechowywania kopii zapasowych z eliminacj duplikatw

Micha KaczmarczykUniwersytet Warszawski / 9LivesData

O HydraStor

Innowacyjny system do przechowywania danych backupowych i archiwalnych

Najbardziej skalowalny i najszybszy na wiecie!cakowicie rozproszony system (brak SPOF)

W sprzeday od 2007 (przez firm NEC)

Gwne komponenty systemu projektowane i przez zesp 9LivesData

The Best of Interop in storage
(INTEROP Awards 2015, Las Vegas - USA)

Best Storage Solution Product Award Winner (2014-2015 Hot Companies and Best Products Awards by Network Products Guide)

Best in class (w tym trzy pierwsze miejsca)
w przewodniku rozwiza do backupu dla klientw redniej wielkoci (DCIG 2013)

Najbardziej skalowalny i najszybszy system z deduplikacj na wiecie (2010 niezaleny analityk rynku Curtis W. Preston)

Product Innovation Award Winner (2008 - Network Products Guide)

Produkt Roku w kategorii Backup and Disaster Recovery Hardware (2007 - Storage Magazine and SearchStorage.com)

The big winner here is NEC, coming in more than three times as fast as their closest competitor.W. Curtis Preston (28.10.2010)

Wyrnienia rynkowe

Prace badawcze fundament produktu

"Fragmentation in backup systems with deduplication" rozprawa doktorska, Uniwersytet Warszawski, 2016

"Reducing fragmentation impact with forward knowledge in backup systems with deduplication" SYSTOR'15, Haifa, Izrael

"Fuzzy adaptive control for heterogeneous tasks in high-performance storage systems" SYSTOR'13, Haifa, Izrael

"Concurrent Deletion in a Distributed Content - Addressable Storage System with Global Deduplication" FAST'13, San Jose, USA

"Reducing Impact of Data Fragmentation Caused By In-Line Deduplication" SYSTOR'12, Haifa, Izrael

"Impact of Data Organization on Distributed Storage Systems" rozprawa doktorska, Uniwersytet Warszawski, 2012

"Anchor-driven subchunk deduplication" SYSTOR'11, Haifa, Izrael

"Bimodal Content Defined Chunking for Backup Streams" FAST'10, San Jose, USA

"HydraFS: A High-Throughput File System for the HYDRAstor Content-Addressable Storage System" FAST'10, San Jose, USA

"HYDRAstor: a Scalable Secondary Storage" FAST'09, San Francisco, USA

"FPN: A Distributed Hash Table for Commercial Applications" HPDC'04, Honolulu, USA

+ 19 patentw przyznanych i 25 oczekujcych (w USA i Japonii)

O sobie

10 lat pracy nad rozwojem systemu HYDRAstor


Publikacje naukowe:HYDRAstor: a Scalable Secondary Storage
FAST'09, San Francisco, USA

Reducing impact of data fragmentation caused by in-line deduplication SYSTOR'12, Haifa, Izrael

Reducing fragmentation impact with forward knowledge in backup systems with deduplication - SYSTOR'15, Haifa, Izrael

W cigu dwch dni wytwarzamy tyle danych cyfrowych, co od pocztku cywilizacji do roku 2003.

Eric Schmidt, Google CEO

Dane zapisywane jako kopie zapasowe

Duplikaty(90-95%)Dane unikatowerda: Characteristics of Backup Workloads in Production Systems [FAST'12],Sparse Indexing: Large Scale, Inline Deduplication Using Sampling and Locality [FAST'09]Avoiding the Disk Bottleneck in the Data Domain Deduplication File System [FAST'08]

Deduplikacja w praktyce

Backup 1:

Deduplikacja w praktyce

A1A2A3Backup 1:

Deduplikacja w praktyce

A1A2A3Backup 1:

A1A2A3Rozmieszczeniedanych na dysku:

Deduplikacja w praktyce

A1A2A3A1A2B1A3Backup 1:

Backup 2:

A1A2A3B1Rozmieszczeniedanych na dysku:

Deduplikacja w praktyce

A1A2A3A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

A1A2A3B1C1C2Rozmieszczeniedanych na dysku:

Deduplikacja w praktyce

A1A2A3A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

Bloki zapisane do systemu: 12

Bloki zapisane na dysku: 6

Wspczynnik redukcji danych: 2x

A1A2A3B1C1C2Rozmieszczeniedanych na dysku:

Oszczdnoci osignite dziki deduplikacji

10x - 30x

10x

10x - 50x

2x - 100x

Rozmiar oknabackupowego

Zuyciesieci

Zuycie energii

Rozmiarsystemu

Odczyt zdeduplikowanych danych

A1A2A3A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

A1A2A3B1C1C2Rozmieszczeniedanych na dysku:

Odczyt zdeduplikowanych danych

A1A2A3A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

A1A2A3B1C1C2Rozmieszczeniedanych na dysku:

Odczyt zdeduplikowanych danych

A1A2A3A1A2A3B1C1C2A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

Rozmieszczeniedanych na dysku:

Odczyt zdeduplikowanych danych

A1A2A3A1A2A3B1C1C2A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

Rozmieszczeniedanych na dysku:

brakniecigocidanych

Odczyt zdeduplikowanych danych

A1A2A3A1A2A3B1C1C2A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

Rozmieszczeniedanych na dysku:

2 niecigocidanych

brakniecigocidanych

Odczyt zdeduplikowanych danych

A1A2A3A1A2A3B1C1C2A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

Rozmieszczeniedanych na dysku:

4 niecigoci
danych

2 niecigocidanych

brakniecigocidanych

Problem 1: Fragmentacja pomidzy wersjami

A1A2A3A1A2A3B1C1C2A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

rdo problemu: Deduplikacja pomidzy rnymi wersjami backupw

Rozmieszczeniedanych na dysku:

4 niecigoci
danych

2 niecigocidanych

brakniecigocidanych

A2A3A1A2A3A4A6Backup z deduplikacj

A4A2A6A1Odczyt pojedynczej wersji backupu

A1Rozmieszczeniedanych na dysku:

A2A3A1A2A3A4A6A4A2A6A1

Odczyt pojedynczej wersji backupu

A1

A3Backup z deduplikacj

Rozmieszczeniedanych na dysku:

3 niecigoci
danych

A2A3A1A2A3A4A6A4A2A6A1

Problem 2: Wewntrzna fragmentacja strumienia

rdo problemu: Deduplikacja wewntrz pojedynczej wersji backupu

A1

A3Backup z deduplikacj

Rozmieszczeniedanych na dysku:

3 niecigoci
danych

Czas odzyskiwania danych koszt deduplikacji

10x - 30x

10x

10x - 50x

2x - 100x

Rozmiar oknabackupowego

Zuycie energii

Rozmiarsystemu

Czas odzyskiwaniadanych

do 50x

Zuyciesieci

Dwa problemy zwizane z fragmentacj

A1A2A3A1A2A3B1C1C2A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

A2A3A1A2A3A4A6Backup z deduplikacj

A4A2A6A1

A1Rozmieszczenie danych na dysku

Problem 1: Fragmentacjapomidzy wersjami

Problem 2: Wewntrznafragmentacjastrumienia

Rozmieszczenie danych na dysku

Dwa problemy zwizane z fragmentacj

A1A2A3A1A2A3B1C1C2A1A2B1A3A1C1B1A3C2Backup 1:

Backup 2:

Backup 3:

A2A3A1A2A3A4A6Backup z deduplikacj

A4A2A6A1

A1Rozmieszczenie danych na dysku

Problem 1: Fragmentacjapomidzy wersjami

Problem 2: Wewntrznafragmentacjastrumienia

Rozmieszczenie danych na dysku

Rozwizany poprzez algorytm kontekstowego przepisywania blokw (CBR)(opublikowany na SYSTOR'12,zaimplementowany w NEC HydraStor)

Prefetch (3 bloki) + pami podrczna (nieskoczona)

Rozmieszczeniedanych na dysku

A1A2A3A1A2A3A4A5Backup bez deduplikacji

A4A5A6A7A6A7

Prefetch (3 bloki) + pami podrczna (nieskoczona)

Odczyt z pamici podrcznej

3 dostpydo dysku

A1A2A3A1A2A3A4A6Backup z deduplikacj

Rozmieszczeniedanych na dysku

A4A2A6A1

A1A2A3A1A2A3A4A5Backup bez deduplikacji

A4A5A6A7A6A7

Prefetch (3 bloki) + pami podrczna (nieskoczona)

2 dostpydo dysku!

3 dostpydo dysku

Od teorii do praktyki

Jeden odczyt:

250 blokwlub wicej

Pami podrczna:

128MB 1 GB

Rozmiar backupu:

>100 GB

Symulacja odczytu danych

Symulacja przeprowadzona na rzeczywistych danych

Jeden zestaw danych

Symulacja odczytu danych

Symulacja przeprowadzona na rzeczywistych danych

Jeden zestaw danych

Odczyt sekwencyjny

100%

1

Nr kopiizapasowej:

Wydajno odczytu

Symulacja odczytu danych

Symulacja przeprowadzona na rzeczywistych danych

Jeden zestaw danych

Odczyt sekwencyjny

Odczyt po deduplikacji

100%

41%

1

Nr kopiizapasowej:

Wydajno odczytu

Symulacja odczytu danych

Symulacja przeprowadzona na rzeczywistych danych

Jeden zestaw danych

Odczyt sekwencyjny

39%

100%

41%

1

3

Nr kopiizapasowej:

Wydajno odczytu

Odczyt po deduplikacji

Symulacja odczytu danych

Symulacja przeprowadzona na rzeczywistych danych

Jeden zestaw danych

Odczyt sekwencyjny

34%

39%

100%

41%

1

3

5

Nr kopiizapasowej:

Wydajno odczytu

Odczyt po deduplikacji

Symulacja odczytu danych

Symulacja przeprowadzona na rzeczywistych danych

Jeden zestaw danych

Odczyt sekwencyjny

24%

34%

39%

100%

41%

1

3

5

7

Nr kopiizapasowej:

Wydajno odczytu

Odczyt po deduplikacji

Symulacja odczytu danych ostatnia kopia zapasowa

Odczytsekwencyjny

Odczyt po deduplikacji(ostatnia wersja)

100%

24%

Symulacja przeprowadzona na rzeczywistych danych

Jeden zestaw danych

Symulacja odczytu danych ostatnia kopia zapasowa

Odczyt po deduplikacji(z CBR)

Odczyt po deduplikacji

Symulacja odczytu danych ostatnia kopia zapasowa

Odczyt po deduplikacji(z CBR)

Odczyt po deduplikacji

Odczyt po deduplikacji(jedna wersja,limit dla CBR)

Symulacja odczytu danych ostatnia kopia zapasowa

Wpyw wewntrznej fragmentacji strumienia

Odczyt po deduplikacji(z CBR)

Odczyt po deduplikacji

Odczyt po deduplikacji(jedna wersja,limit dla CBR)

Wymagania wobec rozwizania

Brak degradacji wspczynnika deduplikacji

Osignicie wydajnoci sekwencyjnego odczytu

Wpyw wewntrznejfragmentacji strumienia

Algorytm odmiecania pamici podrcznej

Blok odczytany z dysku:

Pami podrczna:

?

Algorytm odmiecania pamici podrcznej

Algorytm LRU usu blok najduej nieuywany

Blok odczytany z dysku:

Pami podrczna:

X

Algorytm odmiecania pamici podrcznej

Algorytm LRU usu blok najduej nieuywany

Blok odczytany z dysku:

Pami podrczna:

X

Standardowy algorytm rwnie w systemach z deduplikacj

Optymalny algorytm odmiecania (Belady'iego)

Zawsze usuwaj informacj, ktra najduej nie bdzie potrzebna

Blok odczytany z dysku:

Pami podrczna:

Optymalny algorytm odmiecania (Belady'iego)

Blok odczytany z dysku:

Pami podrczna:

Bloki do przeczytania w przyszoci:

Wyrocznia

1

2

3

4

5

6

7

8

9

Optymalny algorytm odmiecania (Belady'iego)

Blok odczytany z dysku:

Pami podrczna:

Bloki do przeczytania w przyszoci:

Wyrocznia

1

2

3

4

5

6

7

8

9

Optymalny algorytm odmiecania (Belady'iego)

1

Blok odczytany z dysku:

Pami podrczna:

Bloki do przeczytania w przyszoci:

Wyrocznia

2 4 5 8 9 6 7 3

1

1

2

3

4

5

6

7

8

9

Optymalny algorytm odmiecania (Belady'iego)

Blok odczytany z dysku:

Pami podrczna:

Bloki do przeczytania w przyszoci:

Wyrocznia

2 4 5 8 9 6 7 3

1

X

1

2

3

4

5

6

7

8

9

Optymalny algorytm odmiecania (Belady'iego)

Blok odczytany z dysku:

Pami podrczna:

Bloki do przeczytania w przyszoci:

Wyrocznia

2 4 5 8 9 6 7 3

1

X

Optymalny tylko przy odczytach z dyskuwielkoci 1 bloku!

1

2

3

4

5

6

7

8

9

Optymalny algorytm odmiecania (Belady'iego)

Wydajno odczytu z algorytmem Belady'iego

Odczyt po deduplikacji(z CBR)

Odczyt po deduplikacji

AlogorytmBelady'ego(jedna wersja)

Block read from the disk:

Read cache:

Blocks to be read in the future:

The oracle

2 4 5 8 9 6 7 3

1

X

Niepraktycznyw wikszocizastosowa(zazwyczaj brak wiedzy przyszej)Optymalna polityka odmiecania (Algorytm Belady'iego)

Zdobywanie wiedzy przyszej

Magazyn metadanych

Magazyn danych

Informacjao wszystkichkopiach zapasowych

Zdobywanie wiedzy przyszej

Magazyn metadanych

Magazyn danych

Wyrocznia

Informacjao wszystkichkopiach zapasowych

Informacja o pojedynczejkopii zapasowej

Zdobywanie wiedzy przyszej

Magazyn metadanych

Magazyn danych

Wyrocznia

Pami podrczna

Informacjao wszystkichkopiach zapasowych

Informacja o pojedynczejkopii zapasowej

Zdobywanie wiedzy przyszej

Magazyn metadanych

Magazyn danych

Wyrocznia

Pami podrczna

Pami podrcznaz wiedz przysz

Zdobywanie wiedzy przyszej

Magazyn metadanych

Magazyn danych

Wyrocznia

Pami podrczna

Pami podrcznaz wiedz przysz

Kilka gigabajtw pamici potrzebneaby przechowa pen wiedz przysz!

Bloki przeczytane z dysku:

Pami podrczna:

Wiedza przysza:

Wyrocznia

Rozmiar wiedzy przyszej

?

Bloki przeczytane z dysku:

Pami podrczna:

Wiedza przysza:

Wyrocznia

Rozmiar wiedzy przyszej

?

1

1

Bloki przeczytane z dysku:

Pami podrczna:

Wiedza przysza:

Wyrocznia

Rozmiar wiedzy przyszej

?

1

2

1

2

Bloki przeczytane z dysku:

Pami podrczna:

Wiedza przysza:

Wyrocznia

Rozmiar wiedzy przyszej

?

1

2

3

1

2

Bloki przeczytane z dysku:

Pami podrczna:

Wiedza przysza:

Wyrocznia

Rozmiar wiedzy przyszej

?

1

2

3

4

1

2

4

Bloki przeczytane z dysku:

Pami podrczna:

Wiedza przysza:

Wyrocznia

Rozmiar wiedzy przyszej

?

1

2

3

4

5

1

5

2

4

Bloki przeczytane z dysku:

Pami podrczna:

Wiedza przysza:

Wyrocznia

Rozmiar wiedzy przyszej

?

1

2

3

4

5

6

1

6

5

2

4

Bloki przeczytane z dysku:

Pami podrczna:

Wiedza przysza:

Wyrocznia

Rozmiar wiedzy przyszej

?

1

2

3

4

5

6

1

6

5

2

4

?

?

?

Bloki przeczytane z dysku:

Pami podrczna:

Wyrocznia

Rozmiar wiedzy przyszej

1

2

3

4

5

6

1

6

5

2

4

X

X

X

?

?

?

Wiedza przysza:

?

Bloki przeczytane z dysku:

Pami podrczna:

Ograniczona wiedza przysza

Wyrocznia

Rozmiar wiedzy przyszej

!

1

2

3

4

5

6

5

2

4

1

6

Bloki przeczytane z dysku:

Pami podrczna:

Ograniczona wiedza przysza

Wyrocznia

Rozmiar wiedzy przyszej

!

1

2

3

4

5

6

5

2

4

1

6

Brak bezporedniej zalenoci od rozmiaru backupu

Zaleno od:rozmiaru pamici podrcznej

wzorca odczytywanych danych (m.in. lokalnoci duplikatw)

Zmniejszenie zuycia pamici przez wyroczni

Ograniczona wiedza przysza

Wyrocznia

>6

inne bloki:

1

2

3

4

5

6

Ograniczona wiedza przysza

Przybliona informacja:identyfikator bloku

pozycja w strumieniu

Wyrocznia

>6

inne bloki:

1

2

3

4

5

6

Zmniejszenie zuycia pamici przez wyroczni

Obszar nastpnego wystpienia bloku

9b917

Krtki ident. bloku

Ograniczona wiedza przysza

Przybliona informacja:identyfikator bloku

pozycja w strumieniu

400GBbackup

3.2GBpenejwiedzyprzyszej

52MBograniczonejwiedzyprzyszej

13MB z dodatkowkompresj

Przykad:

Wyrocznia

>6

inne bloki:

1

2

3

4

5

6

Zmniejszenie zuycia pamici przez wyroczni

Obszar nastpnego wystpienia bloku

9b917

Krtki ident. bloku

Ograniczona wiedza przysza

Przybliona informacja:identyfikator bloku

pozycja w strumieniu

400GBbackup

3.2GBpenejwiedzyprzyszej

13MB z dodatkowkompresj

Przykad:

Niezalene od rozmiaru backupu

Wyrocznia

>6

inne bloki:

1

2

3

4

5

6

Zmniejszenie zuycia pamici przez wyroczni

Obszar nastpnego wystpienia bloku

9b917

Krtki ident. bloku

52MBograniczonejwiedzyprzyszej

Pami podrczna z ograniczon wiedz przysz (LFK)

Wykorzystanie charakterystyki backupu
(do zdobycia wiedzy przyszej)

Zaadaptowanie algorytmu Belady'iego do odmiecania

Ograniczenie zuycia pamici przez wyroczni

Eksperymenty

Konfiguracja eksperymentw

Pami podrczna
= 128MB, 256MB,
512MB, 1GB, unlimitedWyrocznia
= 13MB(pokrywajca obszar 8GB
odczytywanego backupu)

Wyrocznia

Pami podrczna

Pami podrcznazograniczonwiedz przysz(LFK)

Prefetch= 2MB(najlepszy dla LRU)

Wydajno odczytu

AlgorytmBelady'ego(pena wiedzaprzysza)

Odczyt po deduplikacji(z CBR)

Odczyt po deduplikacji

Wydajno odczytu: LFK + CBR

LFK+CBR

AlgorytmBelady'ego(pena wiedzaprzysza)

Odczyt po deduplikacji(z CBR)

Odczyt po deduplikacji

Nieograniczonapamie podrczna

LFK+CBR

Odczyt po deduplikacji(z CBR)

Odczyt po deduplikacji

Wydajno odczytu: LFK + CBR

rednie wyniki dla 6 rzeczywistych zestaww danych

rednie wyniki dla 6 rzeczywistych zestaww danych

Zysk:

1 dysk:

Poziom wydajnoci sekwencyjnego odczytu

Osignita wydajnosekwencyjnego odczytu

rednie wyniki dla 6 rzeczywistych zestaww danych

Zysk:

1 dysk:

10 dyskw:

Poziom wydajnoci sekwencyjnego odczytu

Osignita wydajnosekwencyjnego odczytu

Wydajno odczytupoprawiona czterokrotnie

rednie wyniki dla 6 rzeczywistych zestaww danych

Zysk:

1 dysk:

10 dyskw:

Poziom wydajnoci sekwencyjnego odczytu

Osignita wydajnosekwencyjnego odczytu

Wydajno odczytupoprawiona czterokrotnie

Bez degradacji wspczynnika deduplikacji!

rednie wyniki dla 6 rzeczywistych zestaww danych

Zysk:

Koszt: LFK: 2,5% - wzrost zuycia pamici

CBR: 5% - redni spadek maksymalnej wydajnoci zapisu

1 dysk:

10 dyskw:

Poziom wydajnoci sekwencyjnego odczytu

Osignita wydajnosekwencyjnego odczytu

Wydajno odczytupoprawiona czterokrotnie

Bez degradacji wspczynnika deduplikacji!

Gwne wyniki doktoratu

Analiza problemu fragmentacji spowodowanej deduplikacj

Propozycja algorytmw:kontekstowego przepisywania blokw
(zaimplementowany w komercyjnym systemie)

pamici podrcznej z ograniczon wiedz przysz

Weryfikacja postawionych wymaga oparta o symulacje zapisu i odczytu rzeczywistych danych od uytkownikw

Analiza dziaania zaproponowanych algorytmw
w przypadku uycia wielu dyskw

Dzikuj!

[email protected]