Uživatel:Lindntom

Z HPM wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(PELICANHPC)
(PELICANHPC)
Řádka 91: Řádka 91:
  
  
''INSTALACE - Postup''
+
'''INSTALACE - Postup'''
  
 
Při případě se musíme ujistit, že hlavní node bude bootován z CD popř. z disku USB. Ostatní nody by měly být ,pro zjednodušení, bootovány ze sítě.  
 
Při případě se musíme ujistit, že hlavní node bude bootován z CD popř. z disku USB. Ostatní nody by měly být ,pro zjednodušení, bootovány ze sítě.  
  
Vložíme CD do mechaniky a začneme CD bootovat. Po zobrazení úvodní obra
 
  
 +
Vložíme CD do mechaniky a začneme CD bootovat. Po zobrazení úvodní obrazovky zvolíme možnost ''LIVE''. Při načítání se OS bude snažit nalézt DHCP server. Vzhledem k tomu, že později sám bode působit jako DHCP, tuto část můžeme přeskočit stisknutím Ctrl+C.
 +
 +
 +
Následuje obrazovka Pelican_setup. nastavení neměňte a nechte nastavené'' ram1''. Toto okno je určeno proskušenější uživatele.
 +
 +
 +
Dále se OS zeptá, zda chcete data a examply uložit do složky /home/user . Potvrdťe. Složka /home/user se stejně nachází na RAM počítače.
 +
 +
 +
OS vás nyní vyzve k přepsání hesla. Toto heslo si zapamatujte.
 +
 +
 +
'''Práce v Pelican a nastavení Clusteru'''
 +
 +
Gratuluju, PelicanHPC je nyní v provozu. Nyní se přihlašte. login: user, password:<vase_heslo>. Pokud potřebujete, je možno pracovat v grafickém prostředí příkazem ''startx'', který spustí Xserver. Není to však nutné. Cluster se stejně nastavuje skrz shell (příkazovou řádku). nyní zadejte příkaz pelican_setup. Skript se vás dotáže, na jakém rozhraní budete cluster provozovat. to je Výhodné v případě, že chcete hlavní node připojit k internetu. Nenarušíte tím vnější síť a zároveň bude cluster schopen čerpat z vnější sítě data.
 +
 +
Potvrďte další okno. Nyní vás Pelican vyzve, abyste zapnuli ostatní nody v clusteru. Ty by měly být nastaveny tak, aby bootovaly ze sítě. Hlavní node bude testovat zapojené nody a bude určovat, kolik jich je již připojeno. Pokud nejsou načteny všechny nody, nepotvrzujte další obrazovku. stisknutím No se provede refresh seznamu.
 
'''Ukázka práce s C a Octave'''
 
'''Ukázka práce s C a Octave'''
  

Verze z 26. 11. 2011, 23:03

Lindner Tomas


Název semestrální práce: PelicanHPC a MPI


Obsah

Osnova

1. MPI
1.1. Myšlenka MPI
1.2. Historie MPI
1.3. LAM/MPI vs. OpenMPI
1.4. Ukázka příkazů protokolu MPI.
2. PelicanHPC
2.1. Představení PelicanHPC
2.1. Instalace a zásady práce s clusterem.
2.2. Ukázka práce s programy v C a Octave. 
3. Závěr.


MPI - MESSAGE PASSING INTERFACE

Historie MPI

Na vývoji první verze protokolu MPI-1 se pracovalo v první polovině devadesátých let, přesněji 1992-1994 a první článek bzl publikován v roce 1994 v časopise SuperComputers. Na vývoji se podílelo otevřené společenství univerzit (University of Edinburg, Miss State University, Michigan Univerzity) a soukormých firem (Intel, IBM, Sun ad.) výsledkem byl funkční opensource protokol, který byl v letech 1995-1997 zdokonalen o další funkce a vznikl standard MPI-2 pod záštitou projektu OpenMPI.


Myšlenka a definice MPI

Jak název napovídá, MPI neboli Message Passing Protocol slouží k zasílání krátkých zpráv mezi procesy, což se ukázalo jako jedna z nejvyužitelnějších metod pro paralelní výpočty. Oproti například Streamu nebo jiným způsobům komunikace vyniká jak svou jednoduchostí (velká řada procesů využívá 6 funkcí protokolu) tak nenáročností na zatížení sítě.


MPICH, LAM/MPI, OpenMPI

V dnešní době existuje několik projektů, které se zabývají vývojem MPI.

Prvním z nich je MPICH, jehož nejnovější verze MPICH2 je také součástí Debianu.

Druhým projektem je LAM/MPI , která ještě využívá protokol MPI-1. Samotní vývojáři však další vývoj pozastavili a doporučují přejít na nový slibný projekt OpenMPI , který využívá protokolu MPI-2 a doplňuje ho o různé prvky z jiných obdobných protokolů jako například protokol PVM.

Ukázka příkazů protokolu MPI

Send(dest,tag,address,length) //Posila zpravu jinemu procesu
Recv(src,tag,address,length) //Prijima zpravu od jineho procesu

dest a src - integer identifikace druhého procesu.

tag - integer určující prioritu zprávy.

address - integer odkazující na místo v paměti.

length - velikost prostoru na jehož první člen odkazuje adress


V praxi se spíš používá rozšíření MPI_Send apod, které podporuje heterogenní clustery a zlepšují dohled nad prioritou procesů, domén apod.


Na co nezapomenout

#include <mpi.h>         // Zacleneni knihovny
MPI_Init(&argc, &argv);  // inicializace knihovny
MPI_Finalize();          // ukončení práce s MPI


Způsob komunikace

Broadcast - jeden s N (Například vyžádání výsledků ode všech procesů)

Multicast algoritmus - jeden vyžádává jednotlivě od všech procesů
Binární strom - Každý proces má svého určeného "nadřízeného", který výsledky shromažďuje a posílá hlavnímu procesu. 
Tento typ je synchronější a rychlejší.

All-to-All komunikace - každý proces může komunikovat s jakýmkoliv.

Lineární algoritmus - Zasílá zprávy všem přímo. Vhodný pro dlouhé zprávy protože se nemusí přeposílat.
Hypercube algoritmus - Algoritmus má omezený počet adres, kam posílat a zpráva se routuje. Vhodné pro krátké zprávy.

PELICANHPC

Představení PelicanHPC

PelicanHPC je specializovanou Linuxovou liveCD a liveUSB distribucí založenou na Debianu. Tato distribuce je speciálně určena na využití v clusterech a používá protokolu MPI. V dřívějších verzích využívala projekt LAM/MPI. Jelikož však tento projekt ukončil vývoj, funguje nyní na projektu OpenMPI. Distribuce umožňuje programování v C, C++, ale také v Octave, což je opensource obdoba MATLABu.


Instalace a zásady práce s clusterem

Důležité!! : PelicanHPC spouštějte pouze na uzavřené síti. Hlavní počítač, který řídí běh všech ostatních uzlů se chová jako DHCP server, tudíž hrozí nebezpečí, že náhodně připojený jiný počítač získá IP adresu vašeho clusteru a nebude se moci připojit k síti. Síť zapojujeme skrz switch, router nebo, v krajním případě pro potřebu demonstrace, přímo křížovým kabelem.


INSTALACE - Postup

Při případě se musíme ujistit, že hlavní node bude bootován z CD popř. z disku USB. Ostatní nody by měly být ,pro zjednodušení, bootovány ze sítě.


Vložíme CD do mechaniky a začneme CD bootovat. Po zobrazení úvodní obrazovky zvolíme možnost LIVE. Při načítání se OS bude snažit nalézt DHCP server. Vzhledem k tomu, že později sám bode působit jako DHCP, tuto část můžeme přeskočit stisknutím Ctrl+C.


Následuje obrazovka Pelican_setup. nastavení neměňte a nechte nastavené ram1. Toto okno je určeno proskušenější uživatele.


Dále se OS zeptá, zda chcete data a examply uložit do složky /home/user . Potvrdťe. Složka /home/user se stejně nachází na RAM počítače.


OS vás nyní vyzve k přepsání hesla. Toto heslo si zapamatujte.


Práce v Pelican a nastavení Clusteru

Gratuluju, PelicanHPC je nyní v provozu. Nyní se přihlašte. login: user, password:<vase_heslo>. Pokud potřebujete, je možno pracovat v grafickém prostředí příkazem startx, který spustí Xserver. Není to však nutné. Cluster se stejně nastavuje skrz shell (příkazovou řádku). nyní zadejte příkaz pelican_setup. Skript se vás dotáže, na jakém rozhraní budete cluster provozovat. to je Výhodné v případě, že chcete hlavní node připojit k internetu. Nenarušíte tím vnější síť a zároveň bude cluster schopen čerpat z vnější sítě data.

Potvrďte další okno. Nyní vás Pelican vyzve, abyste zapnuli ostatní nody v clusteru. Ty by měly být nastaveny tak, aby bootovaly ze sítě. Hlavní node bude testovat zapojené nody a bude určovat, kolik jich je již připojeno. Pokud nejsou načteny všechny nody, nepotvrzujte další obrazovku. stisknutím No se provede refresh seznamu. Ukázka práce s C a Octave

Zdroje

http://pelicanhpc.org/

http://www.mcs.anl.gov/research/projects/mpi/

http://www.open-mpi.org/

http://www.mcs.anl.gov/research/projects/mpi/tutorial/snir/mpi/mpic.htm

http://distrowatch.com/

Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje