Windows Server 2008 HPC
(→Jak na to) |
|||
(Nejsou zobrazeny 2 mezilehlé verze od 1 uživatele.) | |||
Řádka 19: | Řádka 19: | ||
− | === MSTS === | + | === MSTS (Temporary down, probiha migrace na jiny stroj - 9.4.2009) === |
* OS: Microsoft Windows Server 2008, Standard Edition | * OS: Microsoft Windows Server 2008, Standard Edition | ||
Řádka 44: | Řádka 44: | ||
== Jak na to== | == Jak na to== | ||
− | Každý uživatel může přistoupit pouze na stroj | + | Každý uživatel může přistoupit pouze na stroj msts.sh.cvut.cz přes vzdálenou plochu (remote desktop, mstsc ...). Dostane se tak k mocným nástrojům firmy Microsoft a Intel. Na tomto stroji si uživatel může postavit svoji aplikaci pro Cluster. |
Storage je umisteny na "\\mshpc\ccfiles" | Storage je umisteny na "\\mshpc\ccfiles" |
Aktuální verze z 10. 4. 2009, 15:18
Obsah |
[editovat] Partneři projektu
Významnými partneři projektu jsou:
Velký dík společnosti Microsoft patří za poskytnutí licencí na software a hlavně za zapůjčení Clusteru Tyan PSC T-630
Společnost Intel propůjčila stroj, který slouží jako Terminal Server. Zároveň společnost Intel poskytla balík vývojových nástrojů.
[editovat] O systému
Celý systém se skládá ze dvou počítačů. Jeden slouží pro uživatele jako Terminal Server (msts.sh.cvut.cz), kde jsou k dispozici vývojové nástroje firmy Intel a Microsoft. Druhý slouží jako výpočetní cluster (mshpc.sh.cvut.cz).
[editovat] MSTS (Temporary down, probiha migrace na jiny stroj - 9.4.2009)
- OS: Microsoft Windows Server 2008, Standard Edition
- SW: Microsoft Visual Studio 2008 Standard Edition Edition, Intel Software Development Tools (Fortran a C++ compilery, V-Tune analyzer, Thread Checker ... )
- CPU 2x QuadCore Intel Xeon E5320, 1866 MHz (7 x 267)
- Motherboard Supermicro X7DB8(3 PCI-E x8, 3 PCI-X, 1 SEPC, 8 FB-DIMM, Video, Dual Gigabit LAN, SCSI), Chipset Intel Blackford 5000P
- 8GB RAM ECC DDR2-667 (333 MHz)
- WD Caviar SE 120GB
[editovat] MSHPC
Tyan PSC T-630
- 5 nodů - 1 head, 4 compute
- OS: Microsoft Windows 2008 HPC Edition
- CPU: 10x Intel DualCore Xeon E5100, 2330 MHz
- 10GB RAM
[editovat] Jak na to
Každý uživatel může přistoupit pouze na stroj msts.sh.cvut.cz přes vzdálenou plochu (remote desktop, mstsc ...). Dostane se tak k mocným nástrojům firmy Microsoft a Intel. Na tomto stroji si uživatel může postavit svoji aplikaci pro Cluster.
Storage je umisteny na "\\mshpc\ccfiles"
Pokud máte postavenou aplikaci a nakopírovanou síťové jednotce, je potom možné pomocí nástroje Compute Cluster Job Manager spustit úlohu přímo na clusteru (MSHPC). Jak na to najdete [1].
[editovat] Příklad
Malý příklad: mám v C++ naprogramovanou úlohu, která používá MPI-2, a chci ji pustit na clusteru na zkoušku třikrát, jednou na jednom procesoru (třeba pro srovnání) a potom na 10 a na 20 procesorech. V terminologii CCS to tedy budou tři "tasky", které poběží po sobě v rámci jednoho "jobu".
1. Přeložím projekt ve Visual Studiu. Nezapomenu přidat:
- do "Additional Include Directories" adresář "C:\Program Files\Microsoft Compute Cluster Pack\Include"
- do "Additional Library Directories" adresář "C:\Program Files\Microsoft Compute Cluster Pack\Lib\i386" (příp jiný binární target..)
- do "Additional Dependencies" knihovnu "msmpi.lib"
2. Překladem vznikla binárka "mpitest.exe", umístím ji na share "\\mshpc\ccfiles\"). To bude pracovní adresář mé MPI distribuované aplikace, nakopíruji tam tedy i případné vstupní soubory. V našem příkladu nebudu vstupy používat, udělalo by se to celkem snadno třeba přes stdin..
3. Pro spouštění jobů a tasků se dá použít GUI nástroj Computer Cluster Job Manager, já tu ale popíšu použití comman-line příkazu job (pozor, ve skutečnosti je to batch, z jiných batchů se musí volat přes "call"). Referenci všech command-line příkazů "job manageru" najdete zde.
- založené nového jobu:
job new /scheduler:mscluster /numprocessors:20 ... vypíše JobID ID, které budu používat dále:
- vložení tří na sobě závislých tasků:
job add ID /name:1 /numprocessors:1 /workdir:\\mshpc\ccfiles\ /stdout:out01.txt /scheduler:mscluster mpiexec mpitest.exe job add ID /name:2 /depend:1 /numprocessors:10 /workdir:\\mshpc\ccfiles\ /stdout:out10.txt /scheduler:mscluster mpiexec mpitest.exe job add ID /name:3 /depend:2 /numprocessors:20 /workdir:\\mshpc\ccfiles\ /stdout:out20.txt /scheduler:mscluster mpiexec mpitest.exe
- spuštění jobu:
job submit /id:ID /scheduler:mscluster
Přes GUI Job Manager pak mohu on-line sledovat, jak se moje úloha zpracovává. Nakonec v adresáři \\mshpc\ccfiles\" najdu tři výstupní soubory "out01.txt", "out10.txt" a "out20.txt".