Prezentacja AFS. Andrzej Kurach. 13 stycznia 2003

Podobne dokumenty
Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Rozproszone systemy plików AFS i Coda

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików. Warstwowy model systemu plików

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Rozproszone systemy plików

Rozproszone systemy plików

Bazy danych 2. Wykład 1

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Działanie komputera i sieci komputerowej.

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

System plików warstwa logiczna

Praca w sieci z serwerem

Podstawowe wiadomości o systemach plików.

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

System plików przykłady. implementacji

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

Udostępnianie plików i folderów

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

System plików przykłady implementacji

Memeo Instant Backup Podręcznik Szybkiego Startu

Sieciowa instalacja Sekafi 3 SQL

UNIX SYSTEM PLIKÓW. UNIX System plików

Kolejki FIFO (łącza nazwane)

Systemy rozproszone System rozproszony

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Wykład I. Wprowadzenie do baz danych

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

VinCent Administrator

Instrukcja aktualizacji programu Integra 7

Tworzenie kopii zapasowych i archiwalnych

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

Praca w sieci równorzędnej

1. Zakres modernizacji Active Directory

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Kopia zapasowa i odzyskiwanie

Windows Server Active Directory

Pojęcie bazy danych. Funkcje i możliwości.

Zarządzanie transakcjami

FARA INTENCJE ONLINE. Przewodnik dla użytkownika programu FARA. Włodzimierz Kessler SIGNUM-NET

SoftVig Systemy Informatyczne Sp. z o.o. Szczecin , ul. Cyfrowa 4

Wypożyczalnia VIDEO. Technologie obiektowe

Dfs - Distributed File System SMB - Server Message Block. 18 grudnia 2002

dr inż. Jarosław Forenc

Client Management Solutions i Mobile Printing Solutions

str. 1 Informacja o zmianie treści specyfikacji istotnych warunków zamówienia Oświęcim, dnia r.

INSTRUKCJA zarządzania systemem informatycznym służącym do przetwarzania danych osobowych

Podstawy działania sieci

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Podręcznik administratora systemu

Załącznik Zakres Prac dotyczący świadczenia Usług Wsparcie Mikrokodu

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

ZiMSK. VLAN, trunk, intervlan-routing 1

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Client Management Solutions i Mobile Printing Solutions

- komputer (stacja robocza) ma być naprawiony i skonfigurowany w siedzibie firmy,

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

OPROGRAMOWANIE DEFSIM2

Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a

Część II: Instalacja systemu Mediqus

16MB - 2GB 2MB - 128MB

DZANIA I MARKETINGU BIAŁYSTOK,

Instalacja programu Warsztat 3 w sieci

Wykład PASCAL - Pliki tekstowe

Referat pracy dyplomowej

Windows Server 2012 Hyper-V Replica.

Jak wykorzystać Pulpit Zdalny w Windows 2003 Serwer do pracy z programem FAKT

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Spis treści. O autorze 9. O recenzentach 10. Przedmowa 13. Rozdział 1. Oto Linux Mint 17_

Client Management Solutions i Universal Printing Solutions

Prezentacja systemu plików NFS

Cryptobox Aplikacja do synchronizacji danych użytkownika w systemie KMD2

Na komputerach z systemem Windows XP zdarzenia są rejestrowane w trzech następujących dziennikach: Dziennik aplikacji

PR P E R Z E E Z N E T N A T C A JA C JA KO K RP R O P RA R C A Y C JN Y A JN ACTINA DATA MANAGER

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne.

Silent setup SAS Enterprise Guide (v 3.x)

SERWER AKTUALIZACJI UpServ

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych w Urzędzie Miasta Lublin

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

AKTUALIZACJA AUTOMATYCZNA: TRYB ONLINE (Przykład: WINDOWS 7-32 bits):

Instrukcja wykonania aktualizacji mapy w urządzeniach nawigacyjnych marki GARMIN.

Routing. mgr inż. Krzysztof Szałajko

Warstwy systemu Windows 2000

1 Instalowanie i uaktualnianie serwera SQL Server

Pliki. Operacje na plikach w Pascalu

BlackHole. Bezpieczne Repozytorium Ważnych Zasobów.

Transkrypt:

Prezentacja AFS Andrzej Kurach 13 stycznia 2003 1

1 AFS 1.1 Wprowadzenie Andrew jest rozproszonym środowiskiem obliczeniowym opracowanym w Carnegie-Mellon University (CMU) jako ogólnouniwersytecki system informacyjno - obliczeniowy. System plików Andrew (ang. Andrew File System ), nazywany jest w skrócie AFS, został zaprojektowany dla środowiska Andrew. AFS umożliwia dzielenie informacje na dużą skalę (przy projektowaniu, zakładano, ze Andrew będzie pracować na 5000-10000 stacji roboczych). Skoncentruje się głównie na omówieniu AFS-2, jest to pierwsza fabryczna implementacja AFSu. Dla uproszczenia skoncentruje się tylko na AFS zrealizowanego w sieci stacji roboczych i serwerów działających pod nadzorem systemu operacyjnego UNIX. 1.2 Wprowadzenie cd. LOKALNE DZIELONE (korzeń) tmp bin... afs bin (dowiązania symboliczne) Przestrzeń plików w AFS ma strukturę drzewiastą. Użytkownik widzi jednolita przestrzeń nazw plików. Ścieżki dostępu do plików powinny być takie same, niezależnie od miejsca logowania (przezrczystość dostępu). Drzewo posiada korzeń, do którego jest podmontowany wierzchołek drzewa AFS (najczęściej podmontowany pod ścieżką /afs). Skalowalność - zadawalająca działanie w obecności większej liczby aktywnych użytkowników (w porównaniu do innych systemów rozproszonych) 2

Nietypowe właściwości AFSu (w stosunku do NFS): Usługi są CAŁOPLIKOWE. Serwery przesyłają cale zawartości plików. Program użytkowy VENUS odwołanie do pliku Jądro systemu UNIX system plików UNIX operacje nielokalne operacje lokalne CACHE, czyli plikowa pamięć podręczna. Po przesłaniu kopii pliku do komputera klient zapamiętuje plik w pamięci podręcznej na lokalnym dysku. Pamięć ta powinna przechowywać kilkaset najczęściej ostatnio używanych przez dany komputer plików średniej wielkości. Lokalne kopie plików maja pierwszeństwo przed kopiami w czasie operacji open. Dodatkowo istotny wpływ na kształt AFS miał fakt, iż system plików został skonstruowany w środowisku akademickim i dla systemu działającego na uniwersytecie. Oto najważniejsze obserwacje tam zauważone: pliki są małe - większość jest mniejsza niż 10KB operacje czytania są częstsze od zapisywania (około 6 krotnie) dostęp sekwencyjny jest typowy; losowy rzadkością większość plików jest czytanych i zapisywanych przez jednego użytkownika; a nawet jak plik jest dzielony to na ogól tylko jeden użytkownik zmienia jego zawartość. odwołania do plikowi są skumulowane; jeżeli odwołanie do pliku nastąpiło niedawno to istnieje duża szansa kolejnego odwołania 3

1.3 Przeznaczenie AFSu PLIKI pliki często dzielone często aktualizowane pliki rzadko dzielone rzadko aktualizowane Pliki dzielone i rzadko aktualizowane to głównie pliki zawierające kod poleceń, bądź biblioteki systemu UNIX. AFS sprawdza się w tego typu plikach, gdyż pliki z Cache a rzadko będą aktualizowane. Pliki rzadko dzielone to głównie indywidualnych użytkowników. W tym przypadku możemy liczyć, że aktualizowane kopie znajdują się w podręcznej pamięci. Pliki dzielone i czesto aktualizowane to głównie pliki bazodanowe. Twórcy systemu AFS wykluczyli ze zbioru swych celów udogodnień dla aplikacji bazodanowych. Stwierdzili, że problem ten powinien zostać rozwiązany osobno. Dodatkowo dochodzi utrudnienie związane z transakcjami CAŁOPLIKOWYMI. 4

1.4 Realizacja podstawowych operacji 1.4.1 Podstawy STACJE ROBOCZE program użytkownika jądro systemu UNIX VENUS SIEC SERWERY VICE jądro systemu UNIX program użytkownika VENUS jądro systemu UNIX VICE jądro systemu UNIX program użytkownika VENUS jądro systemu UNIX Dla AFS funkcjonuje klasyczny model komunikacji klient-serwer, czyli skalda się z dwu części, z których każda istnieje jako proces systemu UNIX: 1. VICE proces serwera 2. VENUS ewentualnie Cache Manager to proces klienta Zadaniem VENUS jest tłumaczenie nazw plików na stosowne fid-y. VICE udostępnia klientom podstawowa funkcjonalność usług plikowych. 1.4.2 FID tom v-węzeł adres pliku id 32 32 32 FID składa się z następujących części: 5

1. Wolumenu, inaczej tomu, tzn. z postawowej jednostki składowej AFSu. W systemie Andrew były to na ogół pliki pojedynczego klienta. Kilka wolumenów może stworzyć jedna strefę dysku. Koncepcja zespalania wolumenów jest podobna do Uniksowego montowania, z ta różnica ze w uniksie montuje się całą strefę dyskowa (a w AFS niekoniecznie). Wolumeny: są kluczowa jednostka administracyjna identyfikują i lokalizują pliki 2. v-wezel jest używany jako indeks do tablicy zawierającej i-wezly plików pojedynczego wolumenu. 3. Wyróżnik (ang. Uniquifier) to jednoznacznie wyznaczony ciąg znaków dla każdego pliku (unikalny identyfikator) W systemie plików AFS pliki identyfikuje się nie po nazwach i ścieżkach dostępu, ale po unikalnym identyfikatorze. Informacje o lokalizacji wolumenu jest przechowywana w bazie danych o lokalizacji wolumenów, ktorej repliki znajdują się w każdym systemie obsługi. Osiągamy w ten sposób: przezroczystość lokalizacji - nazwa pliku nie daje jakiejkolwiek wskazówki odnośnie do fizycznego miejsca przechowywania pliku niezależności lokalizacji - nazwy pliku nie trzeba zmieniać wtedy, gdy plik zmienia swoje fizyczne umiejscowienie 1.4.3 Podstawowe operacje Proces użytkownika open(plik, tryb) Jadro systemu UNIX VENUS SIEC VICE Jeśli plik odnosi się do pliku w dzielonej przestrzeni plików, to przekazuje zamówienie do procesu VENUS Sprawdza wykaz plików w lokalnej pamięci podręcznej. Jeśli pliku tam nie ma albo jego znacznik jest nieważny, to zamawia plik u tego serwera VICE, który jest opiekunem tomu zawierającego dany plik. 6

Proces użytkownika read(deskr, Bufor, długość) write(deskr, Bufor, długość) Jadro systemu UNIX VENUS SIEC VICE Otwiera plik lokalny i zwraca jego deskryptor do programu użytkowego. Wykonuje zwykła uniksowa operacje czytania kopii lokalnej Wykonuje zwykła uniksowa operacje pisania kopii lokalnej close(deskr) Zamyka kopie lokalna i powiadomienia proces VE- NUS o zamknięciu pliku. Umieszcza kopie pliku w lokalnym systemie plików, wpisuje jego nazwę lokalna na wykaz plików przechowywanych w pamięci podręcznej i zwraca nazwę lokalna do systemu UNIX Jeśli kopia lokalna, został zmieniona, to wysyła kopie do tego serwer VICE, który jest opiekunem pliku. Przesyła do stacji roboczej kopie pliku i obietnice zawiadomienia. Rejestruje obietnice zawiadomienia. Zastępuje plik przesyłanymi danymi i wysyła zawiadomienia do wszystkich innych klientów mających obietnice zawiadomienia o tym pliku. 7

1.5 Tomy PLIKI DZIELONE andrew home james punkty montowania tomy pliki andrew pliki jamesa Tom jest podobny do katalogu, składa się : plików punktów montowania Tomy są niewidoczne dla użytkownika. Przechodząc po drzewie katalogów nie jest w stanie okreslic w jakim tomie się znajduje. Co więcej nie powinien odczuć przejście przez punkty montowania. Tomy mogą być ograniczone, ten prosty mechanizm umożliwia administratorowi w prosty sposób ograniczając rozmiar katalogu domowego użytkownika. Tom powinien się zmieścić na jednej partycji. W punktach montowania przechowuje się nazwy plików. Dzięki bazie danych lokalizacji wolumenów umożliwiono przenoszenie plików pomiędzy serwerami (bądź partycjami). W AFS można: przenosić tomy replikować tomy. Kopiowanie tomów na kilka serwerów w celu zwiększenia dostępności (jest jedna kopia główna, służąca od zapisu reszta tylko do odczytu. Są pewne problemy ze spójnością danych) robić kopie zapasowe 8

1.6 Aktualizacja AKTUALIZOWANIE Pisanie przy zamykaniu Opóźnione zapisywanie Ustawiczne zpisywanie Zapisywanie danych występuje tylko podczas wykonywania close. Polityka ta: Nie Sprawdzi się Sprawdza się dla plików otwieranych na krótki okres czasu modyfikowa- rzadko nych dla plików otwieranych na długie okresy czasu i czesto modyfikowalnych Zaletą zapisywania przy zamykaniu jest niezawodność, gdyż nie zapisane dane nie giną przy awarii maszyny użytkownika (w przeciwieństwie do opóźnionego pisania) oraz jest to rozwiązanie o dużej wydajności (w przeciwieństwie do ustawicznego pisania) 1.7 Spójność SPÓJNOŚĆ Inicjatywa systemu obsługi Inicjatywa klienta W system Andrew zaimplementowano semantykę sesji, tzn.: wynik operacji pisania otwartego pliku nie jest natychmiast widoczny dla innych użytkowników mających równocześnie otwarty ten sam plik. po zamknięciu pliku zmiany, które były do niego prowadzone będą widoczne tylko w następnych sesjach. Otwarte pliki nie będą odzwierciedlać tych zmian. 9

Na planowanie dostępu do plików nie nałożono prawie żadnych ograniczeń. Gdy VENUS otrzymuje plik od VICE załącza obietnicę zawiadomienia (callback promise) o zmiannie w pliku. Obietnica jest przechowywana w VENUS razem z plikiem. Obietnica ma dwa stany : WAŻNY i NIEWAŻNY. Gdy serwer otrzyma nowa wersje pliku, wysyła zawiadomienie każdemu z klientów, którzy posiadali callback promise. Cache Manager ponownie ściąga aktualna wersje pliku wraz z nowym callback promise. Na wszelki wypadek co określony okres czasu (stała systemowa) dochodzi do sprawdzenia aktualnego stanu pliku (Mechanizm ten wprowadzono w celu zachowania spójności pliku, który to mogł zostać zdezaktualizowany z powodu awarii sieci). Opisany mechanizm nie sprawdzi się w przypadku, gdy dany plik będzie modyfikowany przez kilku użytkowników jednocześnie. Bez dodatkowego oprogramowania użytkownik nie zostanie poinformowany o kolejnych modyfikacjach. Zatem zapamięta zostanie wersja pliku, która została zapisana ostatnia. 1.8 Awarie 1.8.1 Klienta awaria klienta uniemożliwia dostęp do AFS po ponownym uruchomieniu wszystkie pliki z Cache a są odnawiane (mogło dojść do utraty komunikatów callback promise) 1.8.2 Serwer są niedostępne tomy znajdujące się na serwerze pliki replikowane są nadal dostępne (za wyjątkiem plików przeznaczonych do replikowanych zapisu) pliki niereplikowane i bez kopii zapasowych sak chwilowo niedostępne 1.9 Bezpieczeństwo Po podaniu hasła użytkownik jest identyfikowany. VENUS otrzymuje stosowny identyfikator uwierzytelniajacy użytkownika. Każda wymiana informacji jest poprzedzona wzajemna identyfikacja serwera i klienta. Hasło klienta jest wykorzystywane do zakodowania wiadomości. 10

2 Coda 2.1 Wprowadzenie System plików Coda jest spadkobiercą systemu AFS, spełniający dodatkową funkcjonalność. Projekt Cody został zrealizowany w CMU pod przewodnictwem Satyanarayanana. Wymagania dotyczące Cody zostały oparte na doświadczeniach uzyskanych dzięki eksploatacji AFSu. 1. zawężona forma zwielokrotnień (tylko tomy do czytania) 2. niezadawalająca odporność na awarie lub planowane odłączanie serwerów 3. nieuwzglednienie użytkowania komputerów przenośnych Te trzy wymagania określa się czasem constant data availability. Coda zachowuje: skalowalność AFSu emulacje semantyki UNIXa 2.2 Zwielokrotnienie 2.2.1 Wstęp W przeciwieństwie do AFSu, projekt Coda zakłada zwielokrotnienie tomów plików w celu: 1. osiągniecia większej przepustowości 2. wyższego stopnia tolerowania uszkodzeń Ponadto Coda korzysta ze specjalnego mechanizmu umożliwiającym stacjom roboczym działanie po odłączeniu od sieci (dzięki kopii plików w stacjach roboczych) 11

2.2.2 implementacja c1 c2 VSG AVSG1 AVSG2 Zbiór serwerów przechowujących kopie tomu plików nazywa się grupa tomów pamięci (ang. volume storage group, w skrócie VSG). Klient, który chce otworzyć plik może uzyskać dostęp do pewnego podzbioru vsg, nazywanego grupa dostępnych tomów pamięci (ang. available volume storage group, w skrócie AVSG). Skład grupy AVSG zmienia się w zależności od dostępności serwerów lub ich eliminowania wskutek awarii ich samych lub sieci. Dostęp do plików jest podobny do AFSu. Podręczne kopie plików dostarcza stacjom roboczym klientów ktorys z serwerów grupy ASVG. Klienci sak powiadomiani za pomocą obietnic zawiadomień. Podczas operacji close kopie zmienionych plików są rozgłaszane równolegle w całej grupie AVSG. Jeżeli grupa dostępnych tomów staje się pusta to następuje odłączenie (ang. disconnected operation). Może to wynikać z powodu: 1. umyślnego odłączenia klienta 2. awarii Jeżeli klient posiada wszelkie potrzebne mu pliki w pamięci stacji roboczej to może dalej kontynuować prace odłączony od systemu. Istnieje narzędzie zapisujące chronologię użycia plików w czasie pracy w podłączeniu do sieci. Tworzy wykaz daje podstawę do okreslania potrzeb na czas działania w czasie odłączenia. 12

Kopie plików pozostające w pamięci podręcznych są zdatne do użytku o ile przywraca się im co pewien okres czasu ważność. W przypadku działań odłączonych integracja danych nastąpi dopiero po kolejnym podłączeniu do sieci. W najgorszym przypadku może to wymagać ręcznej interwencji, aby pozbyć się niespójności i konfliktów. CVV (ang. Coda version vector) składa się z liczb całkowitych odpowiadającym ilościom aktualizacji tomu na każdym z serwerów. 2.2.3 Przykład c1 c2 VSG AVSG1 AVSG2 Rozważmy ciąg zmian wykonywanych na pliku F w tomie zwielokrotnionym na trzech serwerach: S 1, S 2, S 3. Grup VSG dla pliku F jest zbiorem S 1, S 2, S 3. Plik jest zmieniany przez dwóch klientów C 1, C 2, ale z powodu awarii klient C1 ma dostęp do serwerów S 1, S 2 (dla C 1 AVSG= S 1, S 2, zaś klient C2 dostęp do serwerów S 3 (dla C 2 AVSG=S 3 ). 1. CVV dla wszystkich serwerów jest równe [1,1,1] 2. C 1 otwiera plik F, zmienia jego zawartość i zapisuje. Wektory dla serwerów S 1, S 2 ulegaja zmianie na [2,2,1] 3. C 2 tworzy dwa procesy otwierające F, modyfikujące do i zapisujące. Wektor CVV dla S 3 zmienia się na [1,1,3] 4. po przywróceniu działania sesji, dochodzimy do konfliktu, gdyż wektory [2,2,1][2,2,1][1,1,3] nie można jednocześnie posortować po każdej zmiennej. Konflikt trzeba rozwiązać ręcznie. Jeżeli nie nastąpi punkt 3 to [1,1,1] [2,2,1] [2,2,1], czyli możemy uzgodnić nowa wersje bez potrzeby ręcznych zmian. Wersja pliku F z serwera S 1 lub S 2 zostanie skopiowana do serwera S 3. Jeżeli nie da się posortować plików po każdej zmiennej jednocześnie, to plik ten zostaje odznaczony jako nieoperatywny, a właściciela informuje się o powstałym konflikcie. W przypadku katalogów możemy usunąć sprzeczności automatycznie (jedyne operacje to wstawianie i usuwanie wpisów katalogowych). 13

Gdy następuje zamkniecie pliku proces VENUS posyła do każdego elementu ze zbioru AVSG komunikat uaktualniajacy wraz z jego nowym CVV. O ile zmieniono zawartość pliku VICE zwraca odpowiedz pozytywna. Proces VENUS zbiera informacje od serwerów, które odpowiedziały na komunikat pozytywnie. VENUS wysyła stosowne wektor AVSG dla każdego serwera. 2.2.4 Podsumowanie Zalety zwielokrotnień: zwiększona odporność na awarie, wystarczy do pobrania danych jeden działający serwer zawierajacy dany tom. obciążenia sieciowe wynikające z zamówień klientów można podzielić na wszystkie serwery, zwiększając wydajność systemu 2.3 Problemy z aktualizacja Oto gwarancje jakości w systemie Coda: Otwarcie pliku oznacza jedna z możliwości: 1. AVSG niepuste, plik aktualny 2. AVSG niepuste, plik przestarzały co najwyżej o stalą systemowa i jest w Cache u, przez ostatnie sekundy stracono zawiadomienia 3. AVSG niepuste, ale plik jest w Cache u Nieudane otwarcie pliku oznacza 1. AVSG niepuste, ale są konflikty 2. AVSG puste i pliku nie ma w Cache u Udane zamkniecie 1. AVSG niepuste i plik zaktualizowano 2. AVSG jest puste Nieudane zamkniecie 1. AVSG niepuste i wykryto konflikt Aby zrealizować te gwarancje VENUS musi wykrywać następujące zdarzenie w czasie najdalej T sekund od ich wystąpienia (T stalą systemowa): powiększenie grupy AVSG (wskutek udostępnienia poprzednio niedostępnego serwera) zmniejszenie grupy AVSG (z powodu wycofania uprzednio dostępnego serwera) 14

utracenie zawiadomienia W razie sytuacji wyjątkowych powodujących niespójność danych na lokalnej pamięci podręcznej, VENUS przyjmuje założenie pesymistyczne i unieważnia obietnice zawiadomienia do wszystkich plików określonego tomu (mimo ze cześć plików może być aktualna). W Codzie istnieją specjalne pliki lub partycjach (RVM), które są odpowiednikiem bazy danych lokalizacji wolumenów z AFSu. Przekazywane są tutaj wszystkie potrzebne dane o transakcjach nie ma możliwości częściowego lub błędnego modyfikowania bazy. 2.4 Wydajność Satyanarayanan i in. porównują wydajność systemu Coda i AFS za pomocą testowych obciążeń w obecności od 5 do 50 użytkowników. Zauważono: Coda bez zwielokrotnień i AFS działają ze zbliżoną wydajnoscia Coda z 3 zwielokrotnieniami dla 5 użytkowników działa o ok 5% mniej wydolnie Coda z 3 zwielokrotnieniami i 50 użytkownikami spowodował zwiększenie czasu wykonania o odpowiednio 70% i 16% (w stosunku do 5 użytkowników). Różnice te tylko częściowo można przypisać kosztom związanym ze zwielokrotnieniami za część różnic w działaniu odpowiada tez odmienne zestrojenie implementacyjne. 15

3 Podsumowanie AFS i Coda NFS AFS Coda pierwszy oferowany handlowo produkt dobre działanie dla systemów średniej wielkości elastyczność przy montowaniu dobrze skalowalny spójny to- zwielokrotnienia mów do czytania chwilowa utrata uaktualnień działa dobrze dla stacji przenośnych zwielokrotnienia zwiększona na błędy odpornosc brak ogolnie rozumianego zwielokrotnienia koszty administrowania ale juz nie do pisania problemy z awariami nie dla baz danych trochę ręcznej roboty w przypadku konfliktów juz nie tak szybki wydajno- problemy ściowe skalowal- ograniczona ność 16