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

Podobne dokumenty
Wprowadzenie do obsługi systemów obliczeniowych PCSS

Efektywne wykorzystanie klastra Zeus w obliczeniach naukowych

Skrócony Poradnik Użytkownika

Wykorzystanie klastra Wydziału Informatyki PB do prowadzenia własnych obliczeń. Wojciech Kwedlo Wydział Informatyki PB

Architektura, oprogramowanie i uytkowanie klastra PCSS. Marek Zawadzki <mzawadzk@man.poznan.pl>

Podstawy pracy w ICM

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

Pracownia Technik Obliczeniowych

Bartosz Bosak Piotr Kopta Tomasz Piontek

Uruchamianie zadań w środowisku CLUSTERIX z wykorzystaniem klienta tekstowego systemu GRMS

Klaster obliczeniowy

Efektywne wykorzystanie klastra Zeus w obliczeniach wykonywanych pakietem Blender. Maciej Czuchry, Klemens Noga

Wirtualizacja zasobów IPv6 w projekcie IIP

Pojęcia podstawowe. Oprogramowanie systemów równoległych i rozproszonych. Wykład 1. Klasyfikacja komputerów równoległych I

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Dni: 5. Opis: Adresaci szkolenia

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS

Algorytmy i Struktury Danych

Użytkowanie systemów obliczeniowych PCSS Artur Trojanowski

Migracja obliczeń na system Hydra

Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska

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

Podstawy systemu kolejkowego SLURM

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

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

Stacja robocza TYP1A Zał. 8.1, pkt. 1.1) 2. Monitor LCD 21.3 Zał. 8.1, pkt. 1.1) 2. Zasilacz awaryjny UPS Zał. 8.1, pkt. 1.1) 2

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Usługi i narzędzia QCG

Programowanie współbieżne Wykład 2. Iwona Kochańska

INSTRUKCJA ZARZĄDZANIA SYSTEMEM INFORMATYCZNYM 20

Niezawodne usługi outsourcingowe na przykładzie usług kampusowych i Krajowego Magazynu Danych w sieci PIONIER

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Administracja systemem Linux

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Szczegółowy opis przedmiotu zamówienia

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

wiczenia MPI-2 Mirosław Kupczyk PCSS,

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne.

Instalacja programu dreryk

Systemy rozproszone System rozproszony

Wstęp do systemu Linux

61 Topologie wirtualne

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

dr inŝ. Michał Tomaszewski Wydział Elektrotechniki, Automatyki i Informatyki Politechnika Opolska

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

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni

Usługi utrzymaniowe infrastruktury SI PSZ

Podstawowe pojęcia dotyczące sieci komputerowych

Enterprise, czyli instytutowy klaster obliczeniowy

Spis treści. O autorze 9. O recenzentach 10. Przedmowa 13. Rozdział 1. Oto Linux Mint 17_

Serwerowy system operacyjny musi spełniać następujące wymagania minimalne:

MODELOWANIE MATERIAŁÓW I PROCESÓW

ZAŁOŻENIA PROJEKTOWE I SPECYFIKACJA USŁUG

Monitorowanie wydajność w bazie Oracle11g

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

str. 1 Informacja o zmianie treści specyfikacji istotnych warunków zamówienia Oświęcim, dnia r.

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Komputery Dużej Mocy w Cyfronecie. Andrzej Oziębło Patryk Lasoń, Łukasz Flis, Marek Magryś

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

Materiały dodatkowe. Simulink Real-Time

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

edziennik Ustaw Opis architektury

Instytut Teleinformatyki

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

Opis przedmiotu zamówienia. Część IV. Dostawa niewyłącznej, nieograniczonej czasowo licencji oprogramowania Microsoft Serwer 2012 R2 DataCenter x64.

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Tworzenie oprogramowania

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

Zasady licencjonowania dostępu (CAL / EC)

10.2. Udostępnianie zasobów

Systemy operacyjne. Paweł Pełczyński

Win Admin Replikator Instrukcja Obsługi

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

CENTRALNA KOMISJA EGZAMINACYJNA

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Instalacja Wirtualnego Serwera Egzaminacyjnego

DOKUMENTACJA ADMINISTRATORA SYSTEMU INFORMATYCZNEGO POLSKI FADN

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

VMware vsphere 5.5: Install, Configure, Manage

PREMIUM BIZNES zł 110zł za 1 Mb/s Na czas nieokreślony Od 9 14 Mbit/s

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Opracował: Jan Front

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Sieciowe Systemy Operacyjne

7. zainstalowane oprogramowanie zarządzane stacje robocze

ZAPYTANIE OFERTOWE NR PLCRC/ /06/2152/2014

Transkrypt:

Wykład 4 p. 1/14 Obliczenia równoległe w zagadnieniach inżynierskich Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska

Klastry Wykład 4 p. 2/14 Idea klastra obliczeniowego stanowi rozszerzenie idei sieci stacji roboczych (Network Of Workstations - NOW ). Pod względem sprzętowym oba składaja się z pewnej liczby komputerów (stacji roboczych) połaczonych siecia komunikacyjna (najczęściej z wydzielonym węzłem zarzadzaj acym). Różnica polega na logicznej reprezentacji systemu: w przypadku sieci stacji roboczych każda maszyna widziana jest jako niezależny system i fakt ten musi znaleźć odbicie w stosowanych tam rozwiazaniach programistycznych. W przypadku klastra natomiast pojedyncze maszyny stanowia część wirtualnego komputera udostępnionego dla użytkowników w sposób analogiczny do rzeczywistych superkomputerów.

Klasyfikacja klastrów Wykład 4 p. 3/14 Jedna z podstawowych metod klasyfikacji klastrów stanowi podział na: klastry wysokiej wydajności lub obliczeniowe (high performance clusters), klastry wysokiej dostępności (high availability clusters).

Klastry obliczeniowe Wykład 4 p. 4/14 W przypadku klastrów obliczeniowych głównym celem twórców jest osiagnięcie jak najwyższej maksymalnej wydajności maszyny równoległej. Powoduje to stosowanie komponentów o najlepszych, pod względem szybkości, parametrach, wykorzystanie dedykowanych sieci komunikacyjnych oraz bazowanie na zabezpieczeniach programowych w zakresie stabilności pracy wirtualnego komputera.

Klastry wysokiej dostępności Wykład 4 p. 5/14 Klastry wysokiej dostępności wykorzystywane sa w zadaniach wymagajacych niezwykle wysokiej niezawodności i gwarancji nieprzerwanej pracy komputera. Często komponenty stosowane w nich należa do starszych generacji, majacych za soba długi okres testów i udoskonaleń oraz gwarantujacych bezawaryjna współpracę z warstwa programowa. Powszechnie spotykana praktyka jest również wykonywanie pojedynczego zadania jednocześnie przez wiele węzłów klastra, co umożliwia łatwe wykrycie przekłamań w wynikach generowanych przez wadliwa jednostkę jak również natychmiastowe zastapienie jej przez inna, należac a do tej samej grupy. Praktykowane jest również pozostawienie grupy maszyn nieprzydzielonych do żadnego zadania jako zabezpieczenia w przypadku poważniejszej awarii. Typowym przykładem zastosowania klastrów wysokiej dostępności sa serwery internetowe oraz systemy zarzadzaj ace przedsiębiorstwami.

Architektura klastrów obliczeniowych (I) Wykład 4 p. 6/14 Aplikacje równoległe Aplikacje sekwencyjne Środowisko do programowania równoległego Warstwa pośrednia klastra (Obraz pojedynczego systemu, Infrastruktura dostępowa) Stacja robocza Stacja robocza Stacja robocza Stacja robocza Stacja robocza AM AM AM AM AM Interfejs sieciowy Interfejs sieciowy Interfejs sieciowy Interfejs sieciowy Interfejs sieciowy Sieć o wysokiej wydajności

Dostęp do zasobów obliczeniowych Wykład 4 p. 7/14 W większości przypadków dostęp do zasobów obliczeniowych realizowany jest w oparciu o poniższe zasady: Dostęp do zasobów obliczeniowych jest możliwy jedynie poprzez ssh. W przypadku klastrów użytkownicy loguja się na węzeł dostępowy z którego zgłaszaja zadanie do wykonania na węzłach obliczeniowych (nie można się bezpośrednio zalogować na węzły obliczeniowe). Katalogi domowe użytkowników HOME znajduja się na specjalnie do tego celu przeznaczonych zasobach dyskowych (np. macierzy dyskowej) lub na jednym z dysków węzła dostępowego. W przypadku węzłów obliczeniowych jest on montowany poprzez sieciowy system plików (np. NFS). Pozostałe katalogi (np. /tmp sa lokalne dla węzłów). Na każdym węźle klastra ścieżka do katalogu domowego HOME jest taka sama (/home/nazwa_konta).

Wykład 4 p. 8/14 System kolejkowy Zadania moga być uruchamiane na klastrze tylko poprzez system kolejkowy. Wykonywanie obliczeń z pominięciem systemu kolejkowego nie jest dozwolone. Zasada działania systemu kolejkowego: System przyjmuje zadania od użytkowników i umieszcza je w tzw. kolejce, w której czekaja aż do wykonania. Umożliwia zarzadzanie zadaniami (usuwanie, przerywanie, wznawianie). Po zakończeniu wykonania zadania informacja o tym może być przesłana użytkownikowi. Pozwala na optymalne wykorzystanie mocy obliczeniowych i pamięci komputera.

Torque Resource Manager Wykład 4 p. 9/14 W chwili obecnej bardzo często (szczególnie w mniejszych ośrodkach obliczeniowych) do zarzadzania zasobami obliczeniowymi jest używany system Torque. System ten bazuje na oprogramowaniu PBS (Portable Batch System) i jest rozwijany jako projekt OpenSource. Z punktu widzenia użytkownika praktycznie nie różni się od innych odmian systemu PBS. Podstawowe komendy systemu to: qsub - wstawia zadanie do kolejki, qstat - umożliwia wyświetlenie informacji o kolejkach i zadaniach, qdel - usuwa zadania z kolejki.

qsub Wykład 4 p. 10/14 Polecenie qsub służy do wstawiania zadań do systemu kolejkowego. Można to zrealizować na dwa sposoby: Sposób pierwszy, najprostszy, z wykorzystaniem wyłacznie polecenia qsub: $ echo polecenie_do_wykonania_i_jego_opcje qsub [opcje_dla_qsub] Sposób drugi, z wykorzystaniem skryptu startowego: Należy utworzyć skrypt startowy, który uruchamia zadanie. Skrypt taki może, obok uruchomienia zadania i przekazania dodatkowych argumentów dla qsub, zadbać również np. o utworzenie plików tymczasowych: #!/bin/bash (można skorzystać również z innego interpretera) #PBS (parametry_dla_qsub)... polecenia_do_uruchomienia... Następnie należy wstawić zadanie do kolejki: $ qsub [opcje_dla_qsub] nazwa_skryptu

Wykład 4 p. 11/14 Wybrane parametry polecenia qsub parametr opis przykład -N określa nazwę zadania -N obliczenia1 -q definiuje kolejkę do której dodajemy zadanie -q queue_name -I wykonuje zadanie interaktywne -q queue_name -o określa plik do którego przekierowane zostanie standardowe -o obliczenia1.out wyjście -e jak wyżej, ale dla stderr -e comp01job.err -l definiuje zasoby wymagane przez zadanie (wymagania odnośnie zasobów oddzielone sa przecinkami), np: nodes=limit - dla zadań równoległych określa na ilu węzłaach i procesorach zadanie ma zostać wykonane walltime=limit - maksymalna długość działania zadania od momentu jego uruchomienia mem=limit - limit pamięci operacyjnej -l nodes=2:ppn=2 -l walltime=00:00:60 -l mem=128mb Przykład: $ qsub -l nodes=2,walltime=10:00 zadanie1

Wykład 4 p. 12/14 qsub - przykładowy skrypt startowy # interpreter skryptu: #PBS -S /bin/tcsh # ustawienia limitów zasobów #PBS -l nodes=1 #PBS -l walltime=24:00:00 #PBS -l mem=100mb #PBS -N my_simple_job # ustaw nazwę zadania rm my_simple_job.o* rm my_simple_job.e* cd fortran rm./*.out # skasuj poprzednio wygenerowane pliki # zmień katalog # skasuj zbędne pliki f77 simple.f./a.out >> simple.out # uruchom kompilację # uruchom program z przekierowaniem wyników

Wykład 4 p. 13/14 Kontrola i monitorowanie zadań Zadanie identyfikowane jest w systemie kolejkowym na podstawie swojego identyfikatora zadania, które jest zwracane jako wynik działania polecenia qsub: $ echo sleep 10 qsub 1512.eltoro.pcz.pl Stan zadania i kolejki można sprawdzić poleceniem qstat: qstat qstat -n qstat -q qstat -r qstat -f jobid lista zadań w kolejkach lista zadań w kolejkach z podaniem na jakim węźle liczy się każde zadanie lista kolejek lista uruchomionych zadań (status running) obszerna informacja o zadaniu o identyfikatorze jobid Aby skasować wstawione do systemu zadanie należy użyć polecenia qdel: $ qdel identyfikator_zadania

Wykład 4 p. 14/14 Uruchamianie zadań - MPI #!/bin/bash #! program zostanie uruchomiony na 5 węzłach przez jedną godzinę, #! wymaga 512MB pamięci RAM na każdym węźle #! można również dokładnie wskazać węzły, np: -l nodes=eltoro02+eltoro05,... #PBS -l nodes=5,walltime=01:00:00,mem=512mb #PBS -o myprogram.log #PBS -e myprogram.err #! Liczba procesów MPI jakie mają zostać uruchomione #! i pełna ścieżka do programu NO_TASKS=5 PROGRAM_PATH=$HOME/myprogram lamboot $PBS_NODEFILE mpirun -np $NO_TASKS $PROGRAM_PATH wipe $PBS_NODEFILE