Enterprise, czyli instytutowy k Nieznany

background image

Enterprise, czyli instytutowy

klaster obliczeniowy

Janusz Szwabi ´nski

szwabin@ift.uni.wroc.pl

Enterprise, czyli instytutowy klaster obliczeniowy – p.1/28

background image

Plan wykładu

Klastry komputerowe
Enterprise od podszewki
Obsługa klastra OpenMosix
Przykłady zastosowa ´n
OpenMosix + MPI
Dost˛epne aplikacje

Enterprise, czyli instytutowy klaster obliczeniowy – p.2/28

background image

Tym dysponujemy...

4 w˛ezły: 2 Xeon 2, 8 GHz + 4 GB RAM

Enterprise, czyli instytutowy klaster obliczeniowy – p.3/28

background image

... o tym marzymy

5120 procesorów, 35860 gigaflopów (3. miejsce na li´scie

Top 500)

Enterprise, czyli instytutowy klaster obliczeniowy – p.4/28

background image

Klastry komputerowe

Klaster grupa komputerów (na ogół standardowych

pecetów) poł ˛aczonych sieci ˛a w „superkomputer” w celu
wykonania okre´slonych zada ´n

Rodzaje klastrów:

Klastry obliczeniowe o du ˙zej wydajno´sci
Klastry o zrównowa ˙zonym obci ˛a˙zeniu (

load balancing)

Klastry o wysokiej niezawodno´sci (

high availability)

Enterprise, czyli instytutowy klaster obliczeniowy – p.5/28

background image

Enterprise od podszewki

enterprise

gandhi

horatio

excalibur

IFT

156.17.88.56

Enterprise, czyli instytutowy klaster obliczeniowy – p.6/28

background image

Single System Image grupa komputerów poł ˛aczonych w

klaster „zachowuje” si˛e jak jeden komputer

OpenMosix pakiet rozszerzaj ˛acy j ˛adro Linuksa o mo˙zliwo´s´c

klastrowania komputerów. Zapewnia automatyczne
równowa ˙zenie obci ˛a˙zenia, czyli migracj˛e procesów na
mniej obci ˛a˙zone w˛ezły w klastrze.

Enterprise, czyli instytutowy klaster obliczeniowy – p.7/28

background image

Zalety klastra OpenMosix:

na ogół nie trzeba przepisywa´c kodu aplikacji
zrównowa ˙zone obci ˛a˙zenie wszystkich w˛ezłów
mo ˙zliwo´s´c dynamicznego dodawania/usuwania
w˛ezłów
najdłu ˙zej trwaj ˛ace procesy trafiaj ˛a na najszybszy
procesor
idealny do problemów, które mo ˙zna podzieli´c na
niezale ˙zne podprocesy

Enterprise, czyli instytutowy klaster obliczeniowy – p.8/28

background image

Ograniczenia:

spadek wydajno´sci dla krótkotrwałych procesów
procesy wielow ˛atkowe nie migruj ˛a
nie nadaje si˛e raczej do problemów, w których
poszczególne podprocesy komunikuj ˛a si˛e ze sob ˛a

Enterprise, czyli instytutowy klaster obliczeniowy – p.9/28

background image

Obsługa klastra OpenMosix

mosctl

podstawowe narz˛edzie administracyjne. Przykłady

u ˙zycia:

mosctl whois OM_ID

mosctl isup OM_ID

mosmon

monitoruje działanie klastra

mosrun

uruchamia program na wybranym w˛e´zle:

mosrun -h OM_ID polecenie [argumenty]

mtop/mps

„klastrowe” wersje narz˛edzi

top

i

ps

(pokazuj ˛a

dodatkowo numer w˛ezła, na którym wykonywany jest
proces)

Enterprise, czyli instytutowy klaster obliczeniowy – p.10/28

background image

migrate

wysyła do wybranego procesu pro´sb˛e o migracj˛e:

migrate PID OM_ID

Enterprise, czyli instytutowy klaster obliczeniowy – p.11/28

background image

Pierwsze testy

awk ’BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}’

(16 wykona´n)

AMD XP 1800+

violet3

enterprise

512 RAM

w˛ezeł klaster

5min 3s

8min 17s 2min

40s

Enterprise, czyli instytutowy klaster obliczeniowy – p.12/28

background image

Embarassingly parallel problems

obliczenia mog ˛a by´c podzielone na zupełnie niezale ˙zne
cz˛e´sci
ka ˙zdy proces mo ˙ze wykona´c swoje zadanie bez
konieczno´sci komunikacji z innymi procesami
łatwa paralelizacja
nie zale ˙z ˛a od wydajno´sci sieci

Enterprise, czyli instytutowy klaster obliczeniowy – p.13/28

background image

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

background image

Przykłady: całkowanie numeryczne

y

x

0

1

0

1

I

1

0

f



x



d

x

f



x



1



x

2

Niech

I

N

1

N

N



1

i



0

f

i

N

Enterprise, czyli instytutowy klaster obliczeniowy – p.15/28

background image

Wówczas

lim

N

I

N

I

Dzielimy przedział



0,

N



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



1

i



0

f



x

i



K

1



1

i



K

0

f



x

i





K

2



1

i



K

1

f



x

i





. . .



K

P



1

i



K

P



1

f



x

i



Enterprise, czyli instytutowy klaster obliczeniowy – p.16/28

background image

Przykłady: model drapie˙znik-ofiara (symulacje MC)

program do symulacji pobiera koncentracj˛e zaj˛ecy,
wilków i schronie ´n jako argumenty linii polece ´n
musimy uruchomi´c kilka instancji tego programu
interesuje nas ł ˛aczny czas wykonania wszystkich
symulacji
automatyzacja zada ´n

Enterprise, czyli instytutowy klaster obliczeniowy – p.17/28

background image

#!/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

background image

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

background image

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

background image

OpenMosix + MPI

Message Passing Interface standard tworzenia aplikacji

równoległych w oparciu o model z wymian ˛a
komunikatów

OpenMosix + MPI dzi˛eki dynamicznemu równowa˙zeniu

obci ˛a˙zenia aplikacje tworzone w ramach MPI zyskuj ˛a na
ogół na wydajno´sci

Enterprise, czyli instytutowy klaster obliczeniowy – p.21/28

background image

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

background image

Warto wiedzie´c - 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

background image

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

background image

Dost ˛epne 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

background image

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

background image

Edytory:

vi
jed
nano

Enterprise, czyli instytutowy klaster obliczeniowy – p.27/28

background image

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


Document Outline


Wyszukiwarka

Podobne podstrony:
RAlLLa Gryffindoru czyli Hogwar Nieznany
List Arysteasza, czyli legenda Nieznany
przemiana mitow druga czyli woj Nieznany
Podstawowe instytucje?mokracj Nieznany
Podklad idealny, czyli niewidoc Nieznany
To jest napad! Czyli kawałek nieznanej historii Ameryki Wałkuski Marek
28 40lecie instyt inz lad id 31 Nieznany (2)
gaius instytucje id 185665 Nieznany
Cross selling czyli na co uwaza Nieznany
Instytucjonalne formy resocjali Nieznany
Instytut In id 217912 Nieznany
00 Instytucje MON id 1940 Nieznany (2)
enterprise gis utilities perfor Nieznany
Instytucja Rzecznika Ubezpieczo Nieznany
Instytucjonalizacja bezpieczens Nieznany
Gato Czyli A ligato r id 186420 Nieznany
1 Instytucje Unii Europejskiej Nieznany

więcej podobnych podstron