nextupprevious
Next:Rozwiązania w systemie LinuxUp:prMagWithTitlePrevious:Schowki w rozproszonych systemach plików

Poprawa wydajności systemu NFS pracującego na bazie systemu operacyjnego Linux

Główną częścią mojej pracy była poprawa wydajności systemu NFS działającego na bazie systemu operacyjnygo Linux. Pomimo wielu wad NFS postanowiłem zająć się jego optymalizacją z następujących powodów: We wcześniejszej części mojej pracy przedstawiłem różne zastosowania schowków w rozproszonych systemach plików. Jednak żadnego z opisanych rozwiązań nie można bezpośrednio zastosować w systemie NFS.

We wszystkich przedstawionych zastosowaniach rola serwerów znacznie różni się od roli jaką ma serwer NFS. Serwery te nie służą już tylko do przechowywania danych, ale przede wszystkim do zarządzania danymi znajdującymi się poszczególnych stacjach roboczych. Takie rozwiązanie jest zupełnie niemożliwe na serwerze NFS, który jest serwerem bezstanowym.

Twórcy systemów AFS, xFS i Coda wykorzystują schowki do wspomagania operacji odczytu i zapisu. Protokół NFS uniemożliwia zastosowanie schowków do operacji zapisu. Znacznie różnie się też semantyka operacji tych trzech systemów plików -- spójność danych jest utrzymywana w ramach sesji open/close. Semantyka operacji system NFS jest znacznie bardziej zbliżona do semantyki operacji systemu UNIX.

Tworcy system Coda stosują mechanizm wolumenu i walidacji całej grupy plików. Jest to bardzo efektywne rozwiązanie. Wymaga jednak opisu tego mechanizmu w protokole.

Najłatwiejszym do adaptacji jest kooperatywny schowek wykorzystany tylko do wspierania operacji read. Bez modyfikacji serwera można zastosować algorytm BKK. Jednak z przeprowadzonych emulacji wynika, że mógłby on tylko nieznacznie poprawić wydajność. Bardzo dobry jest natomiast algorytm NŁP. Aby go zastosować, należałoby jednak rozszerzyć protoków NFS, tak aby serwer przechowywał informacje o miejscu w którym znajdują się kopie poszczególnych plików. Dodatkowo klienci musieliby być zmodyfikowania tak, aby komunikować się z dodatkowym procesem serwera i obsługiwać żądania innych klientów. Innymi słowy, wymagałoby to zaimplementowania od podstaw serwera i klienta zmodyfikowanego protokołu NFS. Z symulacji wynika także, że do zastosowania kooperatywnego schowka niezbędna jest szybka względem dysków sieć. Uniemożliwiłoby to korzystanie w wprowadzonych modyfikacji w wolnych 10Mb sieciach Ethernet.
 


Subsections
nextupprevious
Next:Rozwiązania w systemie LinuxUp:prMagWithTitlePrevious:Schowki w rozproszonych systemach plików
root

2000-08-18