ZA´PADOCˇESKA´ UNIVERZITA V PLZNI CENTRUM INFORMATIZACE A VY´POCˇETNI´ TECHNIKY
Informacˇnı´ Bulletin CIV
PC clustery ˇ U v Plzni na ZC
2
Prosinec 2002
Prˇ´ıspeˇvky uvedene´ v bulletinu jsou dı´lem kolektivu autoru ˚ CIV a ITI. Publikace neprosˇla jazykovou ani grafickou u ´ pravou. Redakcˇnı´ rada: J. Sitera, E. Cha´nova´, M. Otta a V. Rudolf. Sazba pı´smem Bookman v syste´mu LATEX 2ε . Vytiskl TYPOS — Digital Print s.r.o., za´vod Plzen ˇ. Vyda´nı´ prvnı´, na´klad 250 vy´tisku ˚. Vydala Za´padocˇeska´ univerzita v Plzni. c Centrum informatizace a vy´pocˇetnı´ techniky, 2002. Copyright ISBN 80—7082–942–7
OBSAH ´ vodem ne 1 U ˇ co obecne ˇ o clusterech 1.1 Co jsou to clustery . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Zkusˇenosti s PC clustery . . . . . . . . . . . . . . . . . . . . ˇ U v Plzni 2 PC clustery na ZC 2.1 Kdo jsou akte´rˇi projektu . . . . . . ˇ U v Plzni 2.2 Instalovane´ zarˇ´ızenı´ na ZC 2.2.1 Cluster nympha . . . . . . . 2.2.2 Cluster minos . . . . . . . . . 2.3 Dalsˇ´ı PC clustery META Centra . . 2.3.1 Cluster skirit . . . . . . . . . 2.3.2 Cluster skurut . . . . . . . . 2.4 Co na´s stojı´ superpocˇ´ıta´nı´ . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
3 Prˇ´ıstup ke zdroju ˚m 3.1 Elektronicka´ agenda uzˇivatele . . . . . . . . . . . . . 3.1.1 Elektronicka´ prˇihla´sˇka . . . . . . . . . . . . . 3.1.2 Projekty . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Osobnı´ administrativa u ´ cˇtu . . . . . . . . . . . ˇ a´dost o prˇ´ıstup na konkre´tnı´ uzel . . . . . . 3.1.4 Z 3.1.5 Vy´rocˇnı´ zpra´va — politika prodluzˇova´nı´ u ´ cˇtu ˚ 3.2 Uzˇivatelske´ prostrˇedı´ . . . . . . . . . . . . . . . . . . 3.3 Syste´m da´vkove´ho zpracova´nı´ u ´ loh — PBS . . . . . 3.3.1 Jak lze cluster vyuzˇ´ıvat . . . . . . . . . . . . . 3.3.2 Koncepty PBS . . . . . . . . . . . . . . . . . . . 3.3.3 Neˇktere´ prˇ´ıkazy pro ovla´da´nı´ PBS . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
4 Uka´zky konkre´tnı´ pra´ce pro ru ˚ zne´ typy u ´ loh 4.1 Jednoduchy´ skript . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Doma psany´ ko´d . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
OBSAH
4.3 FLUENT . . . . . . . . . . . . . . . . . . . . . . 4.3.1 FLUENT na jednom uzlu stroje . . . . . 4.3.2 Paralelnı´ sı´t’ova´ verze FLUENTu . . . . 4.3.3 Pouzˇitı´ dalsˇ´ıch sı´t’ovy´ch komunika´toru ˚ 4.4 MSC.MARC . . . . . . . . . . . . . . . . . . . . 4.4.1 Jednoprocesorova´ verze MSC.MARCu . 4.4.2 Paralelnı´ verze MSC.MARCu . . . . . . 4.5 ANSYS . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
5 Za´ve ˇ rem 5.1 Dostupna´ dokumentace . . . . . . . . . . . . . . . . . . . . .
PC
CLUSTERY NA
ˇU ZC
V
PLZNI
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
REDAKCˇNI´
´ MKA POZNA
ˇ U v Plzni Tato publikace je urcˇena studentu ˚ m a zameˇstnancu ˚ m ZC a pracovnı´ku ˚ m ITI UK v Praze, cˇa´stecˇneˇ i jiny´ch organizacı´. Mu ˚ zˇe slouzˇit ˇU jako za´kladnı´ referencˇnı´ prˇ´ırucˇka pro pouzˇ´ıva´nı´ PC clusteru ˚ na ZC v Plzni a v META Centru. ˇ lenem cı´love´ skupiny cˇtena´rˇu C ˚ je uzˇivatel, ktery´ ma´ zkusˇenosti s pocˇ´ıta´nı´m a zajı´ma´ se o mozˇnost pouzˇ´ıvat PC clustery na Linuxu. Dalsˇ´ı cı´lovou skupinou jsou i uzˇivatele´ dosud pocˇ´ıtajı´cı´ loka´lneˇ a hledajı´cı´ mozˇnosti vyuzˇ´ıva´nı´ dalsˇ´ıch zdroju ˚. Tato prˇ´ırucˇka byla vyda´na prˇi prˇ´ılezˇitosti porˇa´da´nı´ semina´rˇe pro uzˇiˇ U v Plzni v prosinci 2002. vatele z rˇad studentu ˚ a zameˇstnancu ˚ ZC PROSINEC 2002
KAPITOLA 1
´ VODEM U
ˇ CO OBECNE ˇ NE
O CLUSTERECH 1.1 Co jsou to clustery Anglicko-cˇesky´ slovnı´k na´s poucˇ´ı, zˇe vy´raz „cluster“ ma´ prˇeklady „shluk, chumel, hloucˇek, seskupenı´ “ atd. Prˇedstavme si velke´ mnozˇstvı´ relativneˇ „obycˇejny´ch“, ale velmi vy´konny´ch pocˇ´ıtacˇu ˚ rˇady PC, propojeny´ch velmi rychlou sı´tı´ a vybaveny´ch vhodny´m komunikacˇnı´m softwarem tak, aby byly schopny spolupracovat na rˇesˇenı´ jedne´ u ´ lohy podobneˇ, jako probı´ha´ spolupra´ce procesoru ˚ uvnitrˇ klasicke´ho superpocˇ´ıtacˇe. Tak to je, s trochou zjednodusˇenı´, cluster pracovnı´ch stanic, cˇi kra´tce jen „cluster“. Hlavnı´ vy´hodou takove´hoto vy´pocˇetnı´ho prostrˇedku je velmi prˇ´ıznivy´ pomeˇr ceny a vy´konu, jelikozˇ v dnesˇnı´ dobeˇ lze takovy´ cluster staveˇt z masoveˇ vyra´beˇny´ch komponent. Cluster je typicky zarˇ´ızenı´ s homogennı´mi uzly propojeny´mi velmi vy´konnou sı´tı´, pokud mozˇno co nejspolehliveˇji a na kra´tkou vzda´lenost. V jedne´ nebo neˇkolika ma´lo prˇ´ıstrojovy´ch skrˇ´ını´ch je velke´ mnozˇstvı´ pocˇ´ıtacˇu ˚ PC (v tenke´m a „rackove´m“ provedenı´), komunikacˇnı´ prˇepı´nacˇ, chlazenı´ apod. Nejsou to tedy zˇa´dna´ vı´ceu ´ cˇelova´ zarˇ´ızenı´, z nichzˇ by se pro vy´pocˇty pouzˇ´ıval jen nadbytecˇny´ vy´kon. Typicky´ cluster pouzˇ´ıva´ operacˇnı´ syste´m Linux1 a jine´ „open source“ technologie, cozˇ ho v ocˇ´ıch uzˇivatelu ˚ poneˇkud odlisˇuje od superpocˇ´ıtacˇe obvykle vybavene´ho firemnı´m operacˇnı´m syste´mem. 1 Existujı´ take ´ PC clustery pracujı´cı´ s operacˇnı´mi syste´my MS Windows, ty vsˇak nejsou vzhledem k okolnostem prˇedmeˇtem tohoto cˇla´nku
´ VODEM KAPITOLA 1. U
ˇ CO OBECNE ˇ O CLUSTERECH NE
Klasicky´ superpocˇ´ıtacˇ ma´ (prˇes mnoho vnitrˇnı´ch technologiı´, ktere´ toto alespon ˇ navenek pro uzˇivatele zajisˇt’ujı´) jednu sdı´lenou pameˇt’, jedny periferie a jednu vysokorychlostnı´ komunikacˇnı´ sbeˇrnici, ktera´ to vsˇe propojuje. Z hlediska uzˇivatele (aplikacˇnı´ho programa´tora) se tak jevı´ jako jeden, velmi vy´konny´, ale homogennı´ pocˇ´ıtacˇ. Vy´voj v oblasti PC clusteru ˚ ale za poslednı´ roky velmi pokrocˇil a dnes jizˇ existuje cela´ rˇada specia´lnı´ch SW na´stroju ˚ , obvykle oznacˇovany´ch pojmem middleware, ktere´ slouzˇ´ı pro vytvorˇenı´ virtua´lnı´ho superpocˇ´ıtacˇe nad hardwarem clusteru a tı´m poma´hajı´ aplikacˇnı´m programa´toru ˚m a uzˇivatelu ˚ m — umozˇn ˇ ujı´ jim pracovat ve zna´me´m sveˇteˇ, byt’ virtua´lnı´m. Lze tedy rˇ´ıci, zˇe trend v oblasti na´rocˇny´ch vy´pocˇtu ˚ v poslednı´ dobeˇ jednoznacˇneˇ ukazuje prˇesun od klasicky´ch superpocˇ´ıtacˇu ˚ ke clusteru ˚ m. Zejme´na pro u ´ lohy, jejichzˇ podstata dovoluje paralelizaci na slabeˇ va´zane´ procesy (lze prˇirozeneˇ navrhnout rˇesˇenı´ u ´ lohy tak, zˇe se rozpadne na vı´ce relativneˇ neza´visly´ch proble´mu ˚ , ktere´ nepotrˇebujı´ cˇastou synchronizaci cˇi vy´meˇnu vy´sledku ˚ ), je tento prˇ´ıstup vy´razneˇ efektivneˇjsˇ´ı. Ted’ je zrˇejmeˇ ta spra´vna´ doba pro vsˇechny uzˇivatele z oblasti velmi na´rocˇny´ch vy´pocˇtu ˚ (pokud jizˇ tak da´vno neucˇinili) zacˇ´ıt se o tento trend zajı´mat, byt’ trˇeba jen v u ´ vaha´ch do budoucna.
1.2 Zkus ˇenosti s PC clustery K tomu, co jizˇ bylo vy´sˇe rˇecˇeno o clusterech a trendu v oblasti na´rocˇny´ch vy´pocˇtu ˚ , je mozˇno pro potencia´lnı´, respektiveˇ va´hajı´cı´ za´jemce o tuto technologii dodat neˇkolik povzbudivy´ch slov, vycha´zejı´cı´ch zejme´na z dosavadnı´ch zkusˇenostı´ zı´skany´ch v ru ˚ zny´ch projektech. Rozhodneˇ je trˇeba rˇ´ıci, zˇe clustery nejsou dome´nou matematiku ˚ a informatiku ˚ . Typicky´m „velky´m“ uzˇivatelem jsou fyzici, specia´lneˇ fyzici vysoky´ch energiı´. Projekt DataGrid, ktery´ je v tomto smeˇru jednoznacˇneˇ nejveˇtsˇ´ım konzumentem vy´pocˇetnı´ kapacity, vznikl na za´kladeˇ potrˇeby zpracovat obrovske´ mnozˇstvı´ dat vznikly´ch v urychlovacˇi, ktery´ buduje evropska´ komunita fyziku ˚ vysoky´ch energiı´ v CERNu. Zpracova´nı´ samo ma´ distribuovany´ charakter, v podstateˇ lze rˇ´ıci, zˇe neˇkolik skupin fyziku ˚ hleda´ naprosto neza´visle na sobeˇ a vlastnı´mi algoritmy v jedneˇch datech specificke´ znaky. Navı´c veˇtsˇina z teˇchto algoritmu ˚ ma´ charakter prohleda´va´nı´ hrubou silou (metoda Monte Carlo), tj. ma´ znacˇne´ na´roky na celkovou vy´pocˇetnı´ kapacitu s minima´lnı´mi na´roky na synchronizaci. Vy´znamna´ skupina fyziku ˚ v Praze napojeny´ch na DataGrid se zaby´va´ simulacı´ detektoru ˚ , tj. zarˇ´ızenı´, ktery´mi proudı´ cˇa´stice a jezˇ na za´kladeˇ INFORMACˇNI´
BULLETIN
CIV — /
1.2. ZKUSˇENOSTI
S
PC
CLUSTERY
toho produkujı´ data ke zpracovanı´. Tato simulace slouzˇ´ı jak k na´vrhu detektoru ˚ , tak k pracı´m souvisejı´cı´m s pochopenı´m dat, ktera´ hotovy´ detektor produkuje. V Brneˇ a Praze je take´ silna´ komunita uzˇivatelu ˚ z rˇad chemiku ˚ , respektiveˇ biochemiku ˚ . Zejme´na pak uzˇivatele´ z Na´rodnı´ho centra pro vy´zkum biomolekul v Brneˇ jizˇ dnes pro velkou cˇa´st svy´ch vy´pocˇtu ˚ vyuzˇ´ıvajı´ clustery namı´sto klasicky´ch superpocˇ´ıtacˇu ˚. Obecneˇji rˇecˇeno, vsˇechny proble´my, ktere´ vedou k rˇesˇenı´ metodami typu Monte Carlo, cˇi jsou jinak snadno paralelizovatelne´ v rezˇii rˇesˇitele, patrˇ´ı v prvnı´ rˇadeˇ k vhodny´m kandida´tu ˚ m na pouzˇitı´ clusteru ˚ . U proble´mu ˚ rˇesˇeny´ch s vyuzˇitı´m firemnı´ch softwaru ˚ je situace vzˇdy za´visla´ na existenci prˇ´ıslusˇne´ portace pro danou platformu (Linux), podporˇe distribuovane´ho zpracova´nı´ vy´pocˇtu a v neposlednı´ rˇadeˇ take´ na typu a mnozˇstvı´ licencı´ pro dany´ produkt.
PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 2
PC
CLUSTERY NA
ˇU ZC
V
PLZNI
ˇ U v Plzni je zhruba od poloviny roku 2002 umı´steˇn PC cluster Na ZC porˇ´ızeny´ v ra´mci vy´zkumne´ho za´meˇru, jehozˇ nositelem je CESNET, za´ˇ U. Jedna´ se 16 uzlu jmove´ sdruzˇenı´ vysoky´ch sˇkol vcˇetneˇ ZC ˚ , kazˇdy´ se dveˇma procesory Intel Pentium III o taktovacı´ frekvenci 1 GHz, 1 GB pameˇti a 18 GB pevny´m diskem. Oznacˇenı´ clusteru je (podle prˇedrˇazene´ front–endove´ stanice) nympha. ˇ U uveden do provozu novy´ cluster, Zacˇa´tkem rˇ´ıjna 2002 byl pak na ZC jenzˇ byl porˇ´ızen z prostrˇedku ˚ Institutu teoreticke´ informatiky (ITI), spoˇ R a ZC ˇ U v Plzni, lecˇne´ho veˇdeckovy´zkumne´ho pracovisˇteˇ UK Praha, AV C financovane´ho v ra´mci programu vy´zkumny´ch center. Jedna´ se 16 uzlu ˚, kazˇdy´ se dveˇma procesory AMD Athlon MP o taktovacı´ frekvenci 1.9 GHz, 1 GB pameˇti a 40 GB pevny´m diskem. Oznacˇenı´ clusteru je (podle prˇedrˇazene´ front–endove´ stanice) minos. Se zbytkem sveˇta je prˇipojenı´ obou clusteru ˚ realizova´no prˇ´ımo prostrˇednictvı´m plzen ˇ ske´ho bodu prˇ´ıtomnosti na´rodnı´ sı´teˇ vy´zkumu a vy´voje CESNET2 tak, aby mozˇnost spolupra´ce clusteru ˚ v ra´mci META Centra byla co nejlepsˇ´ı (aktua´lneˇ linka Plzen ˇ –Praha 2.5 Gbit/s a linka Praha– Brno 10 Gbit/s). Oba PC clustery jsou k dispozici v ra´mci projektu META Centrum vsˇem uzˇivatelu ˚ m, kterˇ´ı splnı´ za´kladnı´ jednoduche´ podmı´nky pro jeho uzˇ´ıva´nı´. Dı´ky vza´jemne´mu propojenı´ obou zarˇ´ızenı´ lze v prˇ´ıpadeˇ potrˇeby pracovat na obou strojı´ch soucˇasneˇ — a komu ani toto nestacˇ´ı, mu ˚ zˇe mı´t k dispozici dı´ky META Centru i dalsˇ´ı stroje META Centra (v Praze cˇi Brneˇ).
2.1. KDO
´R ˇ I PROJEKTU JSOU AKTE
2.1 Kdo jsou akte´ˇri projektu Institut teoreticke´ informatiky UK (ITI, http://iti.zcu.cz) byl zalozˇen v roce 2000 jako spolecˇne´ pracovisˇteˇ Univerzity Karlovy v Praze, Ma´ stavu informatiky AV C ˇ R, U ˇ R a Za´padocˇeske´ tematicke´ho u ´ stavu AV C univerzity v Plzni v ra´mci grantove´ho programu vy´zkumny´ch center. Odborneˇ je centrum zameˇrˇeno prˇedevsˇ´ım na za´kladnı´ vy´zkum v oblasti diskre´tnı´ matematiky a teoreticke´ informatiky. Plzen ˇ ske´ pracovisˇteˇ ITI pracuje prˇi katedrˇe matematiky FAV, na nı´zˇ byl jizˇ drˇ´ıve (v roce 1998) instalova´n cluster s 12 CPU, porˇ´ızeny´ z grantovy´ch prostrˇedku ˚ projektu ˇ MT INFRA II. Tento cluster v soucˇasne´ „Lyra“ grantove´ho programu MS dobeˇ slouzˇ´ı hlavneˇ k prˇ´ıpraveˇ a ladeˇnı´ u ´ loh pro vy´konneˇjsˇ´ı pocˇ´ıtacˇe a pro vy´uku. S clustery pracovnı´ch stanic ma´ komunita matematiku ˚ a inforˇ U v Plzni tedy jizˇ zkusˇenosti z minuly´ch let. matiku ˚ na ZC Projekt META Centrum (http://meta.cesnet.cz) vznikl v roce 1996 s cı´lem vytvorˇit jednotne´ prostrˇedı´ pro uzˇivatele nad heterogennı´ sı´tı´ vy´pocˇetnı´ch kapacit poskytovany´ch superpocˇ´ıtacˇovy´mi centry vysoky´ch sˇkol. V ra´mci projektu je toto prostrˇedı´ udrzˇova´no a rozvı´jeno dodnes. Z hlediska investicˇnı´ho rozvoje se v poslednı´ dobeˇ META Centrum veˇnuje pra´veˇ clusteru ˚ m. V tuto chvı´li je k dispozici jesˇteˇ dalsˇ´ıch celkem 96 procesoru ˚ (Pentium III, cˇa´st 700 MHz, cˇa´st 1 GHz) s celkem 48 GB pameˇti, dislokovany´ch v Brneˇ (64 CPU) a Praze (32 CPU). Navı´c koncem letosˇnı´ho roku META Centrum investovalo do clusterove´ technologie, takzˇe nı´zˇe popisovana´ konfigurace nenı´ fina´lnı´.
ˇ U v Plzni 2.2 Instalovane´ zarˇ´ızenı´ na ZC Prˇi pohledu na PC cluster minos (viz obra´zek 2.1) mozˇna´ rozpozna´te 16 plochy´ch PC umı´steˇny´ch nad sebou ve specia´lnı´ prˇ´ıstrojove´ skrˇ´ıni (takzvane´m „racku“). PC cluster nympha vypada´ obdobneˇ. A nynı´ se podı´vejme podrobneˇji na konfiguraci jednotlivy´ch PC clusteru ˚.
2.2.1 Cluster nympha ˇ U v Plzni, PC cluster nympha je umı´steˇn na serverovneˇ CIV-LPS na ZC ma´ 16 vy´pocˇetnı´ch uzlu ˚ HP LP1000r, ktery´m je prˇedrˇazena rˇ´ıdı´cı´ stanice nympha.zcu.cz. Technicke´ parametry vy ´ poc ˇetnı´ch uzlu ˚ (HP LP1000r): Procesory: 2 × Intel Pentium III 1 GHz, 256 Kb Cache, 133 MHz FSB PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 2. PC
CLUSTERY NA
ˇU ZC
V
PLZNI
Obra´zek 2.1: PC cluster minos prˇi instalaci
Pameˇt’: 1 GB SDRAM 133 MHz FSB Disky: 18 GB SCSI-3 10 000 rpm Sı´t’ove´ prˇipojenı´: 100 Mb/s Fast Ethernet, 1.2 Gb/s Myrinet Hostname: {nympha1-nympha16}.zcu.cz Specia´lnı´ vybavenı´: Myrinet M2L-SW16 switch Technicke´ parametry ˇr´ıdı´cı´ stanice: Procesor: 1 × Intel Pentium 4 1.4 GHz Pameˇt’: 512 MB RAM Disky: 60 GB 10 000 rpm Sı´t’ove´ prˇipojenı´: 100 Mb/s Fast Ethernet Hostname: nympha.zcu.cz
INFORMACˇNI´
BULLETIN
CIV — /
2.3. DALSˇI´ PC
CLUSTERY
META Centra
2.2.2 Cluster minos ˇ U v Plzni, ma´ PC cluster minos je umı´steˇn na serverovneˇ CIV-LPS na ZC 16 vy´pocˇetnı´ch uzlu ˚ Dual AMD Athlon 1900+, ktery´m je prˇedrˇazena rˇ´ıdı´cı´ stanice minos.zcu.cz. Tento cluster podle´ha´ specia´lnı´mu rezˇimu rˇ´ızenı´ zpracova´va´nı´ u ´ loh tak, aby jej mohli prioritneˇ vyuzˇ´ıvat zejme´na pracovnı´ci ITI. Dalsˇ´ı uzˇivatele´ majı´ prˇ´ıstup pouze pomocı´ kra´tkodoby´ch a strˇedneˇdoby´ch front v PBS, viz kapitola 3.3. Technicke´ parametry vy ´ poc ˇetnı´ch uzlu ˚: Procesory: 2 × AMD Athlon MP 1900+ 1.6 GHz, 256Kb Cache, 266 MHz FSB Pameˇt’: 1 GB SDRAM ECC 266MHz FSB Disk: 40 GB Ultra ATA IV 7 200 rpm Sı´t’ove´ prˇipojenı´: 1 Gb/s Gigabit Ethernet Hostname: {minos1-minos16}.zcu.cz Specia´lnı´ vybavenı´: 3Com SS3 4924 Gigabit switch Technicke´ parametry ˇr´ıdı´cı´ stanice: Procesory: 2 × Pentium III Xeon 800 MHz Pameˇt’: 512 MB SDRAM ECC reg. 133 MHz FSB Disky: 8 GB Ultra3 SCSI 10 000 rpm + 36 GB Ultra3 SCSI 15 000 rpm Sı´t’ove´ prˇipojenı´: 1 Gb/s Gigabit Ethernet Hostname: minos.zcu.cz
2.3 Dals ˇ´ı PC clustery META Centra 2.3.1 Cluster skirit ´ VT MU Brno. Ma´ celkem 16 vy´PC cluster skirit se nacha´zı´ na pu ˚ deˇ U pocˇetnı´ch uzlu ˚ SGI 1200 a 16 vy´pocˇetnı´ch uzlu ˚ HP LP1000r, ktery´m je prˇedrˇazena jedna rˇ´ıdı´cı´ stanice skirit.ics.muni.cz. Technicke´ parametry vy ´ poc ˇetnı´ch uzlu ˚ (SGI 1200): Procesory: 2 × Intel Pentium III 700 MHz 256 Kb Cache, 100 MHz FSB Pameˇt’: 1 GB SDRAM 100 MHz FSB Disky: 9 GB Ultra2 SCSI 7 200 rpm Sı´t’ove´ prˇipojenı´: 1 Gb/s Gigabit Ethernet PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 2. PC
CLUSTERY NA
ˇU ZC
V
PLZNI
Hostname: {skirit1-skirit16}.ics.muni.cz Specia´lnı´ vybavenı´: HP ProCurve 4108 GL Gigabit switch Technicke´ parametry vy ´ poc ˇetnı´ch uzlu ˚ (HP LP1000r): Procesory: 2 × Intel Pentium III 1 GHz 256 Kb Cache, 133 MHz FSB Pameˇt’: 1 GB SDRAM 133 MHz FSB Disky: 18 GB SCSI-3 10 000 rpm Sı´t’ove´ prˇipojenı´: 100 Mb/s Fast Ethernet, 2 Gb/s Myrinet Hostname: {skirit17-skirit32}.ics.muni.cz Specia´lnı´ vybavenı´: Myrinet M3-E32 switch Technicke´ parametry ˇr´ıdı´cı´ stanice: Procesor: 1 × Intel Pentium 4 1.4 GHz Pameˇt’: 512 MB SDRAM 100 MHz FSB Disky: 18 GB Ultra2 SCSI 7 200 rpm + 2 × 36 GB Ultra2 SCSI 7 200 rpm Sı´t’ove´ prˇipojenı´: 1 Gb/s Gigabit Ethernet Hostname: skirit.ics.muni.cz
2.3.2 Cluster skurut PC cluster skurut se nacha´zı´ na pu ˚ deˇ CESNETu v Praze. Ma´ 16 vy´pocˇetnı´ch uzlu ˚ SGI 1200, ktery´m je prˇedrˇazena rˇ´ıdı´cı´ stanice, ktera´ ma´ hostname skurut.cesnet.cz. Technicke´ parametry vy ´ poc ˇetnı´ch uzlu ˚ (SGI 1200): Procesory: 2 × Intel Pentium III 700 MHz 256 Kb Cache, 100 MHz FSB Pameˇt’: 1 GB SDRAM 100 MHz FSB Disky: 9 GB Ultra2 SCSI 7 200 rpm Sı´t’ove´ prˇipojenı´: 100 Mb/s Fast Ethernet Hostname: {skurut1-skurut16}.cesnet.cz Technicke´ parametry ˇr´ıdı´cı´ stanice (SGI 1200): Procesor: 2 × Intel Pentium III 700 MHz 256 Kb Cache, 100 MHz FSB Pameˇt’: 512 MB SDRAM 100 MHz FSB Disky: 18 GB Ultra2 SCSI 7 200 rpm + 2 × 36 GB Ultra2 SCSI 7 200 rpm Sı´t’ove´ prˇipojenı´: 100 Mb/s Fast Ethernet Hostname: skurut.cesnet.cz
INFORMACˇNI´
BULLETIN
CIV — /
2.4. CO
´ S STOJI´ SUPERPOC ˇ I´TA ´ NI´ NA
2.4 Co na´s stojı´ superpoc ˇ´ıta´nı´ V realiteˇ je to tak, zˇe lide´, kterˇ´ı majı´ potrˇebu realizace na´rocˇny´ch veˇdeckotechnicky´ch vy´pocˇtu ˚ , musı´ rˇesˇit i jine´ ota´zky nezˇ technicke´. Je le´pe koupit si pro rˇesˇenı´ nasˇeho u ´ kolu vlastnı´ zarˇ´ızenı´, mı´t nad nı´m plnou kontrolu, ale take´ ne´st vsˇechny starosti a na´klady spojene´ s jeho provozem, nebo je vy´hodneˇjsˇ´ı uvazˇovat o vyuzˇitı´ nabı´zeny´ch sluzˇeb? Takove´ ota´zky musı´ rˇesˇit rˇada pracovisˇt’. Jednou, snad nejdu ˚ lezˇiteˇjsˇ´ı ota´zkou ˇ U, v tomto uvazˇova´nı´, je ota´zka financˇnı´. Co mne, jako zameˇstnance ZC bude sta´t pouzˇitı´ clusteru? Jak to vlastneˇ je s takovy´mi sluzˇbami v ra´mci ˇ U? rozpocˇtu ZC ˇ U umozˇn Zde je trˇeba zdu ˚ raznit, zˇe nova´ metodika rozpocˇtu ZC ˇ uje u investicˇnı´ho majetku porˇ´ızene´ho z grantovy´ch zdroju ˚ eliminovat negativnı´ efekty odpisove´ho mechanismu. Protozˇe obeˇ uvedena´ zarˇ´ızenı´ jsou, jak jizˇ bylo rˇecˇeno, porˇ´ızena z grantovy´ch prostrˇedku ˚ , a uvedene´ mechanismy na neˇ byly plneˇ aplikova´ny (cluster META Centra je navı´c v majetku CESNETu), nejsou jejich uzˇivatele´ zateˇzˇova´ni zˇa´dny´mi platbami (typu „podı´lu na odpisech“ apod.) Prakticky to znamena´, zˇe po vyrˇ´ızenı´ minima´lnı´ch formalit (registrace, zrˇ´ızenı´ konta atd.) jsou obeˇ zarˇ´ızenı´ ˇ U k dispozici pro jejich vy´pocˇty. uzˇivatelu ˚ m z rˇad akademicke´ obce ZC Jsou zde jen dveˇ omezenı´, jezˇ jsou (nebo by meˇla by´t) prˇi dane´m zdroji financova´nı´ samozrˇejma´: • zarˇ´ızenı´ vyuzˇ´ıvat pouze pro nekomercˇnı´ u ´ cˇely, • v publikacˇnı´ch vy´stupech ocitovat cˇ´ısla prˇ´ıslusˇny´ch grantovy´ch projektu ˚.
PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 3 ˇ ´ISTUP PR
˚M KE ZDROJU
3.1 Elektronicka´ agenda uz ˇivatele Drˇ´ıve nezˇ zacˇneme pracovat na vy´pocˇetnı´ch zdrojı´ch v ra´mci META Centra, musı´me absolvovat jistou administrativnı´ proceduru. Tato procedura je podporovana´ elektronicky´m syste´mem (prˇes WWW rozhranı´), neˇktere´ u ´ kony je vsˇak trˇeba realizovat pı´semny´m stykem s prˇ´ıslusˇny´m uzlem META Centra. V neˇktery´ch prˇ´ıpadech (naprˇ. cluster minos) navı´c zrˇ´ızenı´ prˇ´ıstupu podle´ha´ schva´lenı´ za´stupcem partnerske´ organizace (v tomto prˇ´ıpadeˇ za ITI Ing. R. Kuzˇelem). Te´matem tohoto sbornı´ku jsou clustery a to zejme´na ty instalovane´ na ˇ U. Je proto namı´steˇ nejprve rˇ´ıci, zˇe pokud jste uzˇivatelem META CenZC tra (naprˇ´ıklad pouzˇ´ıva´te superpocˇ´ıtacˇe ZSC kirke a pasifae), stacˇ´ı Va´m podat zˇa´dost o prˇ´ıstup na clustery nympha a minos (viz da´le). Vasˇe uzˇivatelske´ konto v META Centru je jedno a budete jej nada´le pouzˇ´ıvat. Pozna´mka: Vsˇechny odkazovane´ funkce WWW rozhranı´ jsou prˇ´ıstupne´ z webove´ stra´nky META Centra, ktera´ se nacha´zı´ na URL http://meta.cesnet.cz. Nı´zˇe uvedena´ konkre´tnı´ URL slouzˇ´ı pouze pro rychlejsˇ´ı orientaci v prˇ´ıpadeˇ, zˇe ma´te na ocˇ´ıch tento sbornı´k.
3.1.1 Elektronicka´ prˇihla´s ˇka Pokud nejste uzˇivatelem META Centra, zacˇneˇte poda´nı´m prˇihla´sˇky. Prˇihla´sˇka se vypln ˇ uje elektronicky prostrˇednictvı´m WWW formula´rˇe. Ten najdete na adrese
3.1. ELEKTRONICKA´
ˇ IVATELE AGENDA UZ
https://scb.ics.muni.cz/active-pub/registration/. Zde prosı´m vypln ˇ te u ´ plneˇ a spra´vneˇ pozˇadovane´ u ´ daje. Pokud jste zaˇ U, uved’te prosı´m do polozˇky UC ˇ O svoje uzˇivatelske´ jme´no meˇstnanci ZC ˇ U na´m bohuzˇel vzhledem k prov projektu ORION. Vasˇe osobnı´ cˇ´ıslo na ZC ble´mu ˚ m s propojenı´m databa´zı´ neprˇina´sˇ´ı zˇa´dnou informaci. Take´ jako svu ˚ j pozˇadovany´ login prosı´m uva´deˇjte stejny´ login jako ma´te v ORIONu. ˇ U, tak va´m tato volba Pokud nebude jizˇ zabrany´ uzˇivatelem mimo ZC poneˇkud zjednodusˇ´ı zˇivot. Do projektu se mu ˚ zˇete prˇipojit dodatecˇneˇ, nicme´neˇ pokud patrˇ´ıte mezi uzˇivatele z rˇad ITI, prˇipojte se k prˇ´ıslusˇne´mu projektu radeˇji hned, zejme´na z du ˚ vodu zı´ska´nı´ prˇ´ıslusˇny´ch privilegiı´ (viz da´le). V sekci „pozˇadovane´ u ´ cˇty“ nezapomen ˇ te oznacˇit clustery nympha a minos. Opeˇt lze pozˇadavek na zrˇ´ızenı´ u ´ cˇtu podat dodatecˇneˇ, dojde vsˇak ke zbytecˇne´mu zdrzˇenı´. ˇ a´dost bude automaticky elektronicky postoupena ke schva´lenı´ prˇ´ıZ slusˇne´mu pracovnı´kovi (v nasˇem prˇ´ıpadeˇ ZSC — Ing. J. Kn ˇ ourek a ITI — Ing. R. Kuzˇel). Do kolonky zdu ˚ vodneˇnı´ prˇihla´sˇky ma´te mozˇnost volny´m textem uve´st dalsˇ´ı informace pro tohoto pracovnı´ka. Po odesla´nı´ prˇihla´sˇky se vytvorˇ´ı jejı´ forma vhodna´ pro tisk. Vytiskneˇte ji, podepisˇte a dle u ´ daju ˚ na WWW zasˇlete na prˇ´ıslusˇnou adresu. Svy´m podpisem stvrzujete souhlas s pravidly META Centra, poveˇrˇeny´ pracovnı´k cˇeka´ se schva´lenı´m Vasˇ´ı prˇihla´sˇky na dorucˇenı´ tohoto dokumentu.
3.1.2 Projekty Pod pojmem projekt se v kontextu uzˇivatelske´ administrativy META Centra myslı´ uceleny´ pracovnı´ za´meˇr, spojujı´cı´ uzˇivatele do skupiny, ktera´ ma´ spolecˇne´ vlastnosti. Typicky z cˇlenstvı´ v projektu plynou jista´ prˇ´ıstupova´ opra´vneˇnı´ a priority. Projekty se take´ pouzˇ´ıvajı´ v souvislosti s politikou prodluzˇova´nı´ u ´ cˇtu (viz da´le) k oznacˇenı´ u ´ kolu, na ktere´m uzˇivatel pracuje. Z hlediska tohoto sbornı´ku je du ˚ lezˇity´ projekt ITI, ktery´ slouzˇ´ı k oznacˇenı´ pracovnı´ku ˚ ITI. Z cˇlenstvı´ v tomto projektu plynou priority na clusteru minos. Kazˇdy´ uzˇivatel mu ˚ zˇe by´t ve vı´ce projektech, lze se tedy da´le prˇihla´sit k projektu dle konkre´tnı´ho vy´zkumu (cˇlenstvı´ v projektu ITI je spı´sˇe da´no prˇ´ıslusˇnostı´ k pracovisˇti). Pro vytva´rˇenı´ projektu ˚ , prˇihlasˇova´nı´ se k nim a odhlasˇova´nı´ slouzˇ´ı samostatna´ WWW stra´nka pod administrativou u ´ cˇtu (viz da´le). PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 3. PRˇI´STUP
˚M KE ZDROJU
3.1.3 Osobnı´ administrativa u ´c ˇtu Po vytvorˇenı´ konta v META Centru se kazˇde´mu uzˇivateli zprˇ´ıstupnı´ (po zada´nı´ uzˇivatelske´ho jme´na a hesla) cˇa´st WWW prostoru, kde pracuje pod svojı´ osobnı´ identitou (Osobnı´ administrativa). Zde se prova´deˇjı´ da´le popsane´ u ´ kony i vy´sˇe odkazovana´ pra´ce s projekty. Du ˚ lezˇite´ je rˇ´ıci, zˇe kazˇdy´ uzˇivatel nese odpoveˇdnost za aktua´lnost svy´ch osobnı´ch u ´ daju ˚ v databa´zi, prˇicˇemzˇ k jejich u ´ praveˇ slouzˇ´ı formula´rˇ „Osobnı´ u ´ daje“. Zejme´na prosı´m dbejte na to, aby vasˇe adresa elektronicke´ posˇty byla funkcˇnı´. Prakticky: Ma´te-li jizˇ konto v META Centru, zvolte „Osobnı´ u ´ daje“ na URL https://scb.ics.muni.cz/active/personal/ a zkontrolujte a prˇ´ıpadneˇ opravte zde uvedene´ u ´ daje. Zcela jisteˇ dosˇlo ˇ U. naprˇ. ke zmeˇneˇ telefonnı´ch cˇ´ısel pracovnı´ku ˚ ZC
ˇ a´dost o prˇ´ıstup na konkre´tnı´ uzel 3.1.4 Z Jednou z funkcı´ osobnı´ administrativy je i zˇa´dost o prˇ´ıstup na dalsˇ´ı uzly META Centra. Tuto funkci pouzˇije naprˇ´ıklad uzˇivatel, ktery´ jizˇ ma´ konto ˇ U. Jelikozˇ tyto podle´hajı´ v META Centru a chce pouzˇ´ıvat clustery na ZC schva´lenı´ prˇ´ıstupovy´ch opra´vneˇnı´ (viz vy´sˇe), mu ˚ zˇe operace trvat delsˇ´ı dobu. Prakticky: Ma´te-li konto v META Centru a chcete pouzˇ´ıvat clustery na ˇ U, prˇihlaste se na URL ZC https://scb.ics.muni.cz/active/personal/ ˇ a´dost o dalsˇ´ı u svy´m uzˇivatelsky´m jme´nem a heslem, zvolte „Z ´ cˇty“, vyberte clustery nympha a minos a zˇa´dost odesˇlete. V prˇ´ıpadeˇ proble´mu ˚ kontaktujte vy´sˇe uvedene´ pracovnı´ky.
3.1.5 Vy ´ roc ˇnı´ zpra´va — politika prodluz ˇ ova´nı´ u ´c ˇtu ˚ Politika prodluzˇova´nı´ u ´ cˇtu ˚ v podstateˇ vyjadrˇuje politiku META Centra vu ˚ cˇi uzˇivatelu ˚ m. Prakticky kdokoli, kdo splnı´ za´kladnı´ podmı´nky akademicke´ho vyuzˇitı´ vy´pocˇetnı´ch kapacit a software, mu ˚ zˇe vy´sˇe popsany´m postupem zı´skat uzˇivatelske´ konto. Pote´ ma´ mozˇnost volneˇ pracovat a vyuzˇ´ıvat standardnı´m zpu ˚ sobem zdroju ˚ META Centra a to po dobu jednoho roku. Na konci roku musı´ pozˇa´dat o prodlouzˇenı´ uzˇivatelske´ho konta, INFORMACˇNI´
BULLETIN
CIV — /
3.2. UZˇIVATELSKE´
ˇ EDI´ PROSTR
prˇicˇemzˇ nutnou prˇ´ılohou k te´to zˇa´dosti je vy´rocˇnı´ zpra´va — text popisujı´cı´ jeho pra´ci a dosazˇene´ vy´sledky. Na za´kladeˇ te´to zpra´vy, prˇ´ıpadneˇ dalsˇ´ıch vyzˇa´dany´ch informacı´, je rozhodnuto o prodlouzˇenı´ konta. Proces se opakuje kazˇdy´ rok, prˇicˇemzˇ k dosazˇeny´m vy´sledku ˚ m mu ˚ zˇe by´t prˇihlı´zˇeno take´ prˇi prˇideˇlova´nı´ nadstandardnı´ch zdroju ˚ a stanovova´nı´ priorit prˇ´ıstupu k nim. Pokud uzˇivatel pracuje na konkre´tnı´m a prˇedem vyprofilovane´m te´matu, je zˇa´doucı´ toto uve´st formou projektu. To kromeˇ jine´ho umozˇn ˇ uje poda´vat jednu souhrnnou vy´rocˇnı´ zpra´vu za cely´ projekt. Kazˇdy´ uzˇivatel sice musı´ osobneˇ podat zˇa´dost o prodlouzˇenı´ u ´ cˇtu (pouze elektronicka´ forma), ale namı´sto prˇilozˇenı´ vy´rocˇnı´ zpra´vy se mu ˚ zˇe odka´zat na projekt. V beˇzˇne´m pracovnı´m cyklu (mimo novy´ch uzˇivatelu ˚ ) se prˇedpokla´da´ odevzda´va´nı´ vy´rocˇnı´ch zpra´v na konci kalenda´rˇnı´ho roku. Vy´sˇe popsana´ aplikace politiky prodluzˇova´nı´ u ´ cˇtu je za´roven ˇ prostrˇedkem pro sbeˇr podkladu ˚ pro tvorbu „Rocˇenky META Centra “, dokumentu, ktery´ prezentuje cˇinnost uzˇivatelu ˚ META Centra [1]. Prakticky: Ma´te-li konto v META Centru jizˇ delsˇ´ı dobu, vyuzˇijte situace na konci roku, kdy pravdeˇpodobneˇ stejneˇ musı´te poda´vat minima´lneˇ pru ˚ beˇzˇne´ zpra´vy svy´ch vy´zkumny´ch aktivit a podejte i vy´rocˇnı´ zpra´vu META Centra — na URL https://scb.ics.muni.cz/active/personal/, volba „Vy´rocˇnı´ zpra´va a prodlouzˇenı´ u ´ cˇtu“.
3.2 Uz ˇivatelske´ prostrˇedı´ ˇ ´ıdı´cı´ stanice jsou urcˇeny k prˇ´ıpraveˇ a zada´va´nı´ u R ´ loh, vy´pocˇetnı´ stanice k jejich prova´deˇnı´. Na rˇ´ıdı´cı´ch stanicı´ch nenı´ dovoleno za norma´lnı´ch okolnostı´ spousˇteˇt u ´ lohy. Na vy´pocˇetnı´ch uzly se uzˇivatele´ obvykle neprˇihlasˇujı´. Prˇihla´sˇenı´ k rˇ´ıdı´cı´m stanicı´m je mozˇno prove´st pomocı´ kryptovane´ho spojenı´ (naprˇ´ıklad ssh) neˇkolika zpu ˚ soby. Vyuzˇijeme-li nasˇe konto na strojı´ch META Centra v Plzni, skla´da´ se prˇihla´sˇenı´ z prostrˇedı´ ORION z na´sledujı´cı´ch prˇ´ıkazu ˚: add meta metaconnect kirke ssh nympha Domovske´ adresa´rˇe na jednotlivy´ch cˇa´stech clusteru jsou na rˇ´ıdı´cı´ch stanicı´ch nympha, minos, skirit a skurut, a jsou v ra´mci clusteru sdı´leny PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 3. PRˇI´STUP
˚M KE ZDROJU
prostrˇednictvı´m NFS. V domovsky´ch adresa´rˇ´ıch nenı´ mozˇno spousˇteˇt u ´ lohy, ktere´ majı´ jake´koli na´roky na vstupneˇ-vy´stupnı´ operace (kromeˇ trivia´lnı´ch). K tomu jsou urcˇeny adresa´rˇe /scratch/username na vsˇech vy´pocˇetnı´ch stanicı´ch clusteru. Soubory potrˇebne´ pro beˇh u ´ lohy je nutno na jejı´m zacˇa´tku zkopı´rovat z domovske´ho adresa´rˇe a na konci opeˇt ulozˇit, nebo le´pe nakopı´rovat prostrˇednictvı´m PBS s vyuzˇitı´m stagein a stageout operacı´ (viz dokumentace k PBS). V doma´cı´m adresa´rˇi je take´ vytvorˇen link shared na domovsky´ adresa´rˇ v prˇ´ıslusˇne´ AFS bun ˇ ce uzˇivatele, tedy naprˇ´ıklad v prˇ´ıpadeˇ uzˇivatele ˇ U na /afs/zcu.cz/users/k/knourek. Protozˇe ma´ po prˇiknourek ze ZC hla´sˇenı´ poveˇrˇenı´ i pro bun ˇ ku zcu.cz (oveˇrˇ´ıte prˇ´ıkazem klist -T), mu ˚ zˇe prˇistupovat k AFS adresa´rˇu ˚ m, ktere´ jsou mu beˇzˇneˇ dostupne´ i v prostrˇedı´ ORION. Podobneˇ jako v prostrˇedı´ ORION je aplikacˇnı´ software rozdeˇlen do balı´ku ˚ , tzv. modulu˚. Syste´m spra´vy prostrˇedı´ modules zajisˇt’uje uzˇivatelske´ rozhranı´ k modifikacı´m prostrˇedı´ potrˇebny´m pro spousˇteˇnı´ aplikacˇnı´ch programu ˚ . Umozˇn ˇ uje tak konfigurovat relaci uzˇivatele neza´visle na platformeˇ a fyzicke´m umı´steˇnı´ potrˇebny´ch souboru ˚ , a vyhnout se tak mnohdy komplikovany´m rucˇnı´m modifikacı´m prostrˇedı´. Na´sledujı´cı´ prˇ´ıkazy vypı´sˇ´ı seznam dostupny´ch modulu ˚ na dane´m syste´mu a prˇipojı´ modul fluent60. module available module load fluent60 Standardneˇ ma´ uzˇivatel nastaven jako prˇihlasˇovacı´ shell bash. Jeho konfigurace cˇi dalsˇ´ı nastavenı´ je mozˇno prove´st v souboru .bashrc v domovske´m adresa´rˇi. Uzˇivatel, zvykly´ na prostrˇedı´ ORION, mozˇna´ zmeˇnı´ rˇa´dku set -o vi na set -o emacs aby mohl editovat pohodlneˇ prˇ´ıkazove´ rˇa´dky. Do souboru .bashrc je take´ vhodne´ umı´stit prˇ´ıkazy prˇipojujı´cı´ prˇ´ıslusˇny´ aplikacˇnı´ software pro prˇ´ıpad paralelnı´ho beˇhu programu ˚.
3.3 Syste´m da´vkove´ho zpracova´nı´ u ´ loh — PBS V te´to podkapitole bude popsa´n zhruba syste´m da´vkove´ho zpracova´nı´ u ´ loh — PBS. Uzˇivatel najde odpovı´dajı´cı´ dokumentaci k PBS na URL http://meta.cesnet.cz, proto se zde syste´mem nebudeme zaby´vat podrobneˇ. Vysveˇtlı´me pouze neˇktere´ za´kladnı´ principy, konkre´tnı´ pouzˇitı´ je pak videˇt v prˇ´ıkladech v kapitole 4. Detailnı´ na´poveˇdu pak uzˇivatel najde v manua´lovy´ch stra´nka´ch prˇ´ıslusˇny´ch prˇ´ıkazu ˚. INFORMACˇNI´
BULLETIN
CIV — /
3.3. SYSTE´M
´ VKOVE ´ HO ZPRACOVA ´ NI´ U ´ LOH DA
— PBS
3.3.1 Jak lze cluster vyuz ˇ´ıvat Z hlediska uzˇivatelske´ho prostrˇedı´ ma´ uzˇivatel v za´sadeˇ dveˇ mozˇnosti, jak na clusteru pocˇ´ıtat. Uzˇivatelsky nejprˇ´ıveˇtiveˇjsˇ´ı mozˇnostı´ je pouzˇitı´ specializovane´ho software urcˇene´ho pro rˇesˇenı´ u ´ loh z konkre´tnı´ch oblastı´ (naprˇ´ıklad FLUENT pro modelova´nı´ proudeˇnı´ tekutin, MSC.MARC pro struktura´lnı´ dynamiku cˇi ANSYS pro simulaci obecny´ch fyzika´lnı´ch jevu ˚ ). V tomto prˇ´ıpadeˇ uzˇivatel pracuje v prostrˇedı´, ktere´ du ˚ veˇrneˇ zna´, a o distribuci jı´m prˇipravene´ u ´ lohy na jednotlive´ vy´pocˇetnı´ uzly clusteru se nemusı´ starat, protozˇe ji za neˇj automaticky zajisˇt’uje uzˇivatelsky´ software. Ve druhe´m prˇ´ıpadeˇ uzˇivatel prˇi algoritmizaci u ´ lohy a programa´torske´ pra´ci (typicky program v jazyce C nebo Fortran) u ´ lohu rozdeˇlı´ na neza´visle´ cˇa´sti, a potrˇebnou synchronizaci mezi nimi zajisˇt’uje jako soucˇa´st sve´ programa´torske´ pra´ce s vyuzˇitı´m specia´lnı´ch knihoven pro prˇeda´va´nı´ zpra´v (MPI, PVM). Dva vy´sˇe uvedene´ prˇ´ıpady platı´ pro distribuovane´ zpracova´nı´ u ´ lohy na vı´ce uzlech. Existujı´ samozrˇejmeˇ i situace, kdy u ´ loha mu ˚ zˇe vyuzˇ´ıvat pouze jeden procesor uzlu clusteru nebo beˇzˇet na jednom uzlu prˇi vyuzˇitı´ obou procesoru ˚ za pouzˇitı´ symetricke´ho multiprocesingu. Ve vsˇech prˇ´ıpadech jsou pak prˇipravene´ u ´ lohy na clusteru zpracova´va´ny v da´vkove´m rezˇimu, cozˇ znamena´, zˇe jednotlivı´ uzˇivatele´ vlozˇ´ı sve´ u ´ lohy do fronty na clusteru a da´vkovy´ syste´m zajistı´ jejich postupne´ zpracova´nı´ na volny´ch uzlech podle specifikovany´ch krite´riı´. Da´vkovy´m syste´mem zpracova´nı´ u ´ loh, ktery´ je k dispozici na PC clusterech META Centra je PBS — Portable Batch System. Syste´m PBS umozˇn ˇ uje interaktivnı´ i neinteraktivnı´ beˇh u ´ loh majı´cı´ch ru ˚ zne´ pozˇadavky tak, aby sdı´lene´ prostrˇedky byly zateˇzˇova´ny raciona´lneˇ a rovnomeˇrneˇ, a aby nedocha´zelo k monopolizaci zdroju ˚ urcˇity´mi u ´ lohami nebo uzˇivateli.
3.3.2 Koncepty PBS ´ loZa´kladnı´m pojmem syste´mu PBS z pohledu uzˇivatele je u ´ loha (job). U hou rozumı´me jeden nebo vı´ce prˇ´ıbuzny´ch UNIXovsky´ch procesu ˚ , ktere´ se podı´lı´ na rˇesˇenı´ jednoho (obvykle ucelene´ho) u ´ kolu zadane´ho uzˇivatelem. Pod pojem u ´ loha tedy spadajı´ vsˇechny tyto procesy souvisejı´cı´ s vy´pocˇtem, vcˇetneˇ procesu ˚ rezˇijnı´ch. ´ lohy, zada´vane´ uzˇivateli, se zarˇazujı´ do tzv. front, kde cˇekajı´ na siU tuaci vhodnou ke spusˇteˇnı´, a to prˇedevsˇ´ım z hlediska za´teˇzˇe syste´mu. PBS server rˇ´ıdı´ PBS na dane´ skupineˇ stroju ˚ (clusteru). PBS serveru jsou zası´la´ny u ´ lohy prostrˇednictvı´m prˇ´ıkazu qsub, a PBS server se take´ stara´ PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 3. PRˇI´STUP
˚M KE ZDROJU
o jejich spousˇteˇnı´. V prˇ´ıpadeˇ popisovany´ch PC clusteru ˚ je PBS serverem skirit.ics.muni.cz. Vlastnosti (properties) v PBS jsou forma´lnı´ za´pisy urcˇity´ch pozˇadavku ˚, ktere´ ma´me na stroj (stroje), na nichzˇ ma´ by´t u ´ loha spusˇteˇna. Pomocı´ vlastnostı´ lze vyja´drˇit pozˇadavky naprˇ. na typ sı´t’ove´ho propojenı´ vy´pocˇetnı´ch uzlu ˚ nebo na fyzicke´ umı´steˇnı´ uzlu ˚ . Seznam vlastnostı´ lze (mimo jine´) zjistit prˇ´ıkazem pbsnodes. Zdroje syste´mu jsou ukazatele urcˇity´ch vlastnostı´ pocˇ´ıtacˇe (naprˇ. pameˇt’, zatı´zˇenı´, kapacita docˇasne´ho adresa´rˇe atd.), na neˇmzˇ urcˇita´ konkre´tnı´ instance PBS beˇzˇ´ı. Pozˇadavky na tyto vlastnosti a zdroje (naprˇ. typu „Chci dva uzly kazˇdy´ se dveˇma procesory“, „Chci nejme´neˇ 250 MB pameˇti“, nebo „Chci 15 hodin skutecˇne´ho cˇasu“) jsou formulova´ny cˇa´rkami oddeˇleny´mi rˇeteˇzci, a jsou obvykle zada´va´ny jako argument volby -l prˇ´ıkazu qsub.
3.3.3 Ne ˇ ktere´ prˇ´ıkazy pro ovla´da´nı´ PBS Podrobny´ popis prˇ´ıkazu ˚ najde uzˇivatel na URL http://meta.cesnet.cz v oddı´le Dokumentace, cˇa´st PBS. Na´sledujı´cı´ prˇehled je pouze informativnı´m u ´ vodem. qsub Prˇ´ıkaz, ktery´ na´m umozˇnı´ zaslat job ke zpracova´nı´. Je vhodne´ co nejprˇesneˇji specifikovat na´roky na zdroje. V prˇ´ıpadeˇ prˇijetı´ jobu do fronty ke zpracova´nı´ je vy´stupem prˇ´ıkazu identifika´toru jobu, jobID. Kdyzˇ specifikovane´ pozˇadavky prˇekrocˇ´ı limity pro danou frontu, je vy´sledkem chybove´ hla´sˇenı´. Syntaxi prˇ´ıkazu na´sledujı´ prˇ´ıklady pouzˇitı´: qsub -q fronta -l resources job qsub -q short -l nodes=1:ppn=1:brno,cput=2:00:00 \ > job.script qsub -q normal -l nodes=4:ppn=2:plzen,\ > walltime=10:00:00,pvmem=200mb job.script Definice jobu je skryta ve skriptu (da´vce) job.script. Zde se jeho na´plnı´ nebudeme zaby´vat, konkre´tnı´ prˇ´ıklady pouzˇitı´ s dostatecˇny´m popisem najde cˇtena´rˇ v kapitole 4. Druhy´m prˇ´ıkazem pozˇadujeme spusˇteˇnı´ jobu ve fronteˇ short po dobu 2 hodin na neˇktere´m ze stroju ˚ v Brneˇ. Trˇetı´m prˇ´ıkazem pozˇadujeme umı´steˇnı´ jobu do fronty normal, s pozˇadavkem na prˇideˇlenı´ cˇtyrˇ uzlu ˚ na plzen ˇ ske´m clusteru, na kazˇde´m 1 procesor a 200 MB pameˇti po dobu 10 hodin. Po prˇekrocˇenı´ limitu skutecˇne´ho INFORMACˇNI´
BULLETIN
CIV — /
3.3. SYSTE´M
´ VKOVE ´ HO ZPRACOVA ´ NI´ U ´ LOH DA
— PBS
cˇasu cˇi jiny´ch zdroju ˚ (pro danou frontu, nebo specifikovany´ch jako zdroj prostrˇednictvı´m volby -l) je u ´ loha na´silneˇ ukoncˇena. qstat Tı´mto prˇ´ıkazem lze zjistit stav jobu ˚ , ktere´ zrovna spravuje PBS server. Typicke´ pouzˇitı´ prˇ´ıkazu je uvedeno nı´zˇe, vy´stupem je informace o stavu jobu, dosud spotrˇebovany´ch zdrojı´ch cˇi dalsˇ´ıch okolnostech. qstat jobID qstat -ans -u login qdel Umozˇnı´ odstraneˇnı´ u ´ lohy z fronty. Jeho syntaxe je takte´zˇ jednoducha´: qdel jobID xpbs, xpbsmon Graficky´ prˇehled o PBS serverech, fronta´ch a u ´ loha´ch, s mozˇnostı´ zaslat u ´ lohu do fronty, nebo jednoduche´ modifikace beˇzˇ´ıcı´ u ´ lohy, poskytuje program xpbs. Graficke´ zna´zorneˇnı´ vytı´zˇenı´ jednotlivy´ch uzlu ˚ v PBS umozˇn ˇ uje program xpbsmon. Protozˇe to jsou programy s graficky´m uzˇivatelsky´m rozhranı´m, a jejich ovla´da´nı´ by tedy meˇlo by´ti intuitivnı´, nebudeme se jimi zde zaby´vat.
PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 4
UKA´ZKY
´ TNI´ PRA ´ CE KONKRE ´ TYPY U ´ LOH ˚ ZNE PRO RU
Prˇedpokla´da´me, zˇe cˇtena´rˇ patrˇ´ı mezi uzˇivatele UNIXovy´ch operacˇnı´ch syste´mu ˚ s alespon ˇ za´kladnı´mi znalostmi. V prˇ´ıpadeˇ uka´zek pra´ce s vy´pocˇty pomocı´ komercˇnı´ch balı´ku ˚ (FLUENT, MSC.MARC, ANSYS) prˇedpokla´da´me, zˇe je schopen beˇzˇny´mi zpu ˚ soby u ´ lohu prˇipravit k fina´lnı´mu zpracova´nı´. Pozna ´ mka: Neˇktere´ uva´deˇne´ jednorˇa´dkove´ prˇ´ıkazy, ktere´ se nevesˇly na sˇ´ırˇku textu tohoto dokumentu, jsou rozdeˇlene´ znakem „\“ na konci rˇa´dku a pokracˇujı´ pak znakem „>“ na rˇa´dku na´sledujı´cı´m.
4.1 Jednoduchy ´ skript ˇ ernohorsky´. Prˇevzato z dokumentace k syste´mu PBS, autorem Martin C Uvedeme si nejdrˇ´ıve trivia´lnı´ prˇ´ıklad, na neˇmzˇ demonstrujeme funkci PBS. Do fronty short zasˇleme u ´ lohu, ktera´ zjistı´ stroj, na ktere´m je spusˇteˇna a aktua´lnı´ adresa´rˇ. Za´znam termina´love´ seance pak mu ˚ zˇe vypadat naprˇ´ıklad takto: skirit$ cat pokus # Jednoduchy pokus s pouzitim PBS. # Vypiseme hostname stroje, na kterem se uloha spusti, hostname # pracovni adresar v nemz se spusti, /bin/pwd # a datum a cas:
4.2. DOMA
´D PSANY´ KO
date # To je vse, konec skriptu ”pokus”. skirit$ pwd /home/cerno skirit$ qsub -q short -l nodes=1:ppn=1:brno pokus 457.skirit.ics.muni.cz skirit$ qstat 457.skirit.ics.muni.cz Job id Name User Time Use S Queue ------------- ----------- ----------- -------- - ----457.skirit pokus cerno 00:00:00 R short skirit$ Po skoncˇenı´ u ´ lohy nalezneme v prˇ´ıslusˇny´ch souborech standardnı´ a standardnı´ chybovy´ vy´stup (stdout a stderr): skirit$ ls -o *457 -rw------- 1 cerno 0 Jan 28 12:49 pokus.e457 -rw------- 1 cerno 60 Jan 28 12:49 pokus.o457 skirit$ cat pokus.o457 skirit2 /amd/skirit/home/cerno Mon Jan 28 12:49:08 CET 2001 skirit$
4.2 Doma psany ´ ko ´d Uzˇivatel ma´ na clusterech samozrˇejmeˇ take´ mozˇnost spousˇteˇt vlastnı´ paralelnı´ programy napsane´ v beˇzˇne´m programovacı´m jazyce, naprˇ´ıklad C, Fortran. Pro synchronizaci teˇchto programu ˚ je mozˇne´ pouzˇ´ıt komunikacˇnı´ knihovny MPI (Message Passing Interface) cˇi PVM (Parallel Virtual Machine). Oba tyto typy komunikacˇnı´ch knihoven jsou velmi cˇasto pouzˇ´ıvane´ v oblasti paralelnı´ch vy´pocˇtu ˚ a take´ velmi dobrˇe dokumentovane´. Spusˇteˇnı´ uzˇivatelem napsane´ho programu si demonstrujeme na na´sledujı´cı´m jednoduche´m prˇ´ıkladeˇ. Jedna´ se program „cpi.c“ pro vy´pocˇet cˇ´ısla π. Zdrojovy ´ ko ´ d programu: /∗ Program pro vypocet cisla PI ∗/
PC
CLUSTERY NA
ˇ U V∼PLZNI ZC
KAPITOLA 4. UKA´ZKY
´ TNI´ PRA ´ CE PRO RU ´ TYPY U ´ LOH ˚ ZNE KONKRE
#include ”mpi.h” #include <stdio.h> #include <math.h> double f(a) double a; { return (4.0 / (1.0 + a∗a)); } int main(argc,argv) int argc; char ∗argv[]; { int done = 0, n, myid, numprocs; long i; double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x; double startwtime, endwtime; int namelen; char processor name[MPI MAX PROCESSOR NAME]; MPI MPI MPI MPI
Init(&argc,&argv); Comm size(MPI COMM WORLD,&numprocs); Comm rank(MPI COMM WORLD,&myid); Get processor name(processor name,&namelen);
fprintf(stdout,”Process %d of %d on %s\n”, myid, numprocs, processor name); n = 0; while (!done) { if (myid == 0) { if(n == 0) n=1000000; else n=0; startwtime = MPI Wtime(); } MPI Bcast(&n, 1, MPI INT, 0, MPI COMM WORLD); INFORMACˇNI´
BULLETIN
CIV — /
4.2. DOMA
´D PSANY´ KO
if (n == 0) done = 1; else { h = 1.0 / (double) n; sum = 0.0; for (i∼= myid + 1; i∼≤ n; i∼+= numprocs) { x = h ∗ ((double)i − 0.5); sum += f(x); } mypi = h ∗ sum; MPI Reduce(&mypi, &pi, 1, MPI DOUBLE, MPI SUM, 0, MPI COMM WORLD); if (myid == 0) { printf(”pi is approximately %.16f, Error is %.16f\n”, pi, fabs(pi − PI25DT)); endwtime = MPI Wtime(); printf(”wall clock time = %f\n”, endwtime−startwtime); } } } MPI Finalize(); return 0; } Ma´me-li zdrojovy´ ko´d programu, bude dalsˇ´ım krokem jeho prˇelozˇenı´. Jelikozˇ jednotne´ prostrˇedı´ clusteru ˚ obsahuje tzv. modula´rnı´ syste´m uzˇivatelsky´ch programu ˚ je nutne´ potrˇebne´ aplikace nejprve aktivovat pomocı´ prˇ´ıkazu module. Pro potrˇeby nasˇeho prˇ´ıkladu budou vsˇechny prˇ´ıkazy spousˇteˇny v domovske´m adresa´rˇi. Abychom mohli prˇelozˇit na´sˇ prˇ´ıklad, bude nutne´ zaktivovat prˇ´ıslusˇnou implementaci MPI (seznam dostupny´ch implementacı´ lze najı´t na http://meta.cesnet.cz/software/index.cz.html). V nasˇem prˇ´ıpadeˇ zvolı´me implementaci LAM/MPI (Local Area Multicomputer, vı´ce informacı´ viz http://www.lam-mpi.org). Modul pro LAM zaktivujeme prˇ´ıkazem: nympha$ module add lam PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 4. UKA´ZKY
´ TNI´ PRA ´ CE PRO RU ´ TYPY U ´ LOH ˚ ZNE KONKRE
Program prˇelozˇ´ıme: nympha$ mpicc -o cpi cpi.c Da´le budeme pro spusˇteˇnı´ nasˇeho programu potrˇebovat v home adresa´rˇi pomocny´ soubor lamhosts popisujı´cı´ topologii clusteru, tento soubor stacˇ´ı vytvorˇit „jednou pro vzˇdy“. nympha$ cat lamhosts # topologie clusteru nympha # nympha.zcu.cz nympha1.zcu.cz cpu=2 nympha2.zcu.cz cpu=2 nympha3.zcu.cz cpu=2 nympha4.zcu.cz cpu=2 nympha5.zcu.cz cpu=2 nympha6.zcu.cz cpu=2 nympha7.zcu.cz cpu=2 nympha8.zcu.cz cpu=2 nympha9.zcu.cz cpu=2 nympha10.zcu.cz cpu=2 nympha11.zcu.cz cpu=2 nympha12.zcu.cz cpu=2 nympha13.zcu.cz cpu=2 nympha14.zcu.cz cpu=2 nympha15.zcu.cz cpu=2 nympha16.zcu.cz cpu=2 nympha$ Nynı´ prˇipravı´me spousˇteˇcı´ skript do PBS pro nasˇ´ı u ´ lohu. Skript uloha mu ˚ zˇe vypadat naprˇ´ıklad takto: nympha$ cat uloha #! /bin/sh #PBS -m bae # # zaktivovani potrebnych modulu module add lam # INFORMACˇNI´
BULLETIN
CIV — /
4.3. FLUENT
# spusteni LAM/MPI lamboot -v lamhosts # # spusteni programu cpi na 32 procesorech mpirun -np 32 cpi # # ukonceni LAM/MPI lamhalt # konec skriptu nympha$ A nakonec prˇipravenou u ´ lohu posˇleme do fronty prˇ´ıkazem: nympha$ qsub -q short -l nodes=16:ppn=2:plzen \ > uloha O spusˇteˇnı´, ukoncˇenı´ a prˇ´ıpadneˇ o potı´zˇ´ıch prˇi vykona´va´nı´ u ´ lohy bude uzˇivatel automaticky informova´n syste´mem PBS prostrˇednictvı´m e-mailu. Spusˇteˇnı´ uzˇivatelske´ho paralelnı´ho programu pouzˇ´ıvajı´cı´ PVM cˇi jinou implementaci MPI stacˇ´ı pouze zaktivovat prˇ´ıslusˇne´ moduly v zava´deˇcı´m skriptu u ´ lohy. Postup pro spusˇteˇnı´ pak bude zcela analogicky´ vy´sˇe popsane´mu prˇ´ıkladu. Na clusterech minos i nympha jsou nainstalova´ny GNU prˇekladacˇe a uzˇivatel ma´ tedy mozˇnost psa´t sve´ programy v jazycı´ch C, C++ a F77. Pro psanı´ uzˇivatelsky´ch programu ˚ je k dispozici rˇada vy´vojovy´ch na´stroju ˚ na´stroju ˚ , uved’me naprˇ. vampir — na´stroj pro ladeˇnı´ MPI programu ˚ cˇi debugger totalview.
4.3 FLUENT Na PC clusterech v Plzni je instalova´n FLUENT 6.0.20. Nejsou za´meˇrneˇ instalova´ny prostrˇedky pro prˇ´ıpravu u ´ loh, tj. preprocesory GAMBIT a TGrid — clustery by meˇly slouzˇit zejme´na pro fina´lnı´ zpracova´nı´ u ´ loh, tj. pro vlastnı´ vy´pocˇty. FLUENT prˇipojı´me prˇ´ıkazem module load fluent60. Tento prˇ´ıkaz je nutne´ umı´stit do souboru .bashrc v domovske´m adresa´rˇi v prˇ´ıpadeˇ, zˇe chceme aplikaci pouzˇ´ıvat paralelneˇ na vı´ce vy´pocˇetnı´ch uzlech. ˇ U ma´me k dispozici 30 plovoucı´ch licencı´ FLUENTu. Zde je Na ZC trˇeba prˇipomenout, zˇe kazˇde´ spusˇteˇnı´ FLUENTu vyzˇaduje tolik volny´ch licencı´, kolik vy´pocˇetnı´ch uzlu ˚ (tj. z hlediska FLUENTu procesoru ˚ ) je pro zpracova´nı´ u ´ lohy pouzˇito. PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 4. UKA´ZKY
´ TNI´ PRA ´ CE PRO RU ´ TYPY U ´ LOH ˚ ZNE KONKRE
Vzhledem k omezene´mu pocˇtu licencı´ je trˇeba vzˇdy specifikovat jako parametr prˇ´ıkazu qsub vlastnost fluent s prˇ´ıslusˇny´m pocˇtem licencı´ (procesoru ˚ ), ktere´ FLUENT bude potrˇebovat. Viz prˇ´ıklady nı´zˇe. K software FLUENT ma´ prˇ´ıstup pouze omezena´ skupina uzˇivatelu ˚. O zarˇazenı´ do te´to skupiny (v prˇ´ıpadeˇ, zˇe nejste jejı´mi cˇleny) zˇa´dejte na adrese
[email protected].
4.3.1 FLUENT na jednom uzlu stroje Prˇedpokla´dejme, zˇe v adresa´rˇi testy ma´me prˇipravenou u ´ lohu pro FLUENT. Prˇi pouzˇ´ıva´nı´ syste´mu PBS je nutne´ FLUENT spousˇteˇt v da´vkove´m mo´du bez graficke´ho uzˇivatelske´ho rozhranı´. Soubor fluent.input je vlastneˇ seznamem prˇ´ıkazu ˚ , ktere´ ma´ FLUENT vykona´vat a jeho obsah mu ˚ zˇe vypadat na´sledovneˇ: file/read-case jesterka.cas solve/initialize initialize-flow solve/iterate 1000 file/binary-files yes file/write-case-data jesterka2.cas exit Tento vstupnı´ soubor pro FLUENT zajistı´ nacˇtenı´ souboru s popisem u ´ lohy jesterka.cas, inicializaci rˇesˇenı´ a vy´pocˇet po dobu 1000 iteracı´. Pak jsou vy´sledna´ data ulozˇena v bina´rnı´ formeˇ (je rychlejsˇ´ı a u ´ sporneˇjsˇ´ı) do pracovnı´ho adresa´rˇe. Da´le se zde detailneˇji popisem vstupnı´ch souboru ˚ nebudeme zaby´vat. V adresa´rˇi testy se da´le nacha´zı´ soubor jesterka.cas a spustitelny´ (pozor na prˇ´ıslusˇna´ pra´va!) skript fl.node pro PBS. Jeho obsah je na´sledujı´cı´: # zacatek #PBS -m ae # zmena pracovniho adresare cd ˜/testy # spusteni FLUENTu fluent 3d -g -i fluent.input > fluent.output # konec Jako v kazˇde´m shellovske´m skriptu, text za dvojkrˇ´ızˇkem (#) slouzˇ´ı jako komenta´rˇ. Vy´jimku prˇedstavuje konstrukce #PBS, za kterou mu ˚ zˇeme vlozˇit argumenty prˇ´ıkazove´ rˇa´dky prˇ´ıkazu qsub. V tomto prˇ´ıpadeˇ si necha´me poslat zpra´vu elektronickou posˇtou v okamzˇiku ukoncˇenı´ nebo zrusˇenı´ INFORMACˇNI´
BULLETIN
CIV — /
4.3. FLUENT
u ´ lohy (volba -m ae). Skript provede prˇesun do adresa´rˇe ˜/testy, kde spustı´ 3D verzi FLUENTu bez graficke´ho prostrˇedı´. Vstupnı´ soubor se seznamem prˇ´ıkazu ˚ je specifikova´n parametrem -i fluent.input (je vhodneˇjsˇ´ı nezˇ < fluent.input), vy´stup z beˇhu programu je pak prˇesmeˇrova´n do souboru fluent.output. Job umı´stı´me do fronty normal na´sledujı´cı´m prˇ´ıkazem. Prˇedpokla´da´me, zˇe u ´ loha zabere 500 MB pameˇti a do 10 hodin cˇasu, vy´pocˇet probı´ha´ na jednom uzlu plzen ˇ ske´ cˇa´sti clusteru. qsub -q normal -l nodes=1:ppn=1:plzen,walltime= \ > 10:00:00,pvmem=300mb -l fluent=1 fl.node Nynı´ tu samou u ´ lohu pustı´me na jednom uzlu na dvou procesorech. Prˇedpokla´dejme, zˇe definice u ´ lohy na´m to umozˇnı´ (viz dalsˇ´ı kapitola). Lehce se zmeˇnı´ pouze skript fl.node pro PBS: # zacatek #PBS -m ae # zmena pracovniho adresare cd ˜/testy # spusteni FLUENTu fluent 3d -g -psmpi -t2 -i fluent.input > fluent.out # konec ˇ eteˇzec -psmpi -t2 zajistı´ spusˇteˇnı´ paralelnı´ verze FLUENTu s vyuzˇitı´m R dvou procesoru ˚ . Prˇ´ıkaz pro umı´steˇnı´ u ´ lohy do fronty je pak na´sledujı´cı´: qsub -q normal -l nodes=1:ppn=2:plzen,walltime= \ > 7:00:00,pvmem=300mb -l fluent=2 fl.node
4.3.2 Paralelnı´ sı´t’ova´ verze FLUENTu Jedina´ cesta, jak spocˇ´ıtat neˇktere´ na´rocˇne´ u ´ lohy v rea´lne´m cˇase, je pouzˇ´ıvat FLUENT v sı´t’ove´ paralelnı´ verzi. Zda vu ˚ bec a s jakou meˇrou vyuzˇitı´ dostupny´ch prostrˇedku ˚ , za´lezˇ´ı na rozmyslu uzˇivatele a konkre´tnı´ u ´ loze. Velice zhruba rˇecˇeno, kazˇdy´ch 100 tisı´c buneˇk vy´pocˇetnı´ sı´teˇ u ´ lohy zabere asi 100 MB pameˇti. Prˇi rozdeˇlenı´ u ´ lohy na vı´ce stroju ˚ se pak potrˇebna´ pameˇt’ deˇlı´ (v podstateˇ linea´rneˇ) mezi jednotlive´ stroje. Vy´pocˇetnı´ cˇas klesa´ (v rozumny´ch mezı´ch) take´ linea´rneˇ s rostoucı´m pocˇtem pouzˇity´ch procesoru ˚. Prˇechod od jednoprocesorove´ho zpracova´nı´ u ´ lohy k paralelnı´mu vy´pocˇtu nemusı´ by´t nijak slozˇity´, za´lezˇ´ı to ale na konkre´tnı´ u ´ loze (pouzˇity´ch fyzika´lnı´ch modelech, typu vy´pocˇetnı´ sı´teˇ apod.) Ve veˇtsˇineˇ prˇ´ıpadu ˚ PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 4. UKA´ZKY
´ TNI´ PRA ´ CE PRO RU ´ TYPY U ´ LOH ˚ ZNE KONKRE
se uzˇivatel nemusı´ o nic starat, FLUENT umı´ u ´ lohy automaticky nacˇ´ıst i do paralelnı´ verze, kdy podle prˇedem zadany´ch krite´riı´ rozdeˇluje cˇa´sti vy´pocˇetnı´ch sı´tı´ prˇ´ımo na jednotlive´ vy´pocˇetnı´ uzly. Vy´jimku prˇedstavujı´ u ´ lohy, kde je pouzˇito modelu sliding mesh, nebo kde jsou definova´ny nekonformnı´ grid-interfaces, na ktery´ch chceme prova´deˇt adaptaci beˇhem vy´pocˇtu. Pak nezby´va´, nezˇ vy´pocˇetnı´ sı´t’ „rucˇneˇ“ rozdeˇlit v jednoprocesorove´ verzi FLUENTu na pozˇadovany´ pocˇet partitions naprˇ´ıklad pomocı´ prˇ´ıkazu parallel/partition. Tolik tedy manua´l. Jak se ale ukazuje, je vhodne´ rozdeˇlit vy´pocˇetnı´ sı´t’ i v prˇ´ıpadeˇ, zˇe obsahuje jake´koli nekonformnı´ grid-interfaces (i kdyzˇ na nich nechceme prova´deˇt adaptaci). Dosavadnı´ znalosti a zkusˇenosti da´le ukazujı´, zˇe nic nezkazı´me, provedeme-li deˇlenı´ vy´pocˇetnı´ sı´teˇ v kazˇde´m prˇ´ıpadeˇ. Vhodne´ je rozdeˇlenı´ na naprˇ´ıklad 12 partitions, pak mu ˚ zˇeme bez obav pro vy´pocˇet pouzˇ´ıt podle aktua´lnı´ situace 2, 3, 4, 6 nebo 12 procesoru ˚ (ehm, s teˇmi 12 procesory pozor, jsme omezeni pocˇtem volny´ch licencı´), FLUENT rovnomeˇrneˇ nacˇte podle potrˇeby na kazˇdy´ vy´pocˇetnı´ uzel vı´ce partitions. Prˇedpokla´dejme, zˇe v adresa´rˇi testy ma´me opeˇt prˇipravenou u ´ lohu jesterka.cas a soubor fluent.input. Nynı´ chceme spustit paralelnı´ FLUENT na cˇa´sti PC clusteru. K tomu na´m pomu ˚ zˇe na´sledujı´cı´ skript fl.net pro PBS: # zacatek #PBS -m ae # JOBID=‘echo $PBS_JOBID | awk -F . ’{print $1}’‘ mkdir /scratch/knourek/$JOBID # cd ˜/testy cp jesterka.cas /scratch/knourek/$JOBID cp fluent.input /scratch/knourek/$JOBID cd /scratch/knourek/$JOBID # cat $PBS_NODEFILE > fluent.hostlist.$JOBID # fluent 3d -g -cnf=fluent.hostlist.$JOBID -pnet -t0 \ > -i fluent.input > fluent.output.$JOBID # mv * ˜/testy/ cd rm -rf /scratch/knourek/$JOBID # konec INFORMACˇNI´
BULLETIN
CIV — /
4.3. FLUENT
Na´sledujı´cı´m prˇ´ıkazem zarˇadı´me job do fronty normal, pozˇadujeme alokaci 2 uzlu ˚ , na kazˇde´m 2 procesory. qsub -q normal -l nodes=2:ppn=2:plzen,walltime= \ > 4:00:00,pvmem=300mb -l fluent=4 fl.net Job ma´ v syste´mu PBS identifikaci slozˇenou z cˇ´ısla jobu a rˇeteˇzce (naprˇ´ıklad 10457.skirit.ics.muni.cz). Vy´sˇe uvedeny´ skript nejprve z tohoto identifika´toru vyseparuje cˇ´ıslo u ´ lohy (tedy 10457), bude se na´m hodit. Jeho hodnota je ulozˇena v promeˇnne´ JOBID. Da´le se vytvorˇ´ı na stroji, kde u ´ loha beˇzˇ´ı pracovnı´ adresa´rˇ /scratch/knourek/10457 na loka´lnı´m disku /scratch. Toto se hodı´ pro prˇ´ıpad, zˇe FLUENT cˇasto prˇepisuje cˇi zapisuje data — nejsme va´za´ni na pomalejsˇ´ı NFS domovske´ adresa´rˇe. Do pracovnı´ho adresa´rˇe jsou pak prˇesunuta potrˇebna´ data. Da´le je zkopı´rova´n seznam alokovany´ch uzlu ˚ , ktery´ je v souboru, jehozˇ umı´steˇnı´ je da´no obsahem syste´move´ promeˇnne´ $PBS NODEFILE, do (textove´ho) souboru v pracovnı´m adresa´rˇi (fluent.hostlist.10457). Na´sleduje spusˇteˇnı´ FLUENTu v paralelnı´ sı´t’ove´ verzi. Seznam uzlu ˚ pro vy´pocˇet je da´n obsahem souboru fluent.hostlist.10457. Vsˇimeˇte si, zˇe nenı´ trˇeba ve skriptu urcˇovat, na kolika procesorech a v jake´ konfiguraci uzlu ˚ bude FLUENT spusˇteˇn — to urcˇ´ı syste´m PBS. Proto je trˇeba vzˇdy v prˇ´ıkazu qsub specifikovat, kolik uzlu ˚ a procesoru ˚ na uzel pro svu ˚j job pozˇadujeme. Po skoncˇenı´ vy´pocˇtu jsou vsˇechna data z pracovnı´ho adresa´rˇe prˇesunuta zpeˇt do adresa´rˇe ˜/testy.
4.3.3 Pouz ˇ itı´ dals ˇ´ıch sı´t’ovy ´ ch komunika´toru ˚ FLUENT je kromeˇ vy´sˇe uvedene´ paralelnı´ verze, ktera´ komunikuje pomocı´ standardnı´ho sı´t’ove´ho rozhranı´, take´ ve verzı´ch, ktere´ umı´ pouzˇ´ıvat Network MPI a Myrinet MPI, tedy vy´konneˇjsˇ´ı formy komunikace. Myrinet je instalova´n na clusteru nympha v Plzni, Network MPI je mozˇno pouzˇ´ıt na obou clusterech. Pouzˇitı´ Network MPI a Myrinet MPI prˇina´sˇ´ı rychlejsˇ´ı start FLUENTu a rychlejsˇ´ı nacˇ´ıta´nı´ u ´ lohy a distribuova´nı´ dat na jednotlive´ vy´pocˇetnı´ uzly. Na´sleduje prˇ´ıklad skriptu pro pouzˇitı´ Network MPI, rozdı´lne´ je pouzˇitı´ prˇ´ıkazu spousˇteˇjı´cı´ho FLUENT. # zacatek #PBS -m ae # cd ˜/testy PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 4. UKA´ZKY
´ TNI´ PRA ´ CE PRO RU ´ TYPY U ´ LOH ˚ ZNE KONKRE
# NP=‘wc -l $PBS_NODEFILE | awk ’{print $1}’‘ cat $PBS_NODEFILE > fluent.hostlist # fluent 3d -g -pnmpi -t$NP -cnf=fluent.hostlist \ > -i fluent.input > fluent.out # konec Prˇ´ıklad skriptu pro pouzˇitı´ Myrinetu je uveden nı´zˇe. Rozdı´lna´ je struktura konfiguracˇnı´ho souboru gm-file se seznamem vy´pocˇetnı´ch uzlu ˚ . Ten obsahuje kromeˇ seznamu vy´pocˇetnı´ch uzlu ˚ , na nichzˇ u ´ loha beˇzˇ´ı, jesˇteˇ cˇ´ıslo portu myrinetove´ karty (2 nebo 4) a v u ´ vodu celkovy´ pocˇet pouzˇity´ch procesoru ˚. # zacatek #PBS -m ae # cd ˜/testy # NP=‘wc -l $PBS_NODEFILE | awk ’{print $1}’‘ cat $NP > gm-file cat $PBS_NODEFILE | awk ’{if(old!=$1) n=2; \ > print $1, n; old=$1; n+=2;}’ >> gm-file export GMPICONF=gm-file # fluent 3d -g -pgmpi -t$NP -i fluent.input > fluent.out # konec Do fronty zasˇleme u ´ lohy podobneˇ jako v prˇedchozı´ch prˇ´ıpadech. Nesmı´me zapomenout, zˇe myrinet je pouze na neˇktery´ch clusterech (naprˇ´ıklad na clusteru nympha).
4.4 MSC.MARC Na PC clusterech v Plzni je instalova´n MSC.MARC 2001. Nenı´ za´meˇrneˇ instalova´n preprocesor MSC/Mentat — clustery by meˇly slouzˇit zejme´na pro fina´lnı´ zpracova´nı´ u ´ loh, tj. pro vlastnı´ vy´pocˇty. MSC.MARC prˇipojı´me prˇ´ıkazem module load marc2001. Tento prˇ´ıkaz je nutne´ umı´stit do souboru .bashrc v domovske´m adresa´rˇi v prˇ´ıpadeˇ, zˇe chceme aplikaci pouzˇ´ıvat paralelneˇ na vı´ce vy´pocˇetnı´ch uzlech. K dispozici je 7 plovoucı´ch licencı´ MSC.MARCu a 24 licencı´ pro paralelnı´ beˇh ko´du. V prˇ´ıpadeˇ paralelnı´ho beˇhu se alokuje 1 za´kladnı´ licence INFORMACˇNI´
BULLETIN
CIV — /
4.4. MSC.MARC
MSC.MARCu a pocˇet prˇ´ıdavny´ch licencı´ pro paralelnı´ beˇh odpovı´dajı´cı´ pocˇtu procesoru ˚ . Vzhledem k prˇevaze licencı´ pro paralelnı´ beˇh je vhodne´ u ´ lohy pocˇ´ıtat pokud mozˇno paralelneˇ. V MSC.MARCu je ale v paralelnı´m beˇhu omezeno pouzˇitı´ neˇktery´ch rˇesˇicˇu ˚ cˇi fyzika´lnı´ch modelu ˚. Vzhledem k omezene´mu pocˇtu licencı´ je trˇeba vzˇdy specifikovat jako parametr prˇ´ıkazu qsub vlastnost marc s prˇ´ıslusˇny´m pocˇtem licencı´ (procesoru ˚ ), ktere´ FLUENT bude potrˇebovat. Viz prˇ´ıklady nı´zˇe. K software MSC.MARC ma´ prˇ´ıstup pouze omezena´ skupina uzˇivatelu ˚. O zarˇazenı´ do te´to skupiny (v prˇ´ıpadeˇ, zˇe nejste jejı´mi cˇleny) zˇa´dejte na adrese
[email protected].
4.4.1 Jednoprocesorova´ verze MSC.MARCu Necht’ se v nasˇem adresa´rˇi marc nacha´zı´ soubor test.dat, ktery´ tvorˇ´ı vstupnı´ data pro jednoprocesorovou verzi MSC.MARCu. Nı´zˇe je vy´pis scriptu marc.node pro spusˇteˇnı´ u ´ lohy prostrˇednictvı´m PBS. # zacatek #PBS -m ae # module load marc2001 # cd ˜/marc mkdir /scratch/knourek/marc cp test.dat /scratch/knourek/marc cd /scratch/knourek/marc # marc2001 -jid test -v no -b no > output.log # mv -f * ˜/marc # konec Protozˇe MSC.MARC veˇtsˇinou zapisuje pru ˚ beˇzˇneˇ nemaly´ objem dat do pracovnı´ho adresa´rˇe, je za neˇj vhodne´ zvolit loka´lnı´ diskovy´ prostor /scratch na vy´pocˇetnı´m uzlu. Parametry prˇ´ıkazu marc2001 jsou na´sledujı´cı´: -v no pro neinteraktivnı´ spusˇteˇnı´ vy´pocˇtu, -b no pro beˇh na poprˇedı´, na´sleduje prˇesmeˇrova´nı´ standardnı´ho vy´stupu do souboru output.log. Po dokoncˇenı´ vy´pocˇtu se vy´sledna´ data prˇesunou zpeˇt do adresa´rˇe ˜/marc. Na´sledujı´cı´m prˇ´ıkazem zarˇadı´me job marc.node do fronty normal: qsub -q normal -l nodes=1:ppn=1:plzen,walltime= \ > 4:00:00,pvmem=300mb -l marc=1 marc.node PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 4. UKA´ZKY
´ TNI´ PRA ´ CE PRO RU ´ TYPY U ´ LOH ˚ ZNE KONKRE
4.4.2 Paralelnı´ verze MSC.MARCu Prˇechod od jednoprocesorove´ u ´ ohy k paralelnı´ nenı´ nijak slozˇity´. Patrˇicˇne´ zmeˇny je trˇeba zadat v preprocesoru MSC.MENTAT. Prˇedpokla´dejme, zˇe ma´me popis u ´ lohy v souboru test.mud. Na´sleduje popis seance v MSC.MENTATu, kde vytvorˇ´ıme popis u ´ lohy pro beˇh na 4 procesorech. Je uveden za´znam prˇ´ıkazu ˚ zada´vany´ch z prˇ´ıkazove´ rˇa´dky programu, je jasne´, zˇe majı´ i svoje ekvivalenty prˇi ovla´da´nı´ pomocı´ GUI MSC.MENTATu. open_model test.mud domains_generate 4 job_option dynamic:newmark update_job job_option parallel:on job_write_input yes Po ukoncˇenı´ MSC.MENTATu vidı´me, zˇe v pracovnı´m adresa´rˇi byly vytvorˇeny soubory test job1.dat, 1test job1.dat, 2test job1.dat, 3test job1.dat a 4test job1.dat. Ty jsou zdrojovy´mi soubory pro paralelnı´ beˇh MSC.MARCu. Vsˇimeˇte si, zˇe MSC.MARC neumı´ v paralelnı´m beˇhu rˇesˇit explicitnı´ dynamiku (mimo jine´ho), je proto zvolen implicitnı´ rˇesˇicˇ. Vy´sˇe uvedene´ soubory necht’se nacha´zejı´ v adresa´rˇi marc v nasˇem domovske´m adresa´rˇi. Na´sleduje script marc.net pro paralelnı´ zpracova´nı´ u ´ lohy pomocı´ PBS na cˇtyrˇech vy´pocˇetnı´ch uzlech clusteru. V souboru hosts.m je uvedena specifikace vy´pocˇetnı´ch uzlu ˚ , ktere´ jsou pro zpracova´nı´ u ´ lohy vybra´ny PBS. Struktura souboru mu ˚ zˇe by´t slozˇiteˇjsˇ´ı, pro detaily nahle´dneˇte do manua´lu ˚ syste´mu MSC.MARC. # zacatek #PBS -m ae cd ˜/marc cp *test_job1.dat /scratch/knourek cd /scratch/knourek cat $PBS_NODEFILE | awk ’{print $1 ” 1”}’ > hosts.m NP=‘wc -l hosts.m | awk ’{print $1}’‘ # marc2001 -jid test -v no -b no -nproc $NP \ > -host hosts.m > output.log # mv -f * ˜/marc # konec INFORMACˇNI´
BULLETIN
CIV — /
4.5. ANSYS
Jako pracovnı´ adresa´rˇ je zvolen opeˇt pro kazˇdy´ vy´pocˇetnı´ uzel loka´lnı´ /scratch/knourek. MSC.MARC automaticky prˇed zapocˇetı´m vy´pocˇtu prˇenese na pracovnı´ adresa´rˇe (/scratch/knourek) jednotlivy´ch vy´pocˇetnı´ch uzlu ˚ prˇ´ıslusˇne´ vstupnı´ soubory a po skoncˇenı´ vy´pocˇtu je shroma´zˇdı´ zpeˇt. Prˇ´ıkaz, ktery´ umı´stı´ job do PBS fronty normal je: qsub -q normal -l nodes=4:ppn=1:plzen,walltime= \ > 6:00:00,pvmem=700mb -l marc=4 marc.net V prˇ´ıpadeˇ, zˇe pouzˇijeme pouze dvou procesoru ˚ na jednom vy´pocˇetnı´m uzlu clusteru, je paralelnı´ spusˇteˇnı´ u ´ lohy jednodusˇsˇ´ı. Prˇedpokla´da´me, zˇe v preprocesoru MSC.MENTAT byla u ´ loha rozdeˇlena na 2 cˇa´sti a v adresa´rˇi ˜/marc se tedy nacha´zejı´ soubory test job1.dat, 1test job1.dat a 2test job1.dat. Na´sleduje skript marc.2 pro PBS: # zacatek #PBS -m ae # module load marc2001 cd ˜/marc mkdir /scratch/knourek/marc cp *test_job1.dat /scratch/knourek/marc cd /scratch/knourek/marc # marc2001 -jid test -v no -b no -nproc 2 > output.log # mv -f * ˜/marc # konec ´ lohu pak umı´stı´me ke zpracova´nı´ do PBS fronty prˇ´ıkazem: U qsub -q normal -l nodes=1:ppn=2:plzen,walltime= \ > 4:00:00,pvmem=300mb -l fluent=2 marc.2
4.5 ANSYS Na PC clusterech je instalova´n ANSYS 6.1. Je dostupny´ modul ANSYSRF v pocˇtu 30 plovoucı´ch licencı´. Prˇ´ıdavne´ licence pro paralelnı´ beˇh nejsou zakoupeny, takzˇe uzˇivatele´ jsou omezeni na pouzˇ´ıva´nı´ ANSYSu pouze v jednoprocesorove´m beˇhu. ANSYS 6.1 prˇipojı´me prˇ´ıkazem module load ansys61. PC
CLUSTERY NA
ˇU ZC
V
PLZNI
KAPITOLA 4. UKA´ZKY
´ TNI´ PRA ´ CE PRO RU ´ TYPY U ´ LOH ˚ ZNE KONKRE
Vzhledem k omezene´mu pocˇtu licencı´ je trˇeba vzˇdy specifikovat jako parametr prˇ´ıkazu qsub vlastnost ansys s prˇ´ıslusˇny´m pocˇtem licencı´ (procesoru ˚ ), ktere´ ANSYS bude potrˇebovat (zde vzˇdy 1). Na´sledujı´cı´ script ansys.node pro PBS zarˇ´ıdı´ spusteˇnı´ vy´pocˇtu v ANSYSu, prˇedpokla´dejme, zˇe ma´me v podadresa´rˇi ansys nasˇeho domovske´ho adresa´rˇe u ´ lohu popsanou v souboru test1.dat. # zacatek #PBS -m ae # cd ˜/ansys # ansys61 -b -p ansysrf < test1.dat > output.log # konec Na´sledujı´cı´m prˇ´ıkazem pak prˇeda´me u ´ lohu ke zpracova´nı´ PBS serveru: qsub -q normal -l nodes=1:ppn=1:plzen,walltime= \ > 4:00:00,pvmem=300mb -l ansys=1 ansys.node
INFORMACˇNI´
BULLETIN
CIV — /
KAPITOLA 5
ZA´VEˇREM Doufa´me, zˇe tato publikace prˇispeˇla k informovanosti o novy´ch mozˇnostech vy´konne´ho pocˇ´ıta´nı´ a sezna´mila uzˇivatele s konkre´tnı´mi zpu ˚ soby pouzˇ´ıva´nı´ PC clusteru ˚.
5.1 Dostupna´ dokumentace Hlavnı´mi body pro zı´ska´nı´ informacı´ jsou tato dveˇ URL: http://meta.cesnet.cz http://zsc.zcu.cz Najdete zde popisy softwarovy´ch produktu ˚ , prˇ´ıklady, na´vody a podrobnou dokumentaci, odkazy na dalsˇ´ı stra´nky a konkre´tnı´ kontaktnı´ adresy pro rˇesˇenı´ vasˇich proble´mu ˚.
LITERATURA [1] Rocˇenka META Centra pro roky 2000–2001, kterou najdete na URL: http://meta.cesnet.cz/yearbooks/2001_cz.pdf [2] Dokumentace prˇ´ıslusˇny´ch SW produktu ˚
MI´STO
PRO
VASˇE
´ MKY POZNA