Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałAgnieszka Witek Został zmieniony 8 lat temu
1
Rozproszony system plików Coda Krzysztof Lichota
2
AFS System plików dla środowiska akademickiego: częstsze odczyty niż zapisy częstsze odczyty niż zapisy rzadkie współdzielenie pliku do zapisu rzadkie współdzielenie pliku do zapisu powtarzalność dostępu do pliku powtarzalność dostępu do pliku sekwencyjny odczyt sekwencyjny odczyt
3
Cele AFS Skalowalność Skalowalność Semantyka zbliżona do one-copy Semantyka zbliżona do one-copy Sensowna wydajność Sensowna wydajność
4
Charakterystyka AFS Trwały cache u klienta Trwały cache u klienta whole-file caching whole-file caching whole-file serving whole-file serving Replikacja read-only
5
Semantyka Sprawdzenie aktualności tylko przy otwarciu pliku Sprawdzenie aktualności tylko przy otwarciu pliku Dalsze operacje lokalne Dalsze operacje lokalne Zamknięcie pliku zamazuje poprzednią zawartość na serwerze Zamknięcie pliku zamazuje poprzednią zawartość na serwerze Spójność cache utrzymywana mechanizmem „callback” Spójność cache utrzymywana mechanizmem „callback”
6
Klient Serwer Proces Open Sprowadzenie do cache
7
Klient Serwer Proces Close Unieważnienie kopii Klient
8
Cechy callbacków Nie musimy kontaktować się z serwerem przy każdym otwarciu pliku Nie musimy kontaktować się z serwerem przy każdym otwarciu pliku Nie zawsze mamy najbardziej aktualną kopię (zgubione callbacki) Nie zawsze mamy najbardziej aktualną kopię (zgubione callbacki) Zgubione callbacki wykrywamy przepytując okresowo serwery
9
Wady AFS Replikacja read-only Wrażliwość na awarie serwerów Wrażliwość na awarie serwerów Wrażliwość na awarie sieci Wrażliwość na awarie sieci Niemożliwe działanie bez podłączenia do serwera Wrażliwość na krótkie awarie Wrażliwość na krótkie awarie Brak wsparcia dla komputerów przenośnych Brak wsparcia dla komputerów przenośnych
10
Założenia Cody Skalowalność Semantyka podobna do one-copy Odporność na awarie: replikacja read-write replikacja read-write korzystanie z cache gdy nie ma połączenia korzystanie z cache gdy nie ma połączenia AFS
11
Optymistyczna replikacja Jedyna możliwość dla komputerów przenośnych Jedyna możliwość dla komputerów przenośnych Brak ograniczeń przy rozdzieleniu serwerów Brak ograniczeń przy rozdzieleniu serwerów Konflikty występują, ale są rzadkie Konflikty występują, ale są rzadkie
12
Coda cell Serwer Klient
13
Woluminy /coda usrhomesbin klmm
14
AVSG i VSG Klient Serwer VSG AVSG Klient
15
Konflikt replik Serwer 1Serwer 2
16
Dominacja repliki Serwer 1Serwer 2
17
CVV LSID S1 S2 S3 S4 S5 VSG CVV
18
Równość replik Mocna równość LSID takie same LSID takie same CVV takie same CVV takie same Słaba równość LSID się zgadzają LSID się zgadzają CVV różne CVV różne
19
Wykrywanie konfliktu S1S2S3S1S2S3 S1 S2S3 S1S2S3 S1S2S3 S1S2S3S1S2S3S1S2S3
20
Dominacja S1S2S3S1S2S3 S1 S2S3 S1S2S3 S1S2S3 S1S2S3S1S2S3S1S2S3
21
Rozsyłanie informacji Read-one, write-all Read-one, write-all „Wybrany serwer” „Wybrany serwer” MultiRPC MultiRPC
22
Semantyka operacji open Sukces: Mamy kopię nie starszą niż T sekund i spójną w danym AVSG sprowadziliśmy aktualną kopię sprowadziliśmy aktualną kopię –nie mieliśmy jej w cache –nasza kopia została unieważniona skorzystaliśmy z kopii w cache skorzystaliśmy z kopii w cache –kopia jest aktualna lub –zgubiliśmy callback
23
Semantyka operacji open Porażka: kopie w AVSG są w konflikcie kopie w AVSG są w konflikcie
24
Semantyka operacji close Sukces: wszystkie serwery z AVSG uaktualniły swoją kopię wszystkie serwery z AVSG uaktualniły swoją kopięPorażka: kopie w AVSG są w konflikcie kopie w AVSG są w konflikcie
25
Open Ważna kopia w cache W AVSG jest spójna wersja Istnieje wersja dominująca Pobierz plik z wybranego serwera i ustanów „callback promise” Otwórz plik z cache Wybierz serwer który ma dominującą kopię Wybierz serwer Powiadom serwery, że mają nieaktualną kopię Konflikt Serwery uzgadniają kopie TAK NIE
26
Close Sprawdzenie przez serwery, czy kopia dominuje nad ich kopiami lub jest równa Sprawdzenie przez serwery, czy kopia dominuje nad ich kopiami lub jest równa Zatwierdzenie nowego LSID i tymczasowego CVV na serwerze Zatwierdzenie nowego LSID i tymczasowego CVV na serwerze Rozesłanie ostatecznego CVV do serwerów Rozesłanie ostatecznego CVV do serwerów
27
Probing Co T sekund próbujemy skontaktować się z każdym serwerem z VSG odpowiada nowy serwer odpowiada nowy serwer nie zgłasza się poprzednio dostępny serwer nie zgłasza się poprzednio dostępny serwer
28
Callback z wybranego serwera Callback promise ustanawiany jest tylko na serwerze, z którego pobieramy plik Klient Serwer Klient
29
Volume CVV Zawiera sumę operacji na danym woluminie Zawiera sumę operacji na danym woluminie Niezgodność powoduje unieważnienie wszystkich plików z danego woluminu Niezgodność powoduje unieważnienie wszystkich plików z danego woluminu
30
Disconnected operation Połączony Wykonujemy operacje natychmiast Odłączony Zapisujemy zmiany w CML Reintegracja Odtwarzamy zmiany na serwerze
31
Hoarding Gromadzimy potrzebne pliki przed odłączeniem priorytetowa lista plików priorytetowa lista plików pliki „sticky” pliki „sticky” spy spy
32
Reintegracja Odtwarzamy zmiany na serwerze Odtwarzamy zmiany na serwerze Rozstrzygamy konflikty jeśli się da Rozstrzygamy konflikty jeśli się da Jeśli nie przechowujemy pliki w covolume Jeśli nie przechowujemy pliki w covolume
33
Słabe połączenie Duże opóźnienia przy zamykaniu pliku Duże opóźnienia przy zamykaniu plikuWrite-disconnect Odczytujemy z serwerów Odczytujemy z serwerów Zapisujemy zmiany jak w disconnected operation Zapisujemy zmiany jak w disconnected operation
34
Podumowanie Dobra wydajność Dobra wydajność Sensowna semantyka Sensowna semantyka Dobra skalowalność Dobra skalowalność Wygoda przy użyciu komputerów przenośnych Wygoda przy użyciu komputerów przenośnych Możliwość korzystania z niepewnych sieci (IR, packet radio) Możliwość korzystania z niepewnych sieci (IR, packet radio)
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.