v MetaCentru udržujeme dvě prostředí, které se liší stabilitou a svými vlastnostmi:
V prvním čtvrtletí 2011 došlo k přechodu z plánovacího systému PBS Pro (obsluhoval server skirit-f.ics.muni.cz) na plánovací systém Torque obsluhovaný Torque severem arien.ics.muni.cz. Server skirit-f.ics.muni.cz byl vypnut a server arien.ics.muni.cz byl celý převeden do produkčního prostředí.
Pro obsluhu obou prostředí použijte některý z následujících čelních uzlů clusterů skirit.ics.muni.cz, arda.ics.muni.cz, tarkil.cesnet.cz, konos.fav.zcu.cz, hermes.prf.jcu.cz, nympha.zcu.cz, perian.ncbr.muni.cz. Nehlaste se na Torque server arien.ics.muni.cz přímo, nebudou Vám obvyklé příkazy fungovat.
Přihlášení k čelnímu uzlu je podrobně popsáno v oddíle Dokumentace / Přihlašování. Na wiki je k dispozici návod pro úplné začátečníky.
Aplikace se v MetaCentru spouští zásadně přes plánovací systém PBS jako úlohy pomocí příkazu qsub. Při zadání úlohy je třeba zadat několik zásadních věcí:
-q). Fronty pro kratší úlohy mají vyšší priority než fronty pro delší úlohy. Obvyklé volby:-l walltime=[[hodiny:]minuty:]sekundy[.milisekundy]. Kratší úlohy mají při spouštění přednost. Například:
-l položkou nodes, např.Úloha může být spuštěna na stroji se stejným nebo větším počtem procesorů. Pokud si nejste jisti, kolik procesorů může úloha zabrat, požádejte o exkluzívní rezervaci celého stroje parametrem #excl, nejlépe v kombinaci s vlastností pro počet CPU stroje, tj.
-l v položce nodes pomocí vlastností uvedených za dvojtečkou, např.
-l položkou mem, např.-l nebo za čárkou po specifikaci strojů a paměti, a to položkou s názvem licence (viz podrobný návod), např.-l scratch=číslo kde číslo je počet kibibajtů (1 KiB = 1024 B). Například:
Pro sestavení podmínek můžete využít pomůcku Sestavovač qsub.
Chci naplánovat ke spuštění úlohu trvající maximálně 24 hodin, vyžadující 2 stroje, každý se 4 procesory a 4GB fyzické paměti (tj. 1GB paměti na každý procesor), přičemž procesory mají být Intel Xeon umístěné v Brně a pro každý procesor potřebuji licenci Fluentu:
qsub -q normal -l nodes=2:ppn=4:brno:xeon,mem=4gb,fluent=8 uloha.sh
Plánovač při vybírání úloh pro spuštění postupuje tak, že si nejprve seřadí všechny čekající úlohy postupně podle následujících kritérií:
Plánovač pak postupuje po seřazených úlohách a zkoumá, zda se dá úloha již spustit s ohledem na to, jaké má požadavky na zdroje, kolik zdrojů je volných a na kterých strojích má uživatel vlastnící úlohu účet.
Tento přehled uvedený výše je jen stručné shrnutí. Podrobnější informace můžete získat
man pbs_resources na příkazovém řádku/afs/ics.muni.cz/software/pbs-7.0.0/doc/PBSProUG_7.0.pdfPřehled vašich adresářů je na stránce Můj účet - Souborové systémy.
Podrobnější popis je na stránce Diskové kapacity.
Další návody na wiki
K dispozici jsou tyto druhy souborových systémů:
| druh | výhody | nevýhody |
|---|---|---|
| AFS v /afs/buňka/home/login | dostupné všude přesné nastavování přístupových práv pomocí ACL |
pomalé |
| NFSv4 v /storage/home/login | rychlejší než AFS | přístupová práva jen na úrovni UNIXu dostupné na strojích s vlastností nfs4 |
| NFSv3 v /home/login | domovský adresář | dostupné jen v rámci jednoho clusteru |
| rychlý disk v /scratch/login | velmi rychlé | není sdíleno mezi stroji |
Proto doporučujeme používat pro práci se soubory tyto postupy:
Po skončení úlohy jsou soubory se standardním výstupem (stdout) a standardním chybovým výstupem (stderr) nakopírovány do adresáře na stroji, odkud byla úloha spuštěna. Jednoduché úlohy je možné spouštět pod adresářem /storage. Adresář /storage je sdílen přes NFSv4, je umístěn na 100TB diskovém poli. Je dostupný na všech strojích MetaCentra označených vlastností nfs4 a můžete si ho připojit i k vlastnímu PC.
Pokud umístíte soubory do svého adresáře na AFS, budou přístupné na všech strojích bez omezení. Avšak tento postup lze doporučit jen u malých souborů, protože rychlost zápisu a čtení přes AFS není příliš vysoká. Použijte tedy AFS například pro zdrojové kódy programů v MATLABu a podobně. Výhodou AFs je možnost detailně nastavovat přístupová práva.
Pokud potřebujete pracovat po dobu běhu úlohy s velkými soubory, umísťujte je na /scratch, ve kterém máte svůj podadresář. Adresář /scratch je na rychlém lokálním disku, zdržení bude tedy minimální.
Pokud víte, že standartní výstup nebo chybový výstup Vaší úlohy bude příliš velký (více než desítky MB), přesměrujte ho v rámci úlohy do vhodného souboru na /scratch.
Po skončení úlohy soubory z adresáře /scratch odstraňte, místo bude potřeba pro další úlohu.
Pro počáteční přenos vstupních souborů a závěrečný přenos výstupních souborů na a z výpočetního uzlu můžete použít parametry stagein a stageout při zadávání úlohy. Pokud máte například na stroji skirit.ics.muni.cz připraven vstupní soubor vstup.txt a víte, že úloha vyprodukuje soubor vystup.txt, můžete na začátku shellového skriptu pro úlohu uvést následující:
#PBS -W stagein=/scratch/pepa/vstup.txt@skirit.ics.muni.cz:vstup.txt #PBS -W stageout=/scratch/pepa/vystup.txt@skirit.ics.muni.cz:vystup.txt
tím bude na začátku úlohy nakopírován soubor vstup.txt do adresáře /scratch/pepa a po skončení bude nakopírován soubor vystup.txt z adresáře /scratch/pepa na stroj skirit. Pro kopírování je použit program rcp, čemuž odpovídá i rychlost přenosu.
Pozor, příkaz stageout má tu vlastnost, že po přenesení zpět data na uzlu maže.
Pokud nemáte objemná data (řádově do 100MB) a vstupní data máte umístěna na svazku /storage, použijte raději tento postup: Narozdíl od předchozího způsobu dovoluje kopírování celých adresářů, nejen jednotlivých souborů.
#PBS -W stagein=/scratch/pepa/vstup.txt@depot1.mc.cesnet.cz:/storage/home/pepa/vstup.txt #PBS -W stageout=/scratch/pepa/vystup.txt@depot1.mc.cesnet.cz:/storage/home/pepa/vystup.txt
Na začátku úlohy bude nakopírován soubor vstup.txt do adresáře /scratch/pepa a po skončení bude nakopírován soubor vystup.txt z adresáře /scratch/pepa zpet na svazek /storage/home/pepa.
Při přenášení velkého objemu dat je efektivnější použít výpočetní uzel s vlatsností nfs4 a data nakopírovat jakoby lokálně pomocí příkazu cp do /storage, tak se kopírují přes síť jen jednou a pomocí NFSv4, které je rychlejší. Tj.
#PBS -l nodes=1:ppn=1:nfs4 cp /storage/home/pepa/vstup.txt /scratch/pepa/ cd /scratch/pepa/ ... vlastní výpočet ... cp /scratch/pepa/vystup.txt /storage/home/pepa/ rm /scratch/pepa/*
Nezapomeňte data z adresáře /scratch po překopírování smazat. Uděláte tak místo dalšímu uživateli.
#!/bin/sh # Inicializace systemu modulu: . /packages/run/modules-2.0/init/sh # inicializace konkretni verze konkretni aplikace, v tomto pripade paralelniho Amberu verze 10 module add amber10-parallel