KLASTER SINGLE SYSTEM IMAGE W OBLICZENIACH NAUKOWO-INŻYNIERSKICH SINGLE SYSTEM IMAGE CLUSTER IN SCIENTIFIC ENGINEERING COMPUTATIONS

Podobne dokumenty
Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Rozbudowa dwóch posiadanych serwerów blade HP BL860c i2 do BL870c i2

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Klaster obliczeniowy

VMware vsphere 5.5: Install, Configure, Manage

Wstęp do Informatyki. Klasyfikacja oprogramowania

Komputery bezdyskowe - wprowadzenie

Działanie komputera i sieci komputerowej.

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

SKRó CONA INSTRUKCJA OBSŁUGI

etrader Pekao Podręcznik użytkownika Jak zacząć pracę z etrader Pekao?

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ I. JAK ZACZĄĆ PRACĘ Z ETRADER PEKAO? SPIS TREŚCI

Instalacja aplikacji

Sieciowe Systemy Operacyjne

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Tworzenie maszyny wirtualnej

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Algorytmy i Struktury Danych

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Tworzenie maszyn wirtualnych przy pomocy systemu FAI

Systemy zarządzania produkcją - MES

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

CENTRALNA KOMISJA EGZAMINACYJNA

DESlock+ szybki start

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

DHL CAS ORACLE Wymagania oraz instalacja

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

System Kancelaris. Zdalny dostęp do danych

WYKORZYSTANIE DYSTRYBUCJI SYSTEMU LINUX TYPU LIVECD DO BUDOWY KLASTRÓW OBLICZENIOWYCH

Systemy operacyjne. Paweł Pełczyński

Silent setup SAS Enterprise Guide (v 3.x)

Dni: 5. Opis: Adresaci szkolenia

VMware vsphere: Automation Fast Track

1. Etapy rozwoju systemów komputerowych

WZÓR UMOWY. Zawarta w Białymstoku, w dniu.. pomiędzy:

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

Seria wielofunkcyjnych serwerów sieciowych USB

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

Nazwa kwalifikacji: Montaż i eksploatacja komputerów osobistych oraz urządzeń peryferyjnych Oznaczenie kwalifikacji: E.12 Numer zadania: 06

1. INSTALACJA SERWERA

Cyfronet w CTA. Andrzej Oziębło DKDM

Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 4

Skrócony Poradnik Użytkownika

Seria wielofunkcyjnych serwerów sieciowych USB

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Wymagania techniczne infrastruktury IT potrzebne do uruchomienia i pracy ServiceDesk Plus

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

Instrukcja dla instalatora systemu SMDP Enterprise/Professional

Zarządzenie wchodzi w życie z dniem podpisania.

Wprowadzenie do informatyki

Wymagania systemowe oraz sposób instalacji systemu Lokale Spis treści

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Ważne: Przed rozpoczęciem instalowania serwera DP-G321 NALEŻY WYŁACZYĆ zasilanie drukarki.

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Zapytanie ofertowe nr 03/05/2014. Zakup licencji na oprogramowanie do wirtualizacji Działanie POIG 8.2

Materiały dodatkowe. Simulink Real-Time

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

ZAŁOŻENIA PROJEKTOWE I SPECYFIKACJA USŁUG

Dokumentacja techniczna SIS2-SAD

Serwer druku w Windows Server

Szczegółowy opis przedmiotu zamówienia

Instrukcja instalacji usługi Sygnity Service

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Załącznik nr 2. Przewodnik instalacyjny systemu e-broker Technologiczny v.1.0. Część 4 - Narzędzia informatyczne przeznaczone dla ośrodków innowacji

Licencjonowanie w środowiskach wirtualnych

MESco. Testy skalowalności obliczeń mechanicznych w oparciu o licencje HPC oraz kartę GPU nvidia Tesla c2075. Stanisław Wowra

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

PRZEWODNIK PO PRZEDMIOCIE

Sposób funkcjonowania

Opis przedmiotu zamówienia / Formularz Oferty Technicznej (dokument należy złożyć wraz z ofertą)

Zarządzanie rolami jakie może pełnić serwer System prosi o wybór roli jaklą ma spełniać serwer.

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

INSTALACJA I KONFIGURACJA SYSTEMU WINDOWS

Enterprise, czyli instytutowy klaster obliczeniowy

Monitorowanie wydajność w bazie Oracle11g

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

7. zainstalowane oprogramowanie zarządzane stacje robocze

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów.

VMware, QEMU, UML. oraz inne wirtualne maszyny. Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

INSTRUKCJA INSTALACJI

Nazwa kwalifikacji: Montaż i eksploatacja komputerów osobistych oraz urządzeń peryferyjnych Oznaczenie kwalifikacji: E.12 Numer zadania: 08

SUPERKOMPUTER OKEANOS BADAWCZE GRANTY OBLICZENIOWEWE

Sposoby zdalnego sterowania pulpitem

Transkrypt:

MARIUSZ KRAWCZYK KLASTER SINGLE SYSTEM IMAGE W OBLICZENIACH NAUKOWO-INŻYNIERSKICH SINGLE SYSTEM IMAGE CLUSTER IN SCIENTIFIC ENGINEERING COMPUTATIONS S t r e s z c z e n i e A b s t r a c t W artykule przedstawiono możliwości rozwiązań klastrowych z wykorzystaniem systemu Single System Image (SSI) na przykładzie klastra Kerrighed. Systemy SSI zarządzają zasobami w klastrze, tworząc wspólny obszar udostępniania zasobów, tj. dysk, pamięć, procesy. W ten sposób aplikacja działająca w klastrze nie widzi odrębnych węzłów klastra, ale jedną wspólną przestrzeń pamięci RAM, jeden system plików, jeden obszar adresacji zadań. Upraszcza to znacznie użytkowanie klastra. Słowa kluczowe: klaster wysokiej wydajności, Kerrighed, system single image The paper presents possibility of clustering solutions with the use of Single System Image (SSI) on example of Kerrighed cluster. SSI systems manage resources in a cluster by creating a common area to share resources as disk, memory, processes. In this solution, an application running in a cluster does not see the separate nodes of the cluster, but one consistent area of memory, file system and area of tasks addressing. This simplifies the use of cluster significantly. Keywords: high performance cluster, Kerrighed, single system image Mgr inż. Mariusz Krawczyk, Instytut Informatyki Stosowanej, Wydział Mechaniczny, Politech- nika Krakowska.

250 1. Wstęp Inżynierskie prace obliczeniowe wymagają korzystania z komputerów o dużych mocach obliczeniowych. Na komputerze klasy PC obliczenia trwają niejednokrotnie kilka godzin. Aby skrócić czas potrzebny na obliczenia, mamy dwa wyjścia wymienić komputer w miarę możliwości na jednostkę wydajniejszą lub wykorzystać klaster obliczeniowy zbudowany z tańszych, ale mniej wydajnych maszyn. Można wyróżnić kilka klas klastrów [4]: 1. Klaster wydajnościowy pracuje jako zespół komputerów, z których każdy wykonuje swoje zadanie w ramach większego zadania obliczeniowego. Buduje się je, aby zwiększyć moc obliczeniową. Większość współczesnych superkomputerów działa na tej zasadzie. 2. Klaster wysokiej niezawodności pracuje jako zespół komputerów dublujących swoje funkcje, w przypadku awarii jednego z węzłów inne węzły przejmują jego zadania. Buduje się je, aby zwiększyć niezawodność działania, np. Linux-HA. 3. Klaster równoważenia obciążenia pracuje jako zespół komputerów, z których każdy wykonuje swoje zadanie z puli zadań zleconych do wykonania na klastrze. Może wykonać zadanie samodzielnie lub współpracować z innymi węzłami. Innym podziałem klastrów jest podział na: aplikacyjne i systemowe typu Single System Image (SSI) rodzaj klastra w którym użytkownik widzi węzły klastra jako jeden system Klastry typu SSI ze względu na swoje cechy, takie jak: wspólna przestrzeń pamięci RAM, wspólny system plików i inne, wydaje się dobrym rozwiązaniem szczególnie tam, gdzie wymagane jest dużo pamięci RAM. W dalszej części artykułu przedstawione zostaną funkcje klastra SSI na przykładzie Kerrighed. Zaprezentowane zostaną wyniki prac wykonanych w trakcie instalacji i uruchomienia wyżej wymienionego klastra. 1.1. Klaster Single System Image Klastry typu SSI charakteryzują się kilkoma ważnymi cechami, do których należą np.: migracja procesów między węzłami, wspólna przestrzeń procesu co daje wrażenie, jakby procesy były uruchomione na jednej maszynie. Innymi ważnymi cechami klastrów typu SSI są: jednolity system plików realizowany przez serwer NFS lub współdzielenie pamięci masowych; jednolita przestrzeń wejścia/wyjścia (I/O), co umożliwia dostęp przez węzły do urządzeń znajdujących się na innych węzłach (np. taśmy, drukarki); mechanizm punktów kontrolnych (ang. checkpointing), który pozwala na zamrożenie procesu w aktualnym stanie i wykonanie go w przyszłości; jednolita przestrzeń komunikacji międzyprocesowej (ang. Inter Process Communication IPC). Tabela 1 zawiera zestawienie kilku przykładowych systemów klastra SSI wraz z ich możliwościami. Przedstawione w tabeli systemy klastrowe w więksości są to projekty open source rozwijane przez entuzjastów np. OpenMosix, które pojawiają się i obumierają. System Kerrighed jest wynikiem prac europejskiego międzynarodowego projektu badawczego i doczekał się kilku wdrożeń komercyjnych, dlatego należy wnioskować, że nastąpi dalszy rozwój tego systemu [3]. Kerrighed łączy w sobie elementy klastra wydajnościowego oraz realizuje funkcje SSI, wykorzystując tzw. Kontener [1, 3]. Kontener jest to lekka maszyna wirtualna udostęp-

251 niana przez jądro systemu węzła. System operacyjny węzła nie udostępnia funkcji Kerrighed, jedynie w kontenerze Kerrighed są dostępne: wspólna pamięć, wspólna przestrzeń IPC, wspólna przestrzeń procesu. Tylko procesy uruchomione w kontenerze mogą migrować między węzłami i moją dostęp do całej przestrzeni pamięci RAM we wszystkich węzłach klastra. Podczas startu klastra uruchamiany jest serwer SSH na porcie 2222 na każdym węźle, za pomocą którego dostajemy się do kontenera Kerrighed. Uruchamiając program w kontenerze korzystamy z funkcji SSI, natomiast jeżeli uruchomimy program w standardowy sposób, możemy jedynie wykorzystać mechanizmy przetwarzania równoległego, np. MPI. Właściwości systemów SSI zaimplementowane w różnych systemach klastrowych T a b e l a 1 OpenMosix OpenSSI Kerrighed Amoeba LinuxPMI Migracja procesów Tak Tak Tak tak Tak Checkpointing Tak Nie Tak Tak Tak Przestrzeń procesu Nie Tak Tak Tak Nie System plików Tak Tak Tak Tak Tak We/Wy Nie Tak Bd. Bd. Nie IPC nie Tak tak tak nie Rys. 1. Schemat budowy klastra Kerrighed [3] Fig. 1. Kerrighed cluster diagram [3] 2. Realizacja W trakcie prac przygotowujących do uruchomienia klastra opracowano wstępnie schemat klastra oraz przyjęto ilość i konfigurację sprzętową węzłów. Założenia te są potrzebne, aby określić maksymalną ilość procesorów oraz maksymalną ilość pamięci RAM. Informacja ta jest istotna w trakcie instalacji klastra i kompilacji jądra systemu. Wartości domyślne to 64 procesory oraz 16 GB RAM, jakie może obsłużyć jądro linuxa. Dość istotnym elementem instalacji jest przygotowanie systemu, który nie będzie brał udziału w pracy klastra, ale jest niezbędny do jego uruchomienia. System ten pełni rolę serwerów DHCP, TFTP oraz serwera NFS dla węzłów klastra. Bardzo ważne jest prawidłowe skonfigurowanie wyżej wymienionych usług. Przed uruchomieniem wymienionych

252 serwerów należy je skonfigurować tak, aby serwer DHCP wskazywał węzłom adres serwera TFTP oraz nazwę pliku z obrazem jądra Kerrighed. Kolejnym krokiem jest przygotowanie obrazu jądra oraz systemu plików dla węzłów. Potrzebne do tego będą nam odpowiednie narzędzia oraz kod źródłowy Kerrigheda. Podstawową czynnością jest zainstalowanie na serwerze NFS drzewa katalogów wraz z odpowiednio przygotowaną dystrybucją Linuxa. Jest to całkiem inna instalacja, niezwiązana w żaden sposób z już zainstalowaną wersją. W pierwszym podejściu zainstalowano Ubuntu 10.04 jako jedną z najnowszych dystrybucji jednak ze względu na zupełnie inny mechanizm startu systemu okazało się, że wersja ta nie działa poprawnie i należało wybrać inną dystrybucję. Po przeprowadzonej analizie dostępnych opracowań wybrano dystrybucję Debian 5.0 jako podstawowy system dla węzłów. Kolejnym bardzo ważnym krokiem jest kompilacja jądra systemu Linux. Na tym etapie konfigurujemy jądro, gdzie podajemy maksymalną ilość procesorów i pamięci RAM oraz obsługą niezbędnych urządzeń sieciowych. Należy również zainstalować odpowiednie poprawki Kerrighed ręcznie lub korzystając z odpowiednich skryptów automatyzujących ten proces. W ten sposób zbudowane jądro systemu należy przekopiować do odpowiedniego katalogu serwera TFTP, gdzie będzie widoczne dla każdego startującego węzła. Ostatnim krokiem przed uruchomieniem klastra jest edycja pliku /etc/fstab, w którym wpisujemy, że główny system plików jest montowany przez NFS oraz utworzenie dowiązań do skryptów startujących usługi związane z Kerrighed /etc/init.d/kerrighed-host. Rys. 2. Schemat dystrybucji systemu plików klastra Kerrighed [3] Fig. 2. Distribution scheme of Kerrighed cluster file system [3] Rys. 3. Schemat zbudowanego klastra Kerrighed (źródło: własne) Fig. 3. Scheme of Kerrighed cluster (source: own)

253 Dobierając komputery do klastra, należy pamiętać, aby możliwe było wystartowanie systemu przez kartę sieciową przy użyciu protokołu PXE, co w nowych komputerach jest raczej standardem. Po uruchomieniu klastra należy go zainicjować, służy do tego odpowiedni skrypt, który uruchamiany jest na jednym węźle klastra. Od tego momentu możemy wykorzystywać funkcje SSI po zalogowaniu się do kontenera Kerrighed. W ramach testów uruchomiono klaster składający się z 14 komputerów z procesorem Intel Core 2 Duo 3 GHz i 2 GB RAM, co dało nam w sumie dostęp do 28 procesorów z 28 GB RAM jako jeden system operacyjny. 3. Zastosowanie Kerrighed w aplikacjach inżynierskich Programy używane do obliczeń czy symulacji mają pewną właściwość wynikającą z zastosowanych algorytmów. Trudno jest zastosować algorytmy równoległego przetwarzania (np. MPI) lub co występuje częściej zapotrzebowanie na pamięć RAM jest tak duże, że przekracza zasoby pojedynczego węzła. Stosując klaster Kerrighed, sumujemy dostępną ilość pamięci RAM, jaka jest dostępna w poszczególnych węzłach. W ten sposób dość łatwo możemy udostępnić aplikacji większą ilość pamięci, dołączając dynamicznie kolejny węzeł klastra. Jednolita przestrzeń procesów pozwala na uruchamianie aplikacji, które nie są przystosowane do środowiska klastrowego. Należy podkreślić, że stosując system operacyjny dostępny przez NFS, nie instalujemy żadnego oprogramowania na węzłach, co pozwala na wykorzystanie do pracy w klastrze komputerów, które pełnią inną rolę, a w danym czasie nie są używane, np. komputery w laboratorium po godzinach zajęć. Na klastrze zainstalowano pakiet programów Ansys i wykorzystując wbudowane funkcje, przeprowadzono testy porównawcze czasów trwania obliczeń przykładowego projektu w programie CFX. Testy były przeprowadzone dla tego samego projektu na jednej maszynie oraz na klastrze składającym się z 6 węzłów przy większej liczbie węzłów następowało awaryjne zamknięcie obliczeń. Jak zaobserwowano, ilość węzłów działających w klastrze nie wpływa na przyspieszenie obliczeń, a jedynie na ilość procesów wykorzystywanych do obliczeń. 4. Wnioski Klaster Kerrighed jest prosty w użytkowaniu dzięki zastosowaniu funkcji SSI. Sposób zarządzania procesami jest jednolity i nie wprowadza konieczności stosowania specjalnych narzędzi do zarządzania nimi. Cała pamięć RAM zsumowana z wszystkich węzłów jest dostępna dla procesu, co nie jest możliwe przy zastosowaniu typowych klastrów wydajnościowych. Aplikacja nie jest świadoma iż działa w klastrze, pozwala to na uruchomienie aplikacji, które nie są przystosowane do obliczeń w klastrze muszą być natomiast przystosowane do działania na wielu rdzeniach. Cechy te powodują, że zadania które wymagają szczególnie dużo pamięci RAM mogą być uruchamiane na kilku węzłach bez specjalistycznej wiedzy. Kłopotem w instalacji jest odpowiednie skonfigurowanie jądra Kerrighed tak, aby zawierało potrzebne sterowniki, zwłaszcza do kart sieciowych w węzłach oraz przygotowanie systemu plików NFS, co nie jest zadaniem łatwym.

254 Klaster Kerrighed posiada niewątpliwe zalety, które czynią go łatwym w zarządzaniu. Posiada również pewne ograniczenia jak zauważono, nie w każdym przypadku występowała automatyczna migracja procesu do węzła mniej obciążonego. Innym ograniczeniem jest budowa klastra SSI, w którym najmniejszą jednostką jest proces, co powoduje, iż aplikacje składające się z wielu procesów będą mogły wykorzystać dodatkowe zasoby, natomiast aplikacje monolityczne składające się z jednego procesu będą działały na jednym węźle bez przyspieszenia obliczeń. L i t e r a t u r a [1] V a l l é e G., L o t t i a u x R., R i l l i n g L., B e r t h o u J.Y., M a l h e n I.D., M o r i n Ch., D o n g a r r a J., T o u r a n c h e a u B., A Case for Single System Image Cluster Operating Systems: The Kerrighed Approach, Parallel Processing Letters, Vol. 13, issue 2, Jun 2003, 28, 95. [2] G a l l a r d P., M o r i n Ch., Dynamic Streams for Efficient Communications Between Migrating Proceses in a Cluster, Parallel Processing Letters, vol. 13, issue 4, December 2003, 601-614. [3] Kerrighed Single System Image (www.kerrighed.org). [4] C o u l o u r i s G., D o l l i m o r e J., K i n d b e r g T., Distributed systems Concepts and Designe, Pearson Education Limited, England 2005.