Enterprise, czyli instytutowy klaster obliczeniowy



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

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

Klaster obliczeniowy

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

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej

Obliczenia rozproszone MPI

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

O superkomputerach. Marek Grabowski

PLD Linux Day. Maciej Kalkowski. 11 marca Wydziaª Matematyki i Informatyki UAM

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1

Obliczenia rozproszone MPI

Programowanie Współbieżne

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Wprowadzenie do obsługi systemów obliczeniowych PCSS

Pakiet Deino MPI jako środowiska programowania równoległego Instalacja i konfiguracja pakietu

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1

HPC na biurku. Wojciech De bski

Sosnowiec, dn... Imię i nazwisko...

Programowanie współbieżne i rozproszone

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011

Cyfronet w CTA. Andrzej Oziębło DKDM

Klaster do obliczeń równoległych Centrum Fizyki Teoretycznej PAN v1.1

Wstęp do programowania

Skrócony Poradnik Użytkownika

Systemy operacyjne III

Logowanie z zewnątrz. Np. Program PUTTY, SSH

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

II.1.1) Nazwa nadana zamówieniu przez zamawiającego: dostawa oprogramowania komputerowego z podziałem na 4 części.

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Sieci Komputerowe 2 / Ćwiczenia 1

Migracja obliczeń na system Hydra

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

Kompilacja i uruchamianie zadań na klastrach Perszeron i Mustang.

ZAAWANSOWANE WYKORZYSTANIE KLASTRÓW OBLICZENIOWYCH

Wsparcie dla OpenMP w kompilatorze GNU GCC Krzysztof Lamorski Katedra Informatyki, PWSZ Chełm

Tworzenie oprogramowania

Opracowanie obserwacji satelitarnych GPS/GLONAS w klastrowych systemach superkomputerowych

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

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

Konsolidacja. OPITZ CONSULTING Kraków

Dr inż. hab. Siergiej Fialko, IF-PK,

Instalacja środowiska MPI w systemie operacyjnym Linux

Programowanie współbieżne Wykład 11 Wprowdzenie do MPI. Rafał Skinderowicz

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Algorytmy i Struktury Danych

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

Bartosz Bosak Piotr Kopta Tomasz Piontek

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

Programowanie w modelu przesyłania komunikatów specyfikacja MPI. Krzysztof Banaś Obliczenia równoległe 1

Efektywne wykorzystanie klastra Zeus w obliczeniach naukowych

Podstawy systemu kolejkowego SLURM

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

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

Programowanie współbieżne... (4) Andrzej Baran 2010/11

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Seminarium Zakładowe IDSS. Równoległe obliczenia metaheurystyczne z wykorzystaniem klastra obliczeniowego

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

Część 4 życie programu

Klaster do obliczeń równoległych Centrum Fizyki Teoretycznej PAN v1.2

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

Raport Hurtownie Danych

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Nowy model subskrypcji, dobór produktów Red Hat i JBoss. Grzegorz Niezgoda

Programowanie w standardzie MPI

Przykład MPI: zbiór Mandelbrota

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

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

PRZEWODNIK PO PRZEDMIOCIE

Programowanie współbieżne... (2)

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

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

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014

Instalacja, aktualizacja i migracja do Windows 7

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

Instrukcja aplikacji R-Quick

Maciej Roszkowski Wirtualny klaster komputerowy jako narzędzie optymalizacji wydajności infrastruktury technicznej społeczeństwa informacyjnego

Wstęp do Programowania, laboratorium 02

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Pobieranie argumentów wiersza polecenia

Aplikacje w Javie- wykład 11 Wątki-podstawy

Kierownik Katedry: Prof. dr hab. inż. Tadeusz BURCZYŃSKI

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

Nowoczesne technologie przetwarzania informacji

Operacje grupowego przesyłania komunikatów. Krzysztof Banaś Obliczenia równoległe 1

Instytut Teleinformatyki

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Transkrypt:

Enterprise, czyli instytutowy klaster obliczeniowy Janusz Szwabiński szwabin@ift.uni.wroc.pl Enterprise, czyli instytutowy klaster obliczeniowy p.1/28

Plan wykładu Klastry komputerowe Enterprise od podszewki Obsługa klastra OpenMosix Przykłady zastosowań OpenMosix + MPI Dostępne aplikacje Enterprise, czyli instytutowy klaster obliczeniowy p.2/28

Tym dysponujemy... 4 węzły: 2 Xeon 2, 8 GHz + 4 GB RAM Enterprise, czyli instytutowy klaster obliczeniowy p.3/28

... o tym marzymy 5120 procesorów, 35860 gigaflopów (3. miejsce na liście Top 500) Enterprise, czyli instytutowy klaster obliczeniowy p.4/28

Klastry komputerowe Klaster grupa komputerów (na ogół standardowych pecetów) połaczonych siecia w superkomputer w celu wykonania określonych zadań Rodzaje klastrów: Klastry obliczeniowe o dużej wydajności Klastry o zrównoważonym obciażeniu (load balancing) Klastry o wysokiej niezawodności (high availability) Enterprise, czyli instytutowy klaster obliczeniowy p.5/28

Enterprise od podszewki IFT enterprise 156.17.88.56 excalibur horatio gandhi Enterprise, czyli instytutowy klaster obliczeniowy p.6/28

Single System Image grupa komputerów połaczonych w klaster zachowuje się jak jeden komputer OpenMosix pakiet rozszerzajacy jadro Linuksa o możliwość klastrowania komputerów. Zapewnia automatyczne równoważenie obciażenia, czyli migrację procesów na mniej obciażone węzły w klastrze. Enterprise, czyli instytutowy klaster obliczeniowy p.7/28

Zalety klastra OpenMosix: na ogół nie trzeba przepisywać kodu aplikacji zrównoważone obciażenie wszystkich węzłów możliwość dynamicznego dodawania/usuwania węzłów najdłużej trwajace procesy trafiaja na najszybszy procesor idealny do problemów, które można podzielić na niezależne podprocesy Enterprise, czyli instytutowy klaster obliczeniowy p.8/28

Ograniczenia: spadek wydajności dla krótkotrwałych procesów procesy wielowatkowe nie migruja nie nadaje się raczej do problemów, w których poszczególne podprocesy komunikuja się ze soba Enterprise, czyli instytutowy klaster obliczeniowy p.9/28

Obsługa klastra OpenMosix mosctl podstawowe narzędzie administracyjne. Przykłady użycia: mosctl whois OM_ID mosctl isup OM_ID mosmon monitoruje działanie klastra mosrun uruchamia program na wybranym węźle: mosrun -h OM_ID polecenie [argumenty] mtop/mps klastrowe wersje narzędzi top i ps (pokazuja dodatkowo numer węzła, na którym wykonywany jest proces) Enterprise, czyli instytutowy klaster obliczeniowy p.10/28

migrate wysyła do wybranego procesu prośbę o migrację: migrate PID OM_ID Enterprise, czyli instytutowy klaster obliczeniowy p.11/28

Pierwsze testy awk BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);} (16 wykonań) AMD XP 1800+ violet3 enterprise 512 RAM węzeł klaster 5min 3s 8min 17s 2min 40s Enterprise, czyli instytutowy klaster obliczeniowy p.12/28

Embarassingly parallel problems obliczenia moga być podzielone na zupełnie niezależne części każdy proces może wykonać swoje zadanie bez konieczności komunikacji z innymi procesami łatwa paralelizacja nie zależa od wydajności sieci Enterprise, czyli instytutowy klaster obliczeniowy p.13/28

Przykłady: Symulacje Monte Carlo Całkowanie numeryczne Przeszukiwanie baz danych SETI@home Fraktale Obróbka obrazu Enterprise, czyli instytutowy klaster obliczeniowy p.14/28

Przykłady: całkowanie numeryczne y 1 I 0 1 f x dx 0 0 1 x f x 1 x 2 Niech I N 1 N N i 0 1 f i N Enterprise, czyli instytutowy klaster obliczeniowy p.15/28

Wówczas Dzielimy przedział 0, N lim N I N I 1 na P podprzedziałów I p K p, K p 1 1, p 0,..., P 1 K 0 K 1... K P N Otrzymujemy N i 0 1 f x i K 1 i 1 K 0 f x i K 2 i 1 K 1 f x i... i K P K P 1 1 f x i Enterprise, czyli instytutowy klaster obliczeniowy p.16/28

Przykłady: model drapieżnik-ofiara (symulacje MC) program do symulacji pobiera koncentrację zajęcy, wilków i schronień jako argumenty linii poleceń musimy uruchomić kilka instancji tego programu interesuje nas łaczny czas wykonania wszystkich symulacji automatyzacja zadań Enterprise, czyli instytutowy klaster obliczeniowy p.17/28

#!/usr/bin/env python import sys, os, time #koncentracje zajecy, wilkow i norek zajace = [ 0.20, 0.40, 0.60, 0.80 ] wilki = [ 0.30, 0.60 ] norki = [ 0.00, 0.50 ] # program do uruchomienia job =./pp # liczba instancji programu np = len(zajace)*len(wilki)*len(norki) # lista do przechowywania identyfikatorow uruchomionych procesow pids = np * [0] # licznik procesow potomek=0 Enterprise, czyli instytutowy klaster obliczeniowy p.18/28

starttime = time.time() for i in zajace: for j in wilki: for k in norki: sl = pids.index(0) pid = os.spawnv(os.p_nowait,job,(job,i,j,k)) print Program %s (pid %d) uruchomiony. % (job, pid) pids[sl] = pid potomek += 1 while potomek: wlist = os.waitpid(-1, 0) done = wlist[0] if done in pids: ind = pids.index(done) print "Proces %d zakonczony." % pids[ind] pids[ind] = 0 potomek -= 1 Enterprise, czyli instytutowy klaster obliczeniowy p.19/28

endtime = time.time() minsec = divmod((endtime - starttime), 60) print %s min %s sec! % (str(int((minsec[0]))),str(int((minsec[1])))) Enterprise, czyli instytutowy klaster obliczeniowy p.20/28

OpenMosix + MPI Message Passing Interface standard tworzenia aplikacji równoległych w oparciu o model z wymiana komunikatów OpenMosix + MPI dzięki dynamicznemu równoważeniu obciażenia aplikacje tworzone w ramach MPI zyskuja na ogół na wydajności Enterprise, czyli instytutowy klaster obliczeniowy p.21/28

Kompilacja programów: mpicc -o <program> <plik.c> mpicc -o <program> <plik.cpp> mpi77 -o <program> <plik.f> Uruchamianie programów: mpirun -np <liczba_procesów> <program> Testowanie programów: mpirun -t -np <liczba_procesów> <program> Enterprise, czyli instytutowy klaster obliczeniowy p.22/28

Warto wiedzieć - klucze SSH: ssh-keygen -t dsa cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys2 chmod go-rwx ~/.ssh/authorized_keys2 UWAGA! Na potrzeby MPI tworzymy klucz prywatny bez ochrony hasłem (no passphrase). Enterprise, czyli instytutowy klaster obliczeniowy p.23/28

Przykładowy program MPI: #include <stdio.h> #include "mpi.h" main(int argc, char* argv[]) { int my_id,number_proc; MPI_Init(&argc, &argv); //inicjalizacja MPI MPI_Comm_rank(MPI_COMM_WORLD, &my_id); //identyfikator procesu MPI_Comm_size(MPI_COMM_WORLD, &number_proc); //liczba procesow printf("proces %d z wszystkich %d wita!\n",my_id,number_proc); } MPI_Finalize(); //zakoncz prace MPI Enterprise, czyli instytutowy klaster obliczeniowy p.24/28

Dostępne aplikacje Kompilatory: gcc/g++ (wersja 2.95.4) gcc-3.3/g++-3.3 (wersja 3.3.4) g77/ifc Biblioteki: Blitz++ Gnu Scientific Library, Lapack MPICH GiNaC Enterprise, czyli instytutowy klaster obliczeniowy p.25/28

Interpretery: Python (wersja 2.3.4) Perl (wersja 5.8.3) Oprogramowanie naukowe: GNU Octave Yorick Maxima Axiom Yacas Enterprise, czyli instytutowy klaster obliczeniowy p.26/28

Edytory: vi jed nano Enterprise, czyli instytutowy klaster obliczeniowy p.27/28

Zasoby w sieci Strona domowa OpenMosix http://openmosix.sourceforge.net/ OpenMosix HowTo http://howto.x-tend.be/openmosix-howto/ Strona domowa MPICH http://www-unix.mcs.anl.gov/mpi/mpich/ Top500 Supercomputer Sites http://www.top500.org/ Linux Clustering Information Center http://lcic.org/ Enterprise, czyli instytutowy klaster obliczeniowy p.28/28