Fragmentacja w systemach przechowywania kopii zapasowych z eliminacją duplikatów - Praca Doktorska...
-
Upload
9livesdata -
Category
Science
-
view
50 -
download
4
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!