Krajowy Klaster Linuxowy CLUSTERIX jako platforma gridowa do obliczeń wielkiej skali Roman Wyrzykowski Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska
Plan Geneza, status, główne założenia projektu i architektura Instalacja pilotowa Oprogramowanie zarządzające (middleware) - technologie i architektura - integracja klastrów dynamicznych - system zarządzania zasobami i zadaniami - zarządzanie kontami użytkowników - intefejs dostępowy portale gridowe Aplikacje pilotowe Uruchamianie aplikacji numerycznych na przykładzie systemu NuscaS Podsumowanie
Klastry komputerów PC-Linux Klastry komputerów PC stanowią obecnie dominujący typ systemów równoległych, przede wszystkim ze względu na ich niższy koszt niż tradycyjne superkomputery Kluczowa rola oprogramowania Open Source, takiego jak system operacyjny LINUX Klastry komputerów PC w Polsce - pierwszy w TASK - październik 2000 r. - drugi w Politechnice Częstochowskiej - styczeń 2001 r. - od 2003 roku dynamiczny rozwój na terenie całej Polski Różnorodne architektury procesorów - Intel, AMD, 32- i 64-bitowe
Klaster ACCORD w PCz
ACCORD: Architektura
Narzędzia do zarządzania i monitorowania klastra Web Condor Interface Kompletny system do zarządzania i monitorowania klastra zintegrowany z www
SIECI NOWEJ GENERACJI POLSKIE PROJEKTY SIECIOWE PIONIER (1Q05) Podobne rozwiązanie USA: National Lambda Rail
SIECI NOWEJ GENERACJI - PORÓWNANIE National Lambda Rail PIONIER Docelowo 16 000 mil światłowodu Transport: Cisco 15808 (max. 40 kanałów @ 10Gbit/s) 4 lambdy (10G Ethernet LAN PHY): - sieć przełączanego Ethernetu 10Gbit/s (usługi typu LAN i połączenia na poziomie 1Gbit/s) 3000 km (docelowo 6000 km) ADVA (max 32 kanały @ 10 Gb/s) 1 lambda (10GEth LAN PHY ) TAK - krajowa sieć IP - połączenie dla projektów badawczych (projekty obliczeniowe, teleprezencja itp.), - Internet2 eksperymentalna dla badań nad nowymi usługami sieciowymi TAK TAK TAK kanały wirtualne, 2 lambdy 3Q06
Status projektu CLUSTERIX Projekt celowy MNiI CLUSTERIX - Krajowy Klaster Linuxowy (National Cluster of Linux Systems) Uczestniczy 12 jednostek z całej Polski (MAN-y i KDM-y) Politechnika Częstochowska jako koordynator Faza badawczo-rozwojowa: 01.01.2004-30.09.2005 Faza wdrożeniowa: 01.10.2005 30.06.2006 Ogólny koszt 5 340 000 zł, w tym dotacja MNiI - 2 500 000 zł, reszta to wkład własny uczestników projektu
Partnerzy Politechnika Częstochowska (koordynator) Poznańskie Centrum Superkomputerowo-Sieciowe (PCSS) Akademickie Centrum Komputerowe CYFRONET AGH, Kraków Trójmiejska Akademicka Sieć Komputerowa w Gdańsku (TASK) Wrocławskie Centrum Sieciowo-Superkomputerowe (WCSS) Politechnika Białostocka Politechnika Łódzka UMCS w Lublinie Politechnika Warszawska Politechnika Szczecińska Uniwersytet Opolski Uniwersytet w Zielonej Górze
Założenia projektu Głównym celem realizacji projektu jest opracowanie narzędzi oraz mechanizmów umożliwiających wdrożenie produkcyjnego środowiska gridowego, W konfiguracji bazowej udostępnia ono infrastrukturę lokalnych klastrów PC-Linux o architekturze 64-bitowej, połączonych szybką siecią kręgosłupową zapewnianą przez sieci PIONIER Do infrastruktury bazowej podłączone zostaną zarówno istniejące, jak i nowe klastry, o zróżnicowanej architekturze 32- i 64-bitowej W wyniku powstanie rozproszony klaster PC nowej generacji o dynamicznie zmieniającej się wielkości, w pełni operacyjny i zintegrowany z istniejącymi usługami, udostępnionymi przez inne projekty powstałe w ramach programu PIONIER
Utworzenie środowiska produkcyjnego Dostarczenie narzędzi i mechanizmów pozwalających na dynamiczną i automatyczną rekonfigurację infrastruktury Umożliwi dołączanie kolejnych klastrów lokalnych 32- lub 64- bitowych Instalacja pilotowa stanowi bazową infrastrukturę szkieletową połączoną siecią PIONIER Rozwój oprogramowania narzędziowego Zarządzanie danymi System rozdziału zasobów z predykcją, monitorowanie Zarządzanie kontami użytkowników i organizacjami wirtualnymi Bezpieczeństwo Zarządzanie zasobami sieciowymi, IPv6 Interfejs użytkownika oraz administratora Dynamiczne równoważenie obciążenia, mechanizm punktów kontrolnych Rozwój aplikacji gridowych Modelowanie zjawisk termomechanicznych w krzepnących odlewach Symulacja przepływów transonicznych wokół skrzydła samolotu Symulacje wielkiej skali przepływu krwi w mikrokapilarach metodą cząstek Modelowanie molekularne Dynamiczna wizualizacja terenu 3D z danych przestrzennych Realizowane zadania
CLUSTERIX: Architektura
Instalacja pilotowa (1) 12 klastrów lokalnych stanowi szkielet systemu Klastry lokalne budowane w oparciu o 64-bitowe procesory Intel Itanium2 1,4 GHz wyposażone w pamięci podręczne o wielkości 3 MB 2 lub 4 GB pamięci operacyjnej RAM na procesor Komunikacja wewnątrz klastrów lokalnych oparta o Gigabit Ethernet i InfiniBand (lub Myrinet) Komunikacja pomiędzy klastrami lokalnymi odbywa się za pomocą dedykowanych kanałów 1 Gb/s udostępnianych przez sieć PIONIER
Instalacja pilotowa (2) Szczecin Zielona Góra Poznań Wrocław Opole Gdańsk Łódź Częstochowa Kraków Białystok Warszawa Lublin 252 x IA-64 w szkielecie 800 x IA-64 w konfiguracji testowej - 4,5 TFLOPS 3000+ km włókien optycznych o przepustowości 10Gbps (technologia DWDM) w pełni wdrożone protokoły IPv4 oraz IPv6
CLUSTERIX: Architektura sieci Bezpieczny dostęp do sieci zapewniają routery ze zintegrowaną funkcjonalnością firewalla Local Cluster Switch PIONIER Core Switch Access Node 1 Gbps Użycie dwóch VLAN-ów umożliwia separację zasobów obliczeniowych od szkieletu sieci Wykorzystanie dwóch sieci z dedykowaną przepustowością 1 Gbps pozwala poprawić efektywność zarządzania ruchem w klastrach lokalnych Clusterix Storage Element Backbone Traffic Computing Nodes Internet Network Communication & NFS VLANs Internet Network Access Router Firewall
Oprogramowanie zarządzające systemem CLUSTERIX - technologie Tworzone oprogramowanie bazuje na Globus Toolkit 2.4 oraz WEB serwisach - możliwość powtórnego wykorzystania tworzonego oprogramowania - zapewnia interoperacyjność z innymi systemami gridowymi na poziomie serwisów Technologia Open Source, w tym LINUX (Debian, jadro 2.6.x) oraz systemy kolejkowe (Open PBS, SGE) - oprogramowanie Open Source jest bardziej podatne na integrację zarówno z istniejącymi, jak i z nowymi produktami - dostęp do kodu źródłowego projektu ułatwia dokonywania zmian i ich publikację - większa niezawodność i bezpieczeństwo Szerokie wykorzystanie istniejących modułów programowych, np. brokera zadań z projektu GridLab, po dokonaniu niezbędnych adaptacji i rozszerzeń
Integracja klastrów dynamicznych: Założenia Klastry dynamiczne (zewnętrzne) mogą być w prosty sposób (automatycznie) dołączane do szkieletu systemu CLUSTERIX aby: zwiększyć dostępną moc obliczeniową wykorzystać zasoby klastrów zewnętrznych w momentach, gdy są one nieobciążone (noce, weekendy ) zapewnić skalowalność infrastruktury systemu
Integracja klastrów dynamicznych: Architektura Nowe klastry weryfikowane pod względem: zainstalowanego oprogramowania certyfikatów SSL Komunikacja za pośrednictwem routera/firewalla System Monitorujący automatycznie wykrywa nowe zasoby Nowe klastry udostępniają moc obliczeniową dla użytkowników Clusterix Core Local Switch Router Firewall PIONIER Backbone Switch Dynamic Resources Internet
Dołączenie klastra dynamicznego Nodes Access node Access node Nodes Local switch Internet DYNAMIC CLUSTER Firewall/ router Switch Backbone network Monitoring system Struktura wewnętrzna klastra dynamicznego nieistotna z punktu widzenia procesu dołączania Istotny publiczny węzeł dostępowy Klaster dynamiczny powinien utworzyć połączenie ze szkieletem za pośrednictwem sieci Internet Połączenie via firewall z węzłem dostep. szkieletu Cały proces zarządzany przez system monitorujący Clusterix-a JIMS
Podsumowanie: Instalacja szkieletowa: - 250+ procesów Itanium2 rozproszonych pomiędzy 12 klastrami lokalnymi na terenie Polski Możliwość dołączenia klastrów dynamicznych z zewnątrz (klastry na Uczelniach, w kampusach) - maksymalna instalacja zawierająca 800+ procesorów Itanium2 (4,5 Tflops) jeszcze bez wykorzystania procedury automatycznego dołączenia
Wykonanie zadania w systemie CLUSTERIX USER User Interface Portal SSH Session Server Virtual User Account System Broker - GRMS CDMS Globus PBS/Torque, SGE Checkpoint restart Grid
GRMS (1) GRMS (Grid Resource Management System) jest systemem zarządzania zasobami i zadaniami w projekcie CLUSTERIX Został stworzony w ramach projektu GridLab Głównym zadaniem systemu GRMS jest zarządzanie całym procesem zdalnego zlecania zadań obliczeniowych do różnych systemów kolejkowych obsługujących klastry lokalne GRMS został zaprojektowany jako zbiór niezależnych komponentów zajmujących się różnymi aspektami procesu zarządzania zasobami, wykorzystujących serwisy niskiego poziomu
GRMS (2) GRMS bazuje na serwisach dostępnych w pakiecie Globus (GRAM, GridFTP) oraz w systemie zarządzania danymi CDMS i systemie monitorującym JIMS GRMS udostępnia interfejs w formie web-serwisu (GSIenabled), przez który mogą się do niego odwoływać wszyscy klienci (portale, klienci linii komend lub aplikacje) Wszystkie wymagania użytkowników są specyfikowane przy pomocy specjalnych dokumentów XML, nazywanych opisami zadań GJD (GRMS Job Description), przy czym są one wysyłane do GRMS a jako komunikaty SOAP poprzez połączenia GSI
Funkcjonalność systemu GRMS Z punktu widzenia końcowego użytkownika funkcjonalność systemu GRMS można podzielić na: zlecanie zadań użytkownika i ich kontrolowanie listowanie zadań użytkownika z uwzględnieniem zadanych kryteriów zarządzanie zadaniami migracja, zatrzymywanie, wznowienie, usuniecie pobieranie informacji o zadaniach znajdowanie zasobów spełniających wymagania użytkownika zarządzanie powiadamianiem (notyfikacja)
<grmsjob appid="psolidify"> <simplejob> <resource> <localrmname>pbs</localrmname> <hostname>access.pcss.clusterix.pl</hostname> </resource> <executable type="mpi" count="6"> <file name="exec" type="in"> <url>file:////home/users/olas/opt/bin/psolidify</url> </file> <arguments> <value>/home/users/olas/calc/solid/large/40000/40000</value> </arguments> <stdout> <url>gsiftp://access.pcz.clusterix.pl/~/tmp/zad/out</url> </stdout> <stderr> <url>gsiftp://access.pcz.clusterix.pl/~/tmp/zad/err</url> </stderr> </executable> </simplejob> </grmsjob >
Zarządzanie kontami użytkowników w Gridach Klaster lokalny Grid!!! Główne (z naszej perspektywy) problemy to: Problemy z zarządzaniem kontami użytkowników Kwestia rozliczenia wykorzystanych zasobów Niekompatybilność systemów kolejkowych Problemy z transferem plików Integracja użytkowników z systemem w sposób przezroczysty i wygodny jest niezbędna w celu osiągnięcia maksymalnych korzyści.
System Wirtualnych Użytkowników (VUS) Dotychczas użytkownik musiał posiadać oddzielne konto fizyczne na każdej maszynie js john jsmith jsmith System zarządzania zasobami + smith System Wirtualnych Użytkowników foo acc01
VUS dla Gridu Globus PBS
VUS dla Gridu Zbiór ogólnodostępnych kont, które mogą być przyporządkowane kolejnym zadaniom Możliwość zgłaszania zadań do innych maszyn i klastrów lokalnych Automatyczny transfer plików Uproszczona administracja kontami użytkowników Pełna informacja rozliczeniowa o wykorzystaniu kont
Architektura systemu V O IS V irtu a l O rg a n iza tio n In fo rm a tio n S ys te m W ebservice interface S torage subsystem V O IS V irtu a l O rg a n izatio n In fo rm a tio n S ys te m W ebservice interface S torage subsystem G rid N o d e G A M G lobus A uthorisation M odule G rid A ccounting P lug-in W ebservice interface S torage subsystem S A IS - S ite A c c o u n tin g In fo rm a tio n S ys te m W ebservice interface S torage subsystem V O IS V irtu a l O rg a n izatio n In fo rm a tio n S ys te m W ebservice interface S torage subsystem G rid N o d e G A M G lobus A uthorisation M odule G rid A ccounting P lu g-in W ebservice interface S torage subsystem S A IS - S ite A c c o u n tin g In fo rm a tio n S ys te m W ebservice interface S torage subsystem
Autoryzacja - przykład Clusterix VO hierarchy VO admins security policy TUC Cyfronet PSNC Scientists scientists operators programmers staff Lab_users Node admin security policy Grid Node Account groups guests common power login: login: login: login: login: login: login: login: login: login: login:
VUS: Podsumowanie Pozwala stworzyć produkcyjne środowisko gridowe Łączy lokalne i globalne polityki zarządzania kontami Redukuje narzuty na administrację Udostępnia pełną informację na temat wykorzystania zasobów Wspiera różnorodne scenariusze dostępu do Gridu dla użytkownika końcowego, właściciela zasobów, managera organizacji
Wykonanie zadania w systemie CLUSTERIX USER User Interface Portal SSH Session Server Virtual User Account System Broker - GRMS CDMS Globus PBS/Torque, SGE Checkpoint restart Grid
Bazowy scenariusz wykonywania zadań w systemie CLUSTERIX 1. Użytkownik zleca zadanie do systemu GRMS za pośrednictwem np. portalu, przekazując opis zadania GJD 2. GRMS wybiera optymalny zasób do uruchomienia zadania, zgodnie z opisem zadania (hardware/software) 3. VUS odpowiada za mapowanie uprawnień użytkownika (user credentials) na konta fizyczne w klastrach lokalnych 4. Transfer danych wejściowych i plików wykonywalnych (staging): a) dane wejściowe opisywane przy pomocy logicznego lub fizycznego pobierane są z systemu CDMS ( CLUSTERIX Data Management System) b) pliki wykonywalne, w tym również skrypty (GRMS + CDMS) 5. Wykonanie zadania 6. Po zakończeniu zadania wyniki przekazywane są do CDMS; wykorzystywane konta fizyczne są czyszczone przez VUS
Interfejs dostępowy: Portale gridowe Wymagania w stosunku do interfejsu dostępowego : - możliwość łatwego dostosowania do potrzeb użytkowników - wydajność - bezpieczeństwo Opracowano SSH Session Framework z następującymi właściwościami: - oparcie interfejsu GUI o interfejs command-line - wykorzystanie portletów GridSphere oraz parserów zdefiniowanych w języku XML - architektura rozproszona - łatwa adaptacja istniejących aplikacji do wykonywania w Gridzie - instalacja przezroczysta dla systemu gridowego (run-time) - niezawodność - wsparcie dla VRML, X3D, SVG, formatów graficznych (jpeg, png)
Aplikacje pilotowe Ponad 20 aplikacji użytkownika końcowego Wśród zaproponowanych aplikacji można wyróżnić następujące typy zadań: - zadania jednoprocesowe - sekwencja zadań jednoprocesowych - zadania równoległe uruchamiane na jednym klastrze lokalnym - sekwencja zadań równoległych uruchamianych na jednym klastrze lokalnym - meta-aplikacje rozproszone uruchamiane na więcej niż jednym klastrze lokalnym - MPICH-G2
Symulacje wielkiej skali przepływów krwi w mikrokapilarach (dyskretne modele cząstkowe) W.Dzwinel, K.Boryczko AGH, Institute of Computer Science
Powstawanie skrzepów krwi (5x10 6 cząstek, 16 procesorów)
Przewidywanie struktur białek Adam Liwo, Cezary Czaplewski, Stanisław aw Ołdziej Department of Chemistry, University of Gdansk
Selected UNRES/CSA results from 6th Community Wide Experiment on the Critical Assessment of Techniques for Protein Structure Prediction December 4-8, 2004 left - experimental structure, right - predicted structure
Symulacje przepływów w aeronautyce - autorskie oprogramowanie HADRON Prof. Jacek Rokicki Politechnika Warszawska
Symulacje wielkiej skali zagadnień 3D mechaniki płynów Projekt HiReTT (1999-2003) 3 6 x 10 6 węzłów 30 60 x 10 6 równań nielin.
Nano-Technologie Michał Wróbel, Aleksander Herman TASK & Politechnika Gdańska
XMD testing target: a planetary gear device containing 8297 atoms (C, F, H, N, O, P, S and Si) designed by K. E. Drexler and R. Merkle XMD - pakiet oprogramowania Open Source do symulacji zagadnień dynamiki molekularnej dla nano-urządzeń oraz nano-systemów
Pakiet NuscaS Politechnika Częstochowska Tomasz Olas olas@icis.pcz.pl Dziedziny zastosowań: różnorodne zjawiska termomechaniczne: przepływ ciepła, krzepniecie odlewów, naprężenia, pękanie odlewów na gorąco, itd.
Modelowanie krzepnięcia odlewów Siatka MES oraz jej dekompozycja
Scenariusze wykorzystania zasobów w środowisku gridowym Grid jako zbiór zasobów: broker zadań znajduje zasób (klaster lokalny) spełniający wymagania użytkownika, który zostaje wykorzystany do uruchomienia zadania Równoległe uruchomienie w środowisku gridowym (meta-aplikacja): standardowe równoległe zadanie obliczeniowe zostaje uruchomione na geograficznie odległych zasobach aplikacja dostosowuje się do środowiska Grid, na którym zostaje uruchomiona, w celu zwiększenia efektywności obliczeń
MPICH-G2 W systemie CLUSTERIX do uruchamiania meta-aplikacji wykorzystywane jest środowisko MPICH-G2 jako gridowa implementacja standardu MPI (wersja 1.1) Opiera się ona na Globus Toolkit, który służy do autoryzacji, tworzenia procesów i ich kontroli MPICH-G2 umożliwia połączenie wielu systemów komputerowych (klastrów), potencjalnie o o różnej architekturze, w celu uruchomienia aplikacji MPI W celu zwiększenia wydajności możliwe jest wykorzystan9ie lokalnych wersji MPI dostosowanych do konkretnych architektur sieciowych (np. MPICH-GM)
CLUSTERIX jako system heterogeniczny Hierarchiczna architektura systemu CLUSTERIX Złożoność zagadnienia przystosowania aplikacji do jej efektywnego wykonania w środowisku CLUSTERIX Konstrukcja komunikatora w MPICH-G2 może być wykorzystana w celu uwzględnienia hierarchicznej architektury systemu, umożliwiając adaptację zachowania aplikacji do właściwości takiej architektury
System NuscaS zrównoleglanie obliczeń
Równoległe rozwiązywanie układu równań (1) Zastosowano metodę sprzężonych gradientów Algorytm zaproponowany przez Meisela i Meyera z jednym punktem synchronizacji Zaimplementowano nakładanie się w czasie operacji obliczeniowych i komunikacyjnych
Równoległe rozwiązywanie układu równań (2)
Wyniki wydajnościowe (1)
Wyniki wydajnościowe (2)
Podsumowanie (1) W chwili obecnej pierwsza wersja oprogramowania zarządzającego dla systemu CLUSTERIX jest już dostępna Trwa intensywne testowanie modułów oprogramowania i ich współdziałania Demo na SC 05 Bardzo istotne dla nas: - przyciągnięcie perspektywicznych użytkowników z nowymi aplikacjami - włączenie nowych klastrów dynamicznych - działalność szkoleniowa
Podsumowanie (2) Pokazano że środowisko CLUSTERIX jest wydajną platformą do wykonywania obliczeń numerycznych Pełne wykorzystanie jego potencjału przez meta-aplikacje wymaga w większości przypadków uwzględnienia jego hierarchicznej struktury Plany na najbliższą przyszłość (NuscaS) - wersja równoległa systemu NuscaS 3D - checkpointing - wdrożenie kompleksowej aplikacji z równoległością na wielu poziomach przeznaczonej do modelowania pękania odlewów na gorąco
Hot Tearing modeling Solidification application (parallel application using MPI) Manager module Stress application (parallel application using MPI)... Microscopic application Microscopic Microscopic (sequential) application application Microscopic (sequential) (sequential) application (sequential)
Dziękuję za uwagę! www: https://clusterix.pl Roman Wyrzykowski roman@icis.pcz.pl