Krajowy Klaster Linuxowy CLUSTERIX jako platforma gridowa do obliczeń wielkiej skali Roman Wyrzykowski Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska.
Download ReportTranscript Krajowy Klaster Linuxowy CLUSTERIX jako platforma gridowa do obliczeń wielkiej skali Roman Wyrzykowski Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska.
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 • 3000 km (docelowo 6000 km) • Transport: Cisco 15808 (max. 40 kanałów @ 10Gbit/s) • ADVA (max 32 kanały @ 10 Gb/s) • 4 lambdy (10G Ethernet LAN PHY): • 1 lambda (10GEth LAN PHY ) - sieć przełączanego Ethernetu 10Gbit/s (usługi typu LAN i połączenia na poziomie 1Gbit/s) • TAK - krajowa sieć IP • TAK - połączenie dla projektów badawczych (projekty obliczeniowe, teleprezencja itp.), • TAK Internet2 – eksperymentalna dla badań nad nowymi usługami sieciowymi • 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 32i 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 Realizowane zadania • Utworzenie środowiska produkcyjnego – – – • Rozwój oprogramowania narzędziowego – – – – – – – • Dostarczenie narzędzi i mechanizmów pozwalających na dynamiczną i automatyczną rekonfigurację infrastruktury Umożliwi dołączanie kolejnych klastrów lokalnych 32- lub 64bitowych Instalacja pilotowa stanowi bazową infrastrukturę szkieletową połączoną siecią PIONIER 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 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) 252 x IA-64 w szkielecie Gdańsk Szczecin Białystok Poznań Zielona Góra Warszawa Łódź Wrocław Lublin Częstochowa Opole Kraków 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 Local Switch PIONIER Backbone Switch Internet Komunikacja za pośrednictwem routera/firewalla System Monitorujący automatycznie wykrywa nowe zasoby Clusterix Core Nowe klastry udostępniają moc obliczeniową dla użytkowników Router Firewall Dynamic Resources Dołączenie klastra dynamicznego Access node Access node Nodes Nodes Local switch Internet Firewall/ router Struktura wewnętrzna klastra dynamicznego – nieistotna z punktu widzenia procesu dołączania Istotny – publiczny węzeł dostępowy Switch Monitoring system Backbone network DYNAMIC CLUSTER 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 Interface Virtual User Account System Broker - GRMS Portal CDMS Globus SSH SSHSession Session Server Server PBS/Torque, SGE Checkpoint restart USER 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 Główne Grid !!! (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 john js jsmith jsmith foo System zarządzania zasobami acc01 + smith System Wirtualnych Użytkowników 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 VOIS – Virtual Organization Information System Webservice interface Grid Node GAM – Globus Authorisation Module Storage subsystem Plug-in Grid Accounting SAIS- Site Accounting Information System Webservice interface Storage subsystem Webservice interface VOIS – Virtual Organization Information System Storage subsystem Webservice interface Storage subsystem SAIS- Site Accounting Information System VOIS – Virtual Organization Information System Webservice interface Grid Node GAM – Globus Authorisation Module Plug-in Storage subsystem Grid Accounting Webservice interface Storage subsystem Webservice interface Storage subsystem Autoryzacja - przykład Clusterix TUC Cyfronet Scientists scientists operators PSNC programmers staff Grid Node guests login: login: login: common login: login: login: login: login: login: power login: login: Lab_users 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 Interface Virtual User Account System Broker - GRMS Portal CDMS Globus SSH SSHSession Session Server Server PBS/Torque, SGE Checkpoint restart USER 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 (5x106 cząstek, 16 procesorów) Przewidywanie struktur białek Adam Liwo, Cezary Czaplewski, Stanisł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) 36 x 106 węzłów 3060 x 106 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 [email protected] 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 application (sequential) Microscopic application (sequential) Microscopic application (sequential) (sequential) Dziękuję za uwagę ! www: https://clusterix.pl Roman Wyrzykowski [email protected]