Opracowanie obserwacji satelitarnych GPS/GLONAS w klastrowych systemach superkomputerowych Mariusz Figurski Marcin Gałuszkiewicz Krzysztof Kroszczyński Wojskowa Akademia Techniczna, Warszawa SEMINARIUM Komisji Geodezji Satelitarnej Komitetu Badań Kosmicznych i Satelitarnych PAN oraz Sekcji Sieci Geodezyjnych Komitetu Geodezji PAN SATELITARNE METODY WYZNACZANIA POZYCJI WE WSPÓŁCZESNEJ GEODEZJI I NAWIGACJI WAT, Warszawa, 11-12 maja 2006 r.
Klaster komputerowy - definicje Klaster komputerowy (ang. cluster) grupa połączonych jednostek komputerowych, pracujących współbieżnie tak, jakby był to jeden komputer. Komputery wchodzące w skład klastra nazywamy węzłami (ang. node). W istniejących rozwiązaniach klastrowych można wyodrębnić dwie podstawowe klasy wynikające z celów budowy takich rozwiazan: Klastry wydajnościowe: pracujące jako komputer równoległy. Celem ich budowy jest powiększenie mocy obliczeniowej. Wiele obecnych superkomputerów działa na tej zasadzie. Klastry niezawodnościowe: pracujące jako zespół komputerów
Klastry komputerowe- zalety Możliwość wykorzystania posiadanego sprzętu (np. starsze stacje robocze połączone w klaster zyskują dużą moc obliczeniową). Użytkownicy nie muszą zdobywać nowych umiejętności. Klaster jest zawsze "widziany" przez działające na dowolnym węźle programy, jak jedna maszyna, zatem uruchomione programy nie wymagają specjalnego przygotowania; Klaster oparty na systemie GNU Linux (brak opłat za licencje na system operacyjny).
Cechy dobrego klastra Wydajność Skalowalność Skalowalność może być definiowana jako możliwość zapewnienia harmonijnego rozrastania się systemu i zwiększania liczby przetwarzanych procesów w miarę upływu czasu i pomnażania liczby jego użytkowników, bez konieczności rewolucyjnych zmian projektowych Dostępność Bezpieczeństwo Stosunek ceny do wydajności ułamek wartości pojedynczego komputera o podobnej mocy obliczeniowej
Klastry komputerowe - wady Oprogramowanie jest tu warstwą, która ma decydujący wpływ na charakter całego systemu. Niewiele jest oprogramowania, które jest dedykowane dla tego typu architektur. Siećłącząca węzły systemu. Każde ograniczenie przepustowości łączy jest oczywiste i wynika z praw fizyki jest jednocześnie potencjalnym źródłem problemów typu znikanie komunikatów przesyłanych między węzłami. Bardzo drogie rozwiązania sieciowe. Znacznie bardziej niż w typowych systemach superkomputerowych są kwestie bezpieczeństwa systemu i zgromadzonych danych.
Wydajność klastra Teoretyczna szczytowa wydajność. Dla naukowców oznacza ona maksymalną agregację operacji zmiennopozycyjnych na sekundę. P = N C F R P wydajność w Mflops, Gflops lub Tflops N liczba węzłów C liczba procesorów w węźle F liczba operacji zmiennoprzecinkowych w jednym cyklu R ilość cykli na sekundę
MPI (Message Passing Interfacei) to nazwa standardu biblioteki przesyłania komunikatów dla potrzeb programowania równoległego, jest to formalna specyfikacja standardu. Standard MPI 1.2 i 2.0. Zakłada on, że ten sam kod źródłowy wykonuje się jednocześnie na kilku maszynach i procesy mogą przetwarzać równocześnie różne fragmenty danych, wymieniając informacje przy użyciu komunikatów. PVM jest pakietem oprogramowania, które pozwala wykorzystać moc istniejącej sieci unixowej (np. Linux i Sun Sparc). Przekształca ją w Wirtualna Maszynę Równoległą. Pakiet ten składa się z dwóch podstawowych części: 1. daemona uruchamianego w węzłach sieci, który pozwala na traktowanie jej jak jednego komputera równoległego 2. biblioteki funkcji (C lub Fortran), zawierające interface dla programów mających działać na PVM. Programowanie równoległe Równoległe obliczenia na klastrach wykonuje się przez dzielenie dużego zadania na części, które każde z osobna wykonuje się na oddzielnym procesorze.
Obszary zastosowania klastrów komputerowych Tworzenie symulacji zjawisk mniej lub bardziej naturalnych. W centrach Departamentu Energii w USA, symuluje się zjawiska podczas wybuchów atomowych, NOAA - zmiany klimatu itp. Testowanie nowych technologii militarnych, symulacja pola walki Symulacje złożonych zjawisk geologicznych, pogodowych i geodynamicznych: pojawianie się i zachowanie sztormów lub huraganów, wybuchy wulkanów, trzęsienia ziemi, pływy oceaniczne, prognozowanie tajfunów, Chemia i fizyka molekularna, produkcja leków Sterowanie procesem technologicznym Telekomunikacja, energetyka
Klaster FENIX 16 węzłów - HP rx1620. dwa procesory Intel Itanium 2 o częstości 1.6GHz, FSB 533. pamięć operacyjna 32 GB dysk twardy SCSI 36 GB na węzeł System komunikacji SSH v. 2. System operacyjny GNU/Linux z jądrem 2.6, dystrybucja Debian 3.1 Sarge. Przełącznik sieciowy Gigabit Ethernet 2x HP ProCurve Switch 3400cl (48 port i 24 port). Serwer danych 0.6 TB HDD, 3xDAT 72GB. Serwer zapory ogniowej Serwer X term 0.5 TB HDD Serwer administracyjny UPS HP R5500 XR High Voltage Rack UPS x 3. Wydajność ok. 204 GFLOP. 15 miejsce w Polsce.
23.11.2005 16:20 Uruchomienie klastra FENIX
Dostępne oprogramowanie - IA64 Kompilatory Intel Fortran 7.1 i 9.0, Intel C/C++ 9.0, Fortran GNU 95. System kolejkowania PBS Torque 2.0. MPI (ang. Message Passing Interface) MPICH 1.2.7, Intel MPI 2.0. Numeryczny model pogody: Coamps 3.1.1 (grudzień 2004) WRF 2.1.2 (30 styczeń 2006) Bernese 5.0 (luty 2006 - wersja operacyjna) Bernese 5.1 (luty 2006 - wersja testowa) GAMIT/GLOBK 10.21 (styczeń 2006)
Monitorowanie pracy klastra
Wydajność obliczeń równoległych MPI klaster FENIX 200 2 siatki 3 siatki 2 180 Potęg. ( 2 siatki ) 4 160 32 30 24 20 16 12 9 6 6 4 2 140 120 100 80 60 40 Czas obliczeń [min] 32 30 24 20 16 12 9 y = 139.82x -0.7346 0 20 35 30 25 20 15 10 5 0 Ilość procesorów
Bernese i GAMIT na klastrze FENIX Brak implementacji MPI lub PVM. GAMIT/Bernese przetwarzanie sekwencyjne równolegle kilku sesji pomiarowych w zależności od ilości wolnych procesorów i pamięci operacyjnej. Bernese wykorzystanie SBPE do równoległego przetwarzania obserwacji GPS/GLONAS w jednej sesji obliczeniowej. Brak możliwości rozproszenia zadań np. programu GPSEST i ADDNEQ2
Implementacja Bernese 5.x klaster FENIX Instalacja na platformie IA-64 kompilacja Intel fortran 7.1 oraz GNU 95. Problemy z Intel fortran 9.0 BPE, Super BPE zbiór skryptów (perl i powłoki sh) automatycznego opracowania obserwacji GPS w Bernese 5.x Super BPE odmiana rozpraszania zadań na węzłach klastra.
Bernese BPE
SBPE SBPE SBPE CLUSTER SBPEBPE SBPE SBPE
BPE
Bernese 5.0 5.1 Nowe modele refrakcji troposferycznej. IMF isobaric mapping function VMF1 vienna mapping function GMF Global Mapping Function Bernese 5.0 Model pływowy atmosfery Model jonosfery uwzględniający składowe rzędu 2 i 3 rozwinięcia w szereg refrakcji jonosferycznej. Problem modelu pola magnetycznego Ziemi. Nowe metody wyznaczania nieoznaczoności fazy (M)Lambda Nowe formaty RINEX (3.0), SINEX (2.0.1) Addneq2 Włączenie systemu GALILEO
Skrypt uruchamiający program GAMIT 10.21 na klastrze FENIX #!/bin/csh # #PBS -N gamit_batch.1.06_02_14_07:54:46 # #PBS -l nodes=1:ppn=2 # #PBS -q batch # #PBS -ma # #PBS -r n # #PBS -V # # ------------------------------------------------------------ # Log interesting information # echo "This is a $PBS_ENVIRONMENT job" echo "This job was submitted to the queue: $PBS_QUEUE" echo "The job id is: $PBS_JOBID" echo "-------------------" echo "The master node of this job is: $PBS_O_HOST" set NPROCS = `wc -l < $PBS_NODEFILE` set NNODES = `uniq $PBS_NODEFILE wc -l` echo "This job is using $NPROCS CPU(s) on the following $NNODES node(s):"
Podsumowanie Pierwsza instalacja programów Bernese 5.x oraz GAMIT/GLOBK 10.21 na platformie IA-64. Zwiększenie dokładności numerycznej obliczeń. Zastosowanie rozpraszania zadań i sesji zwiększa wydajność obliczeń. Np. WUT EPN IA-32x2 czas obliczeń (54 stacje) 53 min. Platforma IA-64x20 9 min Możliwość opracowania kilkuset obserwacji dobowych w jednej sesji obliczeniowej Nowe perspektywy