240px-Diamond warning sign (Vienna Convention style).svg.png Content of this wiki is DEPRECATED 240px-Diamond warning sign (Vienna Convention style).svg.png

Windows Compute Cluster Server 2003

Z old-wiki.siliconhill.cz
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
 
(Není zobrazeno 5 mezilehlých verzí od 2 uživatelů.)
Řádka 1: Řádka 1:
 +
[[Windows Server 2008 HPC]]
 +
 
==Partneři projektu==
 
==Partneři projektu==
  
Řádka 27: Řádka 29:
 
* Motherboard [http://www.supermicro.com/products/motherboard/Xeon1333/5000P/X7DB8.cfm Supermicro X7DB8](3 PCI-E x8, 3 PCI-X, 1 SEPC, 8 FB-DIMM, Video, Dual Gigabit LAN, SCSI), Chipset Intel Blackford 5000P
 
* Motherboard [http://www.supermicro.com/products/motherboard/Xeon1333/5000P/X7DB8.cfm 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)
 
* 8GB RAM ECC DDR2-667 (333 MHz)
* 3x HDD Seagate [http://www.seagate.com/cda/products/discsales/marketing/detail/0,1596,650,00.html ST373207LC], 73GB, 10k, Ultra320 SCSI
 
 
* [http://www.wdc.com/en/products/Products.asp?DriveID=138 WD Caviar SE 120GB]
 
* [http://www.wdc.com/en/products/Products.asp?DriveID=138 WD Caviar SE 120GB]
  
 
[[Soubor:TyanPSC.JPG|thumb|right|MSCLUSTER, Tyan PSC T-630]]
 
[[Soubor:TyanPSC.JPG|thumb|right|MSCLUSTER, Tyan PSC T-630]]
 
  
 
=== MSCLUSTER ===
 
=== MSCLUSTER ===
Řádka 57: Řádka 57:
 
Každému uživateli se po přihlášení automaticky připojí síťová jednotka '''I:''' , která je umístěná na Clusteru. Síťová cesta je '''\\mscluster\username$\''' . Zde je vhodné ukládat data, na které bude cluster přistupovat.
 
Každému uživateli se po přihlášení automaticky připojí síťová jednotka '''I:''' , která je umístěná na Clusteru. Síťová cesta je '''\\mscluster\username$\''' . Zde je vhodné ukládat data, na které bude cluster přistupovat.
  
Pokud máte postavenou aplikaci a nakopírovanou ve vaší síťové jednotce, je potom možné pomocí nástroje Compute Cluster Job Manager spustit úlohu přímo na clusteru. Jak na to najdete [http://technet2.microsoft.com/windowsserver/en/technologies/featured/ccs/default.mspx tady]a konkrétněji [http://technet2.microsoft.com/windowsserver/en/library/dce5123f-8af4-47c2-9192-9075998e24c71033.mspx?mfr=true tady].
+
Pokud máte postavenou aplikaci a nakopírovanou ve vaší síťové jednotce, je potom možné pomocí nástroje Compute Cluster Job Manager spustit úlohu přímo na clusteru (MSCLUSTER.SH.CVUT.CZ). Jak na to najdete [http://technet2.microsoft.com/windowsserver/en/technologies/featured/ccs/default.mspx tady]a konkrétněji [http://technet2.microsoft.com/windowsserver/en/library/dce5123f-8af4-47c2-9192-9075998e24c71033.mspx?mfr=true tady].
  
 
== Příklad ==
 
== Příklad ==
  
Malý příklad: mám v C++ naprogramovanou úlohu, která používá MPI2, 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 "tasks", které poběží po sobě v rámci jednoho "jobu".
+
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:
 
1. '''Přeložím projekt ve Visual Studiu.''' Nezapomenu přidat:
Řádka 67: Řádka 67:
 
* do "Additional Library Directories" adresář "C:\Program Files\Microsoft Compute Cluster Pack\Lib\i386" (příp jiný binární target..)
 
* 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"
 
* do "Additional Dependencies" knihovnu "msmpi.lib"
 +
 +
2. Překladem vznikla binárka '''"mpitest.exe"''', umístím ji do síťového adresáře '''"i:\"''' (namapovaný share '''"\\mscluster\user$\"'''). 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 [http://technet2.microsoft.com/windowsserver/en/library/dce5123f-8af4-47c2-9192-9075998e24c71033.mspx?mfr=true 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:\\mscluster\user$\ /stdout:out01.txt /scheduler:mscluster mpiexec mpitest.exe
 +
  job add ID /name:2 /depend:1 /numprocessors:10 /workdir:\\mscluster\user$\ /stdout:out10.txt /scheduler:mscluster mpiexec mpitest.exe
 +
  job add ID /name:3 /depend:2 /numprocessors:20 /workdir:\\mscluster\user$\ /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
 +
'''"i:\"''' najdu tři výstupní soubory "out01.txt", "out10.txt" a "out20.txt".
  
 
== linky ==
 
== linky ==
Řádka 76: Řádka 91:
  
 
== Resene projekty ==
 
== Resene projekty ==
 +
 +
[[Category:Projekty]]

Aktuální verze z 19. 3. 2012, 23:17

Windows Server 2008 HPC

Obsah

[editovat] Partneři projektu

Významnými partneři projektu jsou:


Microsoft.png

Velký dík společnosti Microsoft patří za poskytnutí licencí na software a hlavně za zapůjčení Clusteru Tyan PSC T-630


Intel.png

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 (itest.siliconhill.cz), kde jsou k dispozici vývojové nástroje firmy Intel a Microsoft. Druhý slouží jako výpočetní cluster (mscluster.siliconhill.cz).


[editovat] ITEST

  • OS: Microsoft Windows Server R2 2003 x64, Enterprise Edition
  • SW: Microsoft Visual Studio 2005 Team Suite 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
MSCLUSTER, Tyan PSC T-630

[editovat] MSCLUSTER

Tyan PSC T-630 parametry

Tyan PSC T-630

  • 5 nodů - 1 head, 4 compute
  • OS: 1x Microsoft Windows Compute Cluster Server 2003, 4x Microsoft Windows Server Standard
  • 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 itest.siliconhill.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.

Každému uživateli se po přihlášení automaticky připojí síťová jednotka I: , která je umístěná na Clusteru. Síťová cesta je \\mscluster\username$\ . Zde je vhodné ukládat data, na které bude cluster přistupovat.

Pokud máte postavenou aplikaci a nakopírovanou ve vaší síťové jednotce, je potom možné pomocí nástroje Compute Cluster Job Manager spustit úlohu přímo na clusteru (MSCLUSTER.SH.CVUT.CZ). Jak na to najdete tadya konkrétněji tady.

[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 do síťového adresáře "i:\" (namapovaný share "\\mscluster\user$\"). 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:\\mscluster\user$\ /stdout:out01.txt /scheduler:mscluster mpiexec mpitest.exe
 job add ID /name:2 /depend:1 /numprocessors:10 /workdir:\\mscluster\user$\ /stdout:out10.txt /scheduler:mscluster mpiexec mpitest.exe
 job add ID /name:3 /depend:2 /numprocessors:20 /workdir:\\mscluster\user$\ /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 "i:\" najdu tři výstupní soubory "out01.txt", "out10.txt" a "out20.txt".

[editovat] linky

[editovat] Resene projekty

Jmenné prostory

Varianty
Akce