Klaster ISSI - budowa i zastosowanie w badaniach naukowych
Transkrypt
Klaster ISSI - budowa i zastosowanie w badaniach naukowych
Klaster ISSI - budowa i zastosowanie w badaniach naukowych Przemysław Jacewicz Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski E-mail: [email protected] Zielona Góra, 22 stycznia 2009 r. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 1/13 Trochę teorii Superkomputery Wstęp Rodzaje superkomputerów SMP (Symmetric Multiprocessing) - współdzielona magistrala, pamięć i podsystem I/O. NUMA (Non-Uniform Memory Access) - każdy procesor ma własną magistralę, pamięci są połączone w jedną wspólną pamięć wirtualną. MPP (Massively Parallel Processing) - każdy procesor ma własną magistralę i pamięć, dostęp uzyskuje się poprzez przełącznik (np. poprzez sieć). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 2/13 Trochę teorii Superkomputery Wstęp Rodzaje superkomputerów SMP (Symmetric Multiprocessing) - współdzielona magistrala, pamięć i podsystem I/O. NUMA (Non-Uniform Memory Access) - każdy procesor ma własną magistralę, pamięci są połączone w jedną wspólną pamięć wirtualną. MPP (Massively Parallel Processing) - każdy procesor ma własną magistralę i pamięć, dostęp uzyskuje się poprzez przełącznik (np. poprzez sieć). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 2/13 Trochę teorii Superkomputery Wstęp Rodzaje superkomputerów SMP (Symmetric Multiprocessing) - współdzielona magistrala, pamięć i podsystem I/O. NUMA (Non-Uniform Memory Access) - każdy procesor ma własną magistralę, pamięci są połączone w jedną wspólną pamięć wirtualną. MPP (Massively Parallel Processing) - każdy procesor ma własną magistralę i pamięć, dostęp uzyskuje się poprzez przełącznik (np. poprzez sieć). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 2/13 Trochę teorii Klastry Rodzaje klastrów Podział ze względu na zastosowanie Klastry wysokiej dostępności (High-availability clusters – HA) Klastry równoważące obciążenie (Load-balancing clusters – LB) Klastry obliczeniowe (High Performance clusters – HPC) Gridy Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 3/13 Trochę teorii Klastry Rodzaje klastrów Podział ze względu na zastosowanie Klastry wysokiej dostępności (High-availability clusters – HA) Klastry równoważące obciążenie (Load-balancing clusters – LB) Klastry obliczeniowe (High Performance clusters – HPC) Gridy Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 3/13 Trochę teorii Klastry Rodzaje klastrów Podział ze względu na zastosowanie Klastry wysokiej dostępności (High-availability clusters – HA) Klastry równoważące obciążenie (Load-balancing clusters – LB) Klastry obliczeniowe (High Performance clusters – HPC) Gridy Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 3/13 Trochę teorii Klastry Rodzaje klastrów Podział ze względu na zastosowanie Klastry wysokiej dostępności (High-availability clusters – HA) Klastry równoważące obciążenie (Load-balancing clusters – LB) Klastry obliczeniowe (High Performance clusters – HPC) Gridy Podział ze względu na budowę i typ połączeń Klastry homogeniczne Klastry heterogeniczne Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 3/13 Trochę teorii Klastry Rodzaje klastrów Podział ze względu na zastosowanie Klastry wysokiej dostępności (High-availability clusters – HA) Klastry równoważące obciążenie (Load-balancing clusters – LB) Klastry obliczeniowe (High Performance clusters – HPC) Gridy Podział ze względu na budowę i typ połączeń Klastry homogeniczne Klastry heterogeniczne Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 3/13 Trochę teorii Klastry Rodzaje klastrów Podział ze względu na zastosowanie Klastry wysokiej dostępności (High-availability clusters – HA) Klastry równoważące obciążenie (Load-balancing clusters – LB) Klastry obliczeniowe (High Performance clusters – HPC) Gridy Podział ze względu na budowę i typ połączeń Klastry homogeniczne Klastry heterogeniczne Beowulf Klastrowi typu Beowulf przyświeca następująca idea: wykonać możliwie wydajną strukturę obliczeniową jak najmniejszym kosztem. Pierwszy klaster tego typu powstał w 1994 w NASA (Donald Becker). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 3/13 Cluster ISSI Zasoby Homogeniczny klaster typu Beowulf ISSI Zasoby klastra ISSI serwer wyposażony w 2 procesory (8-rdzeni), 12GB pamieci RAM, dwa dyski twarde 512GB połączone w RAID1; 16 komputerów połączonych przy pomocy dwóch kart sieciowych Gigabit Ethernet; 32 procesory Intel Xeon(5320) 2.5GHz, 12MB cache; 128 rdzeni; 256 GB pamięci RAM; 450GB zasobów dyskowych na zadania użytkowników; 8TB zasobów dyskowych na tymczasowe dane w trakcie obliczeń (500MB na węzeł). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 4/13 Cluster ISSI Zasoby Homogeniczny klaster typu Beowulf ISSI Zasoby klastra ISSI serwer wyposażony w 2 procesory (8-rdzeni), 12GB pamieci RAM, dwa dyski twarde 512GB połączone w RAID1; 16 komputerów połączonych przy pomocy dwóch kart sieciowych Gigabit Ethernet; 32 procesory Intel Xeon(5320) 2.5GHz, 12MB cache; 128 rdzeni; 256 GB pamięci RAM; 450GB zasobów dyskowych na zadania użytkowników; 8TB zasobów dyskowych na tymczasowe dane w trakcie obliczeń (500MB na węzeł). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 4/13 Cluster ISSI Zasoby Homogeniczny klaster typu Beowulf ISSI Zasoby klastra ISSI serwer wyposażony w 2 procesory (8-rdzeni), 12GB pamieci RAM, dwa dyski twarde 512GB połączone w RAID1; 16 komputerów połączonych przy pomocy dwóch kart sieciowych Gigabit Ethernet; 32 procesory Intel Xeon(5320) 2.5GHz, 12MB cache; 128 rdzeni; 256 GB pamięci RAM; 450GB zasobów dyskowych na zadania użytkowników; 8TB zasobów dyskowych na tymczasowe dane w trakcie obliczeń (500MB na węzeł). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 4/13 Cluster ISSI Zasoby Homogeniczny klaster typu Beowulf ISSI Zasoby klastra ISSI serwer wyposażony w 2 procesory (8-rdzeni), 12GB pamieci RAM, dwa dyski twarde 512GB połączone w RAID1; 16 komputerów połączonych przy pomocy dwóch kart sieciowych Gigabit Ethernet; 32 procesory Intel Xeon(5320) 2.5GHz, 12MB cache; 128 rdzeni; 256 GB pamięci RAM; 450GB zasobów dyskowych na zadania użytkowników; 8TB zasobów dyskowych na tymczasowe dane w trakcie obliczeń (500MB na węzeł). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 4/13 Cluster ISSI Zasoby Homogeniczny klaster typu Beowulf ISSI Zasoby klastra ISSI serwer wyposażony w 2 procesory (8-rdzeni), 12GB pamieci RAM, dwa dyski twarde 512GB połączone w RAID1; 16 komputerów połączonych przy pomocy dwóch kart sieciowych Gigabit Ethernet; 32 procesory Intel Xeon(5320) 2.5GHz, 12MB cache; 128 rdzeni; 256 GB pamięci RAM; 450GB zasobów dyskowych na zadania użytkowników; 8TB zasobów dyskowych na tymczasowe dane w trakcie obliczeń (500MB na węzeł). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 4/13 Cluster ISSI Zasoby Homogeniczny klaster typu Beowulf ISSI Zasoby klastra ISSI serwer wyposażony w 2 procesory (8-rdzeni), 12GB pamieci RAM, dwa dyski twarde 512GB połączone w RAID1; 16 komputerów połączonych przy pomocy dwóch kart sieciowych Gigabit Ethernet; 32 procesory Intel Xeon(5320) 2.5GHz, 12MB cache; 128 rdzeni; 256 GB pamięci RAM; 450GB zasobów dyskowych na zadania użytkowników; 8TB zasobów dyskowych na tymczasowe dane w trakcie obliczeń (500MB na węzeł). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 4/13 Cluster ISSI Zasoby Homogeniczny klaster typu Beowulf ISSI Zasoby klastra ISSI serwer wyposażony w 2 procesory (8-rdzeni), 12GB pamieci RAM, dwa dyski twarde 512GB połączone w RAID1; 16 komputerów połączonych przy pomocy dwóch kart sieciowych Gigabit Ethernet; 32 procesory Intel Xeon(5320) 2.5GHz, 12MB cache; 128 rdzeni; 256 GB pamięci RAM; 450GB zasobów dyskowych na zadania użytkowników; 8TB zasobów dyskowych na tymczasowe dane w trakcie obliczeń (500MB na węzeł). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 4/13 Cluster ISSI „Panie, a ile toto wyciąga?” Prędkość szczytowa w teście HPL Fragment wyniku testu HPL ================================================================================ T/V N NB P Q Time Gflops -------------------------------------------------------------------------------WR00R2R2 35 4 4 1 0.00 1.210e+03 -------------------------------------------------------------------------------||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0194218 ......PASSED ================================================================================ T/V N NB P Q Time Gflops -------------------------------------------------------------------------------WR00R2R4 35 4 4 1 0.00 1.219e+03 -------------------------------------------------------------------------------||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0159258 ......PASSED ================================================================================ Wnioski Rpeak =782 GFlops Rmax =1,22 TFlops Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 5/13 Cluster ISSI Komunikacja Komunikacja Sposoby przesyłania danych Dostęp do Serwera: SFTP - pobieranie i wysyłanie danych (login/hasło); SSH - praca przy pomocy zdalnej konsoli (login/hasło); HTTP - ogólne informacje o klastrze. Dostęp do węzłów obliczeniowych: rcp - pobieranie i wysyłanie danych (bez autoryzacji); rsh - praca przy pomocy zdalnej konsoli (bez autoryzacji); Węzły mają dostęp do katalogów domowych użytkowników, oraz katalogu /cluster dzięki usługom NFS i NIS. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 6/13 Cluster ISSI Komunikacja Komunikacja Sposoby przesyłania danych Dostęp do Serwera: SFTP - pobieranie i wysyłanie danych (login/hasło); SSH - praca przy pomocy zdalnej konsoli (login/hasło); HTTP - ogólne informacje o klastrze. Dostęp do węzłów obliczeniowych: rcp - pobieranie i wysyłanie danych (bez autoryzacji); rsh - praca przy pomocy zdalnej konsoli (bez autoryzacji); Węzły mają dostęp do katalogów domowych użytkowników, oraz katalogu /cluster dzięki usługom NFS i NIS. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 6/13 Cluster ISSI Komunikacja Komunikacja Sposoby przesyłania danych Dostęp do Serwera: SFTP - pobieranie i wysyłanie danych (login/hasło); SSH - praca przy pomocy zdalnej konsoli (login/hasło); HTTP - ogólne informacje o klastrze. Dostęp do węzłów obliczeniowych: rcp - pobieranie i wysyłanie danych (bez autoryzacji); rsh - praca przy pomocy zdalnej konsoli (bez autoryzacji); Węzły mają dostęp do katalogów domowych użytkowników, oraz katalogu /cluster dzięki usługom NFS i NIS. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 6/13 Cluster ISSI Komunikacja Komunikacja Sposoby przesyłania danych Dostęp do Serwera: SFTP - pobieranie i wysyłanie danych (login/hasło); SSH - praca przy pomocy zdalnej konsoli (login/hasło); HTTP - ogólne informacje o klastrze. Dostęp do węzłów obliczeniowych: rcp - pobieranie i wysyłanie danych (bez autoryzacji); rsh - praca przy pomocy zdalnej konsoli (bez autoryzacji); Węzły mają dostęp do katalogów domowych użytkowników, oraz katalogu /cluster dzięki usługom NFS i NIS. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 6/13 Cluster ISSI Komunikacja Komunikacja Sposoby przesyłania danych Dostęp do Serwera: SFTP - pobieranie i wysyłanie danych (login/hasło); SSH - praca przy pomocy zdalnej konsoli (login/hasło); HTTP - ogólne informacje o klastrze. Dostęp do węzłów obliczeniowych: rcp - pobieranie i wysyłanie danych (bez autoryzacji); rsh - praca przy pomocy zdalnej konsoli (bez autoryzacji); Węzły mają dostęp do katalogów domowych użytkowników, oraz katalogu /cluster dzięki usługom NFS i NIS. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 6/13 Cluster ISSI Komunikacja Komunikacja Sposoby przesyłania danych Dostęp do Serwera: SFTP - pobieranie i wysyłanie danych (login/hasło); SSH - praca przy pomocy zdalnej konsoli (login/hasło); HTTP - ogólne informacje o klastrze. Dostęp do węzłów obliczeniowych: rcp - pobieranie i wysyłanie danych (bez autoryzacji); rsh - praca przy pomocy zdalnej konsoli (bez autoryzacji); Węzły mają dostęp do katalogów domowych użytkowników, oraz katalogu /cluster dzięki usługom NFS i NIS. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 6/13 Cluster ISSI Komunikacja Komunikacja Sposoby przesyłania danych Dostęp do Serwera: SFTP - pobieranie i wysyłanie danych (login/hasło); SSH - praca przy pomocy zdalnej konsoli (login/hasło); HTTP - ogólne informacje o klastrze. Dostęp do węzłów obliczeniowych: rcp - pobieranie i wysyłanie danych (bez autoryzacji); rsh - praca przy pomocy zdalnej konsoli (bez autoryzacji); Węzły mają dostęp do katalogów domowych użytkowników, oraz katalogu /cluster dzięki usługom NFS i NIS. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 6/13 Cluster ISSI Komunikacja Komunikacja Sposoby przesyłania danych Dostęp do Serwera: SFTP - pobieranie i wysyłanie danych (login/hasło); SSH - praca przy pomocy zdalnej konsoli (login/hasło); HTTP - ogólne informacje o klastrze. Dostęp do węzłów obliczeniowych: rcp - pobieranie i wysyłanie danych (bez autoryzacji); rsh - praca przy pomocy zdalnej konsoli (bez autoryzacji); Węzły mają dostęp do katalogów domowych użytkowników, oraz katalogu /cluster dzięki usługom NFS i NIS. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 6/13 Cluster ISSI Struktura połączeń Budowa klastra Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 7/13 Cluster ISSI Programy Oprogramowanie Debian GNU Linux Pakiet kompilatorów GNU: C: gcc C++: g++ Fortran 77: g77 Fortran 95: gfortran Java: gcj Ada 95: gnat Pakiet open-mpi v1.2.8 (zgodny z MPI-2) Edytory VIM: vim EMACS: emacs Menedżer plików Midnight Commander (mc) Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 8/13 Cluster ISSI Programy Oprogramowanie Debian GNU Linux Pakiet kompilatorów GNU: C: gcc C++: g++ Fortran 77: g77 Fortran 95: gfortran Java: gcj Ada 95: gnat Pakiet open-mpi v1.2.8 (zgodny z MPI-2) Edytory VIM: vim EMACS: emacs Menedżer plików Midnight Commander (mc) Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 8/13 Cluster ISSI Programy Oprogramowanie Debian GNU Linux Pakiet kompilatorów GNU: C: gcc C++: g++ Fortran 77: g77 Fortran 95: gfortran Java: gcj Ada 95: gnat Pakiet open-mpi v1.2.8 (zgodny z MPI-2) Edytory VIM: vim EMACS: emacs Menedżer plików Midnight Commander (mc) Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 8/13 Cluster ISSI Programy Oprogramowanie Debian GNU Linux Pakiet kompilatorów GNU: C: gcc C++: g++ Fortran 77: g77 Fortran 95: gfortran Java: gcj Ada 95: gnat Pakiet open-mpi v1.2.8 (zgodny z MPI-2) Edytory VIM: vim EMACS: emacs Menedżer plików Midnight Commander (mc) Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 8/13 Cluster ISSI Programy Oprogramowanie Debian GNU Linux Pakiet kompilatorów GNU: C: gcc C++: g++ Fortran 77: g77 Fortran 95: gfortran Java: gcj Ada 95: gnat Pakiet open-mpi v1.2.8 (zgodny z MPI-2) Edytory VIM: vim EMACS: emacs Menedżer plików Midnight Commander (mc) Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 8/13 Cluster ISSI Programy Biblioteki numeryczne LAPACK - Linear Algebra PACKage ScalPACK - Parallel version of LAPACK CSDP - A C Library for Semidefinite Programming DSDP - Software for Semidefinite Programming SDPA - SemiDefinite Programming Algorithm SDPA-GMP - SDPA with arbitrary precision arithmetic SDPARA - SDPA paRAllel version Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 9/13 Cluster ISSI Programy Biblioteki numeryczne LAPACK - Linear Algebra PACKage ScalPACK - Parallel version of LAPACK CSDP - A C Library for Semidefinite Programming DSDP - Software for Semidefinite Programming SDPA - SemiDefinite Programming Algorithm SDPA-GMP - SDPA with arbitrary precision arithmetic SDPARA - SDPA paRAllel version Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 9/13 Cluster ISSI Programy Biblioteki numeryczne LAPACK - Linear Algebra PACKage ScalPACK - Parallel version of LAPACK CSDP - A C Library for Semidefinite Programming DSDP - Software for Semidefinite Programming SDPA - SemiDefinite Programming Algorithm SDPA-GMP - SDPA with arbitrary precision arithmetic SDPARA - SDPA paRAllel version Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 9/13 Cluster ISSI Programy Biblioteki numeryczne LAPACK - Linear Algebra PACKage ScalPACK - Parallel version of LAPACK CSDP - A C Library for Semidefinite Programming DSDP - Software for Semidefinite Programming SDPA - SemiDefinite Programming Algorithm SDPA-GMP - SDPA with arbitrary precision arithmetic SDPARA - SDPA paRAllel version Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 9/13 Cluster ISSI Programy Biblioteki numeryczne LAPACK - Linear Algebra PACKage ScalPACK - Parallel version of LAPACK CSDP - A C Library for Semidefinite Programming DSDP - Software for Semidefinite Programming SDPA - SemiDefinite Programming Algorithm SDPA-GMP - SDPA with arbitrary precision arithmetic SDPARA - SDPA paRAllel version Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 9/13 Cluster ISSI Programy Biblioteki numeryczne LAPACK - Linear Algebra PACKage ScalPACK - Parallel version of LAPACK CSDP - A C Library for Semidefinite Programming DSDP - Software for Semidefinite Programming SDPA - SemiDefinite Programming Algorithm SDPA-GMP - SDPA with arbitrary precision arithmetic SDPARA - SDPA paRAllel version Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 9/13 Cluster ISSI Programy Biblioteki numeryczne LAPACK - Linear Algebra PACKage ScalPACK - Parallel version of LAPACK CSDP - A C Library for Semidefinite Programming DSDP - Software for Semidefinite Programming SDPA - SemiDefinite Programming Algorithm SDPA-GMP - SDPA with arbitrary precision arithmetic SDPARA - SDPA paRAllel version Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 9/13 Cluster ISSI Pierwsze kroki Instrukcja obsługi Pierwsze kroki Logowanie do serwera cluster.issi.uz.zgora.pl przy pomocy protokołu SSH (putty); zmiana hasła (passwd); sprawdzenie dostępu do wybranych węzłów (np. rsh n5, rsh m16, itd.); uruchomienie przykładowego programu (np. mpirun -np 128 test); sprawdzenie obciążenia wybranego węzła (np. rsh n12 top); sprawdzenie kto jest zalogowany (who). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 10/13 Cluster ISSI Pierwsze kroki Instrukcja obsługi Pierwsze kroki Logowanie do serwera cluster.issi.uz.zgora.pl przy pomocy protokołu SSH (putty); zmiana hasła (passwd); sprawdzenie dostępu do wybranych węzłów (np. rsh n5, rsh m16, itd.); uruchomienie przykładowego programu (np. mpirun -np 128 test); sprawdzenie obciążenia wybranego węzła (np. rsh n12 top); sprawdzenie kto jest zalogowany (who). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 10/13 Cluster ISSI Pierwsze kroki Instrukcja obsługi Pierwsze kroki Logowanie do serwera cluster.issi.uz.zgora.pl przy pomocy protokołu SSH (putty); zmiana hasła (passwd); sprawdzenie dostępu do wybranych węzłów (np. rsh n5, rsh m16, itd.); uruchomienie przykładowego programu (np. mpirun -np 128 test); sprawdzenie obciążenia wybranego węzła (np. rsh n12 top); sprawdzenie kto jest zalogowany (who). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 10/13 Cluster ISSI Pierwsze kroki Instrukcja obsługi Pierwsze kroki Logowanie do serwera cluster.issi.uz.zgora.pl przy pomocy protokołu SSH (putty); zmiana hasła (passwd); sprawdzenie dostępu do wybranych węzłów (np. rsh n5, rsh m16, itd.); uruchomienie przykładowego programu (np. mpirun -np 128 test); sprawdzenie obciążenia wybranego węzła (np. rsh n12 top); sprawdzenie kto jest zalogowany (who). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 10/13 Cluster ISSI Pierwsze kroki Instrukcja obsługi Pierwsze kroki Logowanie do serwera cluster.issi.uz.zgora.pl przy pomocy protokołu SSH (putty); zmiana hasła (passwd); sprawdzenie dostępu do wybranych węzłów (np. rsh n5, rsh m16, itd.); uruchomienie przykładowego programu (np. mpirun -np 128 test); sprawdzenie obciążenia wybranego węzła (np. rsh n12 top); sprawdzenie kto jest zalogowany (who). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 10/13 Cluster ISSI Pierwsze kroki Instrukcja obsługi Pierwsze kroki Logowanie do serwera cluster.issi.uz.zgora.pl przy pomocy protokołu SSH (putty); zmiana hasła (passwd); sprawdzenie dostępu do wybranych węzłów (np. rsh n5, rsh m16, itd.); uruchomienie przykładowego programu (np. mpirun -np 128 test); sprawdzenie obciążenia wybranego węzła (np. rsh n12 top); sprawdzenie kto jest zalogowany (who). Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 10/13 Cluster ISSI Pierwszy program Instrukcja obsługi Pierwszy program #i n c l u d e < s t d i o . h> #i n c l u d e <mpi . h> i n t main ( i n t a r g c , c h a r ∗ a r g v [ ] ) { i n t l procesow , pozycja , dl nazwy ; c h a r n a z w a p r o c e s o r a [ MPI MAX PROCESSOR NAME ] ; M P I I n i t (& a r g c , &a r g v ) ; MPI Comm size (MPI COMM WORLD, &l p r o c e s o w ) ; MPI Comm rank (MPI COMM WORLD, &p o z y c j a ) ; M P I G e t p r o c e s s o r n a m e ( n a z w a p r o c e s o r a , &d l n a z w y ) ; p r i n t f ( ”Tu wątek %d na w ę ź l e %s z %d d o s t ę p n y c h \n” , pozycja , nazwa procesora , l procesow ) ; MPI Finalize (); } Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 11/13 Cluster ISSI Pierwszy program Instrukcja obsługi Jak uruchomić program? Edycja kodu: vim test.c; Kompilacja: mpicc test.c -o test; Uruchomienie: mpirun -np 64 test; Jak to działa? Aktywacja komunikatora: MPI Init(&argc, &argv); Pobranie ilości procesów: MPI Comm size(MPI COMM WORLD, &l procesow); Sprawdzenie z którym procesem mamy do czynienia: MPI Comm rank(MPI COMM WORLD, &pozycja); Pobranie nazwy węzła: MPI Get processor name(nazwa procesora, &dl nazwy); Zwolnienie komunikatora: MPI Finalize (); Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 12/13 Cluster ISSI Pierwszy program Instrukcja obsługi Jak uruchomić program? Edycja kodu: vim test.c; Kompilacja: mpicc test.c -o test; Uruchomienie: mpirun -np 64 test; Jak to działa? Aktywacja komunikatora: MPI Init(&argc, &argv); Pobranie ilości procesów: MPI Comm size(MPI COMM WORLD, &l procesow); Sprawdzenie z którym procesem mamy do czynienia: MPI Comm rank(MPI COMM WORLD, &pozycja); Pobranie nazwy węzła: MPI Get processor name(nazwa procesora, &dl nazwy); Zwolnienie komunikatora: MPI Finalize (); Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 12/13 Cluster ISSI Pierwszy program Instrukcja obsługi Jak uruchomić program? Edycja kodu: vim test.c; Kompilacja: mpicc test.c -o test; Uruchomienie: mpirun -np 64 test; Jak to działa? Aktywacja komunikatora: MPI Init(&argc, &argv); Pobranie ilości procesów: MPI Comm size(MPI COMM WORLD, &l procesow); Sprawdzenie z którym procesem mamy do czynienia: MPI Comm rank(MPI COMM WORLD, &pozycja); Pobranie nazwy węzła: MPI Get processor name(nazwa procesora, &dl nazwy); Zwolnienie komunikatora: MPI Finalize (); Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 12/13 Cluster ISSI Pierwszy program Instrukcja obsługi Jak uruchomić program? Edycja kodu: vim test.c; Kompilacja: mpicc test.c -o test; Uruchomienie: mpirun -np 64 test; Jak to działa? Aktywacja komunikatora: MPI Init(&argc, &argv); Pobranie ilości procesów: MPI Comm size(MPI COMM WORLD, &l procesow); Sprawdzenie z którym procesem mamy do czynienia: MPI Comm rank(MPI COMM WORLD, &pozycja); Pobranie nazwy węzła: MPI Get processor name(nazwa procesora, &dl nazwy); Zwolnienie komunikatora: MPI Finalize (); Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 12/13 Cluster ISSI Pierwszy program Instrukcja obsługi Jak uruchomić program? Edycja kodu: vim test.c; Kompilacja: mpicc test.c -o test; Uruchomienie: mpirun -np 64 test; Jak to działa? Aktywacja komunikatora: MPI Init(&argc, &argv); Pobranie ilości procesów: MPI Comm size(MPI COMM WORLD, &l procesow); Sprawdzenie z którym procesem mamy do czynienia: MPI Comm rank(MPI COMM WORLD, &pozycja); Pobranie nazwy węzła: MPI Get processor name(nazwa procesora, &dl nazwy); Zwolnienie komunikatora: MPI Finalize (); Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 12/13 Cluster ISSI Pierwszy program Instrukcja obsługi Jak uruchomić program? Edycja kodu: vim test.c; Kompilacja: mpicc test.c -o test; Uruchomienie: mpirun -np 64 test; Jak to działa? Aktywacja komunikatora: MPI Init(&argc, &argv); Pobranie ilości procesów: MPI Comm size(MPI COMM WORLD, &l procesow); Sprawdzenie z którym procesem mamy do czynienia: MPI Comm rank(MPI COMM WORLD, &pozycja); Pobranie nazwy węzła: MPI Get processor name(nazwa procesora, &dl nazwy); Zwolnienie komunikatora: MPI Finalize (); Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 12/13 Cluster ISSI Pierwszy program Instrukcja obsługi Jak uruchomić program? Edycja kodu: vim test.c; Kompilacja: mpicc test.c -o test; Uruchomienie: mpirun -np 64 test; Jak to działa? Aktywacja komunikatora: MPI Init(&argc, &argv); Pobranie ilości procesów: MPI Comm size(MPI COMM WORLD, &l procesow); Sprawdzenie z którym procesem mamy do czynienia: MPI Comm rank(MPI COMM WORLD, &pozycja); Pobranie nazwy węzła: MPI Get processor name(nazwa procesora, &dl nazwy); Zwolnienie komunikatora: MPI Finalize (); Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 12/13 Cluster ISSI Pierwszy program Instrukcja obsługi Jak uruchomić program? Edycja kodu: vim test.c; Kompilacja: mpicc test.c -o test; Uruchomienie: mpirun -np 64 test; Jak to działa? Aktywacja komunikatora: MPI Init(&argc, &argv); Pobranie ilości procesów: MPI Comm size(MPI COMM WORLD, &l procesow); Sprawdzenie z którym procesem mamy do czynienia: MPI Comm rank(MPI COMM WORLD, &pozycja); Pobranie nazwy węzła: MPI Get processor name(nazwa procesora, &dl nazwy); Zwolnienie komunikatora: MPI Finalize (); Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 12/13 Cluster ISSI Zaginione programy, biblioteki... Instrukcja obsługi Gdzie szukać „zabawek” programy wykonywalne: /cluster/bin, biblioteki: /cluster/lib, pliki nagłówkowe: /cluster/include. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 13/13 Cluster ISSI Zaginione programy, biblioteki... Instrukcja obsługi Gdzie szukać „zabawek” programy wykonywalne: /cluster/bin, biblioteki: /cluster/lib, pliki nagłówkowe: /cluster/include. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 13/13 Cluster ISSI Zaginione programy, biblioteki... Instrukcja obsługi Gdzie szukać „zabawek” programy wykonywalne: /cluster/bin, biblioteki: /cluster/lib, pliki nagłówkowe: /cluster/include. Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 13/13 Cluster ISSI Koniec programu Dziękuję za uwagę! Przemysław Jacewicz Klaster ISSI - budowa i zastosowanie w badaniach naukowych 14/13