Seminarium: Systemy Rozproszone
19 lutego 2001, godzina 12:15, sala 3120
Grzegorz Całkowski (gcal@mimuw.edu.pl)



Advanced Cluster Library, cz. II

 

Moje wystąpienie będzie kontynuacją prezentacji z października 2000 (streszczenie poniżej). Tym razem przedstawię wyniki ekperymentów badających wydajność biblioteki komunikacyjnej ACL (Advanced Cluster Library), stworzonej w ramach mojej pracy magisterskiej. Opowiem w jaki sposób mierzyłem takie parametry komunikacji jak: opóźnienia (ang. latency), przepustowość, obciążenie procesora. Opowiem także o wpływie użytych struktur i mechanizmów synchronizacji wątków na wydajność komunikacji.

Zapraszam.

Grzegorz Całkowski


Od wielu lat prowadzone są prace nad różnego rodzaju systemami klastrowymi. W większości z nich kluczową rolę odgrywa mechanizm komunikacji między procesami w klastrze. Postęp w dziedzinie sprzętu trwa nieprzerwanie od lat (ethernet, fast ethernet, gigabit ethernet, fibre channel, sci, atm, giganet) - do niedawna niewiele natomiast było słychać o postępie w dziedzinie oprogramowania. Kamieniem milowym w tej ewolucji było stworzenie standardu VIA (Virtual Interface Architecture), który definiuje interfejs dla mechanizmów komunikacji pomijających jądro systemu operacyjnego, co pozwala na ogromne przyspieszenie transmisji danych w sieciach lokalnych, zwłaszcza przy zastosowaniu odpowiedniego sprzętu - w szczególności pozwala na redukcję opóźnień (ang. latency) do rzędu mikrosekund.

VIA jest niskopoziomowym interfejsem, dość skomplikowanym w bezpośrednim użyciu, zwłaszcza w złożonych systemach klastrowych. Dlatego powstało zapotrzebowanie na stworzenie biblioteki pozwalającej na wydajną komunikację w klastrze właśnie w oparciu o VIA, ukrywając wszelkie jej szczegóły, a jednocześnie tak zaprojektowanej i zaimplementowanej, aby narzut związany z jej użyciem był jak najmniejszy. Ponadto taka biblioteka powinna dostarczać funkcjonalność o semantyce klastrowej (nawiązanie połączeń, dołączenie/odłączenie się do klastra, itp.) - VIA jako taka jest interfejsem stricte komunikacyjnym, pozwalającym na komunikację "tylko" z punktu do punktu.

Tematem mojego wystąpienia będzie biblioteka ACL (Advanced Cluster Library), zaprojektowana zgodnie z wyżej wspomnianymi założeniami. Pracę nad nią prowadziłem w ubiegłym roku akademickim w NEC Research Institute w Princeton w USA. Biblioteka ta jest częścią projektu o kryptonimie ISS (Inteligent Storage Server), systemu typu SAN (Storage Area Network), w kontekście którego o niej opowiem.