System Użytkowników Wirtualnych Paweł Wolniewicz Norbert Meyer Maciej Stroiński
Agenda Krajowy klaster obliczeniowy Problemy tworzenia klastrów Cechy systemu użytkowników wirtualnych Przepływ zadania w systemie Elementy systemu Stan obecny i przyszły
Klaster krajowy - założenia (1/2) Równoważenie obciążenia w skali kraju Dostosowanie architektury do specyfiki rozwiązywanego problemu Wprowadzenie trybu pracy wsadowej z możliwością uruchamiania zadań interakcyjnych Zwiększenie poziomu bezpieczeństwa lokalnych zasobów komputerowych klastra krajowego wdrożenie polityki bezpieczeństwa
Klaster krajowy - założenia (2/2) Zarządzanie użytkownikami uproszczenie administracji wykorzystanie zasobów (accounting) zaufanie pomiędzy ośrodkami KDM Dedykowane serwery aplikacji Prostota obsługi elastyczność skalowalność obciążenia łatwa i szybka rozbudowa konfiguracji
POL-34 Krajowy Klaster Obliczeniowy System Użytkownikow Wirtualnych Gdańsk Białystok Szczecin Automatyczna archiwizacja POL-34 Poznań Łódź Wrocław Gliwice Dedykowane serwery Rozproszone obliczenia
Korzyści z krajowego klastra Można rozwiązać większe problemy Krótszy czas obliczeń Lepsze wykorzystanie superkomputerów 150% 120% 30% 10% 100%
Klaster Krajowy - Możliwości System kolejkowy w realizowanej dotychczas konfiguracji umożliwia grupie użytkowników wykonywanie obliczeń za pomocą aplikacji własnych oraz pakietów gotowych Użytkownik nie martwi się o wybór maszyny najbardziej odpowiadającej wymaganiom przedłożonego zadania Transfer plików wejściowych i wyjściowych odbywa się za pomocą mechanizmów dostarczonych przez system kolejkowy Wsparcie dla zadań wsadowych i interaktywnych Do chwili zainstalowania Systemu Użytkowników Wirtualnych użytkownicy chcący korzystać z rozproszonych obliczeń muszą posiadać konta na zdalnych maszynach
Problemy związane z klastrem Zarządzanie kontami użytkowników Transfer plików Bezpieczeństwo i autoryzacja dostępu Rozliczanie użytkowników
System Użytkowników Wirtualnych Ukrycie złożoności systemu rozproszonego System Kolejkowy + System Użytkowników Wirtualnych
System Użytkowników Wirtualnych Ułatwienie zarządzania użytkownikami w skali kraju Możliwość rozliczania całkowitego czasu wykorzystywanego przez użytkowników na systemach zdalnych Uproszczone dodawanie nowych systemów obliczeniowych (skalowalność) Interfejs do innych systemów kolejkowych
Ułatwienie zarządzania użytkownikami w skali kraju Wydzielona liczba użytkowników wirtualnych Decyzja o nadaniu praw na obliczenia zdalne należy do administratora lokalnego Rozwiązanie problemu administracji i zarządzania spójnością kont w skali kraju (ID, powielanie kont, usuwanie, modyfikacje)
Globalne rozliczanie wykorzystanych zasobów Możliwość rozliczania całkowitego czasu wykorzystywanego przez użytkowników na systemach zdalnych Dane przechowywane w bazie danych Oracle Dostęp do rozliczeń dla każdego z administratorów
Uproszczone dodawanie nowych systemów obliczeniowych Skonfigurowanie kolejek LSF Instalacja systemu użytkowników wirtualnych Ewentualne dodanie do bazy praw dla użytkowników dołączanej maszyny
Interfejs do innych systemów kolejkowych Rozszerzenie bramki LSF -> NQE o możliwość kopiowanie plików Bramka LSF -> LoadLeveler Możliwość dodania bramki do innych systemów kolejkowych LSF LL NQE
Klaster maszyn obliczeniowych Architektura systemu Użytkownik System Użytkowników Wirtualnych System Kolejkowy Klaster maszyn obliczeniowych System 1 System 2 System N System użytkowników wirtualnych wirtualncyh ...
Wykonanie zadania - krok 1 Użytkownik zlecający zadanie do systemu użytkowników wirtualnych korzysta ze specjalnie opracowanych poleceń, które funkcjonalnie odpowiadają tym spotykanym w popularnych systemach kolejkowania zadań (qsub, bsub itp.).
Wykonanie zadania - krok 2 Program dokonuje modyfikacji podanego skryptu i zleca jego wykonanie systemowi kolejkowemu. Zadanie zostaje wprowadzone do systemu kolejkowania przy użyciu konta Virtual Users Managera. Do skryptu dodawane są na początku polecenia związane z zarządzaniem zadaniem.
Wykonanie zadania - krok 3 System kolejkowy wyszukuje najmniej obciążony system i przekazuje do niego zadanie.
Wykonanie zadania - krok 4 Na wybranej przez system kolejkowy maszynie uruchamiany jest program zarządzający, który znajduje wolne wirtualne konto i uruchomia zadania z prawami właściciela wybranego konta Serwer wirtualnych użytkowników zostaje poinformowany o mappingu z użytkownika rzeczywistego na wirtualnego Pliki danych użytkownika kopiowane są na lokalną maszynę
Wykonanie zadania - krok 5 Po zakończeniu zadania dane o czasie rozpoczęcia i zakończenia przesyłane są do serwera użytkowników wirtualnych. Pliki z wynikami wracają na konto użytkownika zlecającego zadanie.
Wykonanie zadania - krok 6 Podczas okresowego przeprowadzania rozliczenia na lokalnych maszynach (standardowo raz dziennie), rozliczenia dotyczące użytkowników wirtualnych zostają przesłane do centralnej bazy danych. Tam dzięki zapisanemu wcześniej odwzorowaniu użytkowników wirtualnych na użytkowników rzeczywistych system przypisuje wykorzystanie zasobów danego systemu do odpowiedniego zadania.
Queuing System Interface Queuing System Executive Client User Machine Log Manager User Interface Queuing System Interface Server Machine File Transfer Queuing System Server Execution Machine Virtual Users Server File Transfer Queuing System Executive Client Virtual Users Manager JOB Log Manager
Wykonanie zadania w innym systemie kolejkowym Wykonanie zadanie jest dla użytkownika transparentne, niezależnie na jakim systemie kolejkowym będzie uruchomione zadanie. Zamiast do zarządcy użytkowników wirtualnych zadanie jest kierowane do modułu Gate. Z definicji kolejki do której trafiło zadanie jasno wynika do którego zdalnego systemu zadanie ma zostać przesłane. Dzięki tej informacji po uruchomieniu programu Gate zadanie użytkownika zostaje wysłane do odpowiedniego modułu OSM (Other System Module). Program ten zleca wsad dalej do docelowego systemu kolejkowania zadań. Dalszy przebieg zadania jest identyczny z tym przedstawionym wcześniej. Dzięki jednoznacznie i ogólnie zdefiniowanemu interfejsowi GATE – OSM dołączenie nowych systemów kolejkowania zadań, wymaga tylko napisania nowego modułu OSM.
JOB Other System Module GATE File Transfer Log Manager Queuing System Server Queuing System Interface Queuing System Executive Client Queuing System Server GATE File Transfer Log Manager Queuing System Executive Client Virtual Users Manager JOB Virtual Users Server Log Manager
Struktura systemu System kolejkowy LSF Podmienione komendy dołączania zadań do systemu i odczytywania stanu kolejek Konto managera użytkowników wirtualnych ze specjalnym programem zarządzającym zadaniem Pula kont użytkowników wirtualnych na każdej z dołączonych maszyn Serwer użytkowników wirtualnych zapewniający globalną translację nazw kont i zliczenie wykorzystanego czasu procesora oraz autoryzujący dostęp użytkowników do systemu Programy dodatkowe, zapewniające pełną funkcjonalność systemu
Interfejs użytkownika Polecenia do zarządzania zadaniami dodanie, usunięcie, wyświetlenie statusu Interfejs identyczny z poleceniami systemu kolejkowego Informacje dotyczą użytkowników rzeczywistych (na podstawie bazy danych) Możliwość specyfikacji aplikacji
Zarządca użytkowników wirtualnych Konto zarządcy użytkowników wirtualnych na każdym systemie Jest właścicielem wszystkich zadań w kolejkach. Wyszukuje wolne konto użytkownika wirtualnego Zapisuje mapping użytkownika do bazy danych Zbiera informacje rozliczeniowe
Konta użytkowników wirtualnych Pula identyfikatorów użytkowników wirtualnych Dla celów bezpieczeństwa - brak możliwości logowania Ilość kont reguluje obciążenie systemu
Serwer użytkowników wirtualnych Powiązanie użytkowników systemu z wykonywanymi w systemie zadaniami Autoryzację dostępu użytkowników do konkretnych kolejek Zbieranie i obrabianie informacji dotyczących rozliczania
Stan bieżący Testy w ramach systemów PCSS, Stan implementacji - działa w podstawowej formie Systemy SGI Interfejs do NQE (Cray) i LL (SP2)
Kolejne kroki Graficzny interfejs użytkownika Podniesienie bezpieczeństwa Możliwość wprowadzania zadań do systemu z innych systemów kolejkowych, w szczególności NQE i LL Obsługa zadań równoległych