N
Wprowadzenie Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.
Wprowadzenie (podział ze względu na przeznaczenie) Wysokiej dostępności 1)backup głównego serwera, czyli zawsze dostępny, 2)load balancing (rozkładanie obciążenia), 3)backup & load balancing. Obliczeniowe (HPC High Performance Computing) 1)klastry stacji roboczych, 2)Beowulf.
backup serwera S1, serwer główny dostępny pod 192.168.0.1, Ruter, kieruje ruch 192.168.0.1 do S1, S2, serwer zapasowy, synchronizuje zmiany z S1, monitoruje S1, dostępny pod adresem 192.168.0.2, W przypadku gdy S1 pada, ruter zaczyna kierować ruch do S2.
load-balancing SG ruter, który co n-te połączenie forwarduje do innego komputera wewnątrz sieci. SM serwer, który zawiera zasoby źródła. Komputery S1,...,SN co jakiś czas synchronizują się z SM. iptables -t nat -A PREROUTING -i eth1 -p tcp -d SG --dport 80 -m nth --every 2 -j DNAT --to S1:80 iptables -t nat -A PREROUTING -i eth1 -p tcp -d SG --dport 80 -m nth --every 2 -j DNAT --to S2:80
backup & load-balancing SG serwer główny, na którym stoi proxy, które kieruje zapytania do S1...SG, S1,..., SN serwery WWW lub kolejne proxy, A1,...,AN np. serwery WWW,
klastry stacji roboczych węzły końcowe równouprawnione, łatwy do zbudowania, niska cena, podatny na uszkodzenia, przez cześć dnia nieczynny, najczęściej heterogeniczny.
beowulf Beowulf: Server komputer pełniący rolę serwera obliczeniowego, na którym uruchamiamy obliczenia, node1,...,noden końcówki, dedykowane do bycia częścią klastra obliczeniowego, z reguły homogeniczny, odpowiedni do obciążających obliczeń, droższy.
homogeniczne, heterogeniczne. Wprowadzenie (architektury klastrów)
Wprowadzenie (cechy dobrego klastra) wydajność, skalowalność, dostępność, bezpieczeństwo, stosunek ceny do wydajności.
Problemy obliczeniowe Złożoność obliczeniowa, Obliczenia równoległe i rozproszone, Nasz przykład Raytracer, Przykłady mocne.
Problemy obliczeniowe Złożoność obliczeniowa. 1)problemy wielomianowe są OK! 2)problemy typu n! albo 2^N są ogólnie niedobre ;)
Problemy obliczeniowe Obliczenia równoległe i rozproszone 1)problemy rozproszone (np. algorytmy wykorzystane w seti), 2)problemy równoległe (np. w alg. grafowych).
Problemy obliczeniowe (przykłady mocne) symulacje wybuchów jądrowych, prognoza pogody, generowanie scen - grafika, łamanie pgp undefine'a ;).
Klastry HPC PVM Parallel Virtual Machine, MPI Message Passing Interface, openmosix, inne możliwości.
ClusterN Linux
ClusterN Linux Dlaczego powstała dystrybucja ClusterN Linux? Założenia funkcjonalne. Rozwiązywanie problemów (wybór reprezentacji). Czego brakuje (za dużo ;). Co chcemy zrobić. Prezentacja działania.
ClusterN Linux (założenia funkcjonalne) serwer + węzły końcowe - Beowulf, automatyka uruchomienia i konfiguracji, dostępność i wygoda pracy, minimalne wymagania sprzętowe, skalowalność i wydajność, łatwe zarządzanie.
ClusterN Linux (rozwiązywanie problemów) serwer + węzły końcowe Beowulf, 1) Jeden komputer pełni rolę serwera dla węzłów końcowych. 2) Serwer będzie zarządzalny przez aplikację opartą o interfejs WWW (Apache + PHP). 3) Możliwość podziału węzłów końcowych na grupy, zależnie od przeznaczenia. 4) Udostępniamy środowisko PVM, MPI i openmosix.
ClusterN Linux (rozwiązywanie problemów) automatyka uruchomienia i konfiguracji, 1) serwer bootowalny z CD-ROMu, uruchamia DHCP, TFTP, NFS, Apache, SSH, 2) końcówki pobierają z serwera adres ip, uruchamiają przez PXE obraz systemu sciągnięty z serwera TFTP, 3) serwer przekazuje informacje o nowych węzłach końcowych do aplikacji zarządzającej, 4) klaster jest uruchamiany z poziomu aplikacji zarządzającej.
ClusterN Linux (rozwiązywanie problemów) dostępność i wygoda pracy, 1) użytkownik dostaje się do klastra przez interfejs WWW, 2) podział węzłów na grupy umożliwia testowanie aplikacji na mniejszej ilości węzłów końcowych, 3) wyniki obliczeń (pliki zapisane, stdout, stderr) są dostępne przez stronę WWW, 4) możliwość planowania obliczeń.
ClusterN Linux (rozwiązywanie problemów) minimalne wymagania sprzętowe, 1) serwer płyta główna, procesor x86, RAM 256MB, karta sieciowa, 2) węzły końcowe płyta główna, procesor x86, RAM 256 MB, karta sieciowa, możliwość bootowania po sieci (PXE lub bootpromy) 3) HUB/SWITCH, 4) istotne jest środowisko sieciowe.
ClusterN Linux (rozwiązywanie problemów) skalowalność i wydajność, 1) łatwość dołączania końcówek (na razie podsieć /24) 2) podział na grupy umożliwia uruchamianie obliczeń na dowolnie dużej ilości węzłów końcowych, 3) wydajność silnie zależna od środowiska sieciowego, 4) zachowana wydajność PVM/MPI/openMosix.
ClusterN Linux (rozwiązywanie problemów) łatwe zarządzanie, 1) mechanizm WakeOnLan 2) ACPI, 3) wyświetlanie informacji o węzłach końcowych + generowanie statystyk ich obciążenia, 4) planowanie prac.
Podsumowanie Komentarze i pytania kieruj do: kalkos@amu.edu.pl autor: Maciej Kalkowski
Koniec