Klaster ISSI - raport na dzień 15 kwietnia 2010 r. Przemysław Jacewicz Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski E-mail: P.Jacewicz@issi.uz.zgora.pl Zielona Góra, 15 kwietnia 2010 r. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 1/25
Sprzęt Zasoby 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 - raport na dzień 15 kwietnia 2010 r. 2/25
Sprzęt Modyfikacje sprzętu Zmiany w zasobach sprzętowych węzeł n11 - wymiana na nowy; węzeł n6 - naprawiony środkami własnymi; węzeł n4 - naprawiony środkami własnymi. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 3/25
Sprzęt Modyfikacje sprzętu Zmiany w zasobach sprzętowych węzeł n11 - wymiana na nowy; węzeł n6 - naprawiony środkami własnymi; węzeł n4 - naprawiony środkami własnymi. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 3/25
Sprzęt Modyfikacje sprzętu Zmiany w zasobach sprzętowych węzeł n11 - wymiana na nowy; węzeł n6 - naprawiony środkami własnymi; węzeł n4 - naprawiony środkami własnymi. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 3/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie użytkowe Debian GNU Linux v5.0 (najnowsza stabilna) Pakiet kompilatorów firmy Intel v11.1 (najnowsza dostępna): /opt/intel/compiler/11.1/056/bin/intel64 C: icc C++: icpc Fortran 77/90/95/2003: ifort Menedżer zasobów Torque (następca Portable Batch System (PBS)) Program szeregowania zadań Maui (Cluster Scheduler) MPIEXEC - adaptacja do współpracy z Torque i Maui MPICH2 v.1.2.1 (najnowszy) - zastąpił open-mpi v1.2.8 Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 4/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie użytkowe Debian GNU Linux v5.0 (najnowsza stabilna) Pakiet kompilatorów firmy Intel v11.1 (najnowsza dostępna): /opt/intel/compiler/11.1/056/bin/intel64 C: icc C++: icpc Fortran 77/90/95/2003: ifort Menedżer zasobów Torque (następca Portable Batch System (PBS)) Program szeregowania zadań Maui (Cluster Scheduler) MPIEXEC - adaptacja do współpracy z Torque i Maui MPICH2 v.1.2.1 (najnowszy) - zastąpił open-mpi v1.2.8 Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 4/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie użytkowe Debian GNU Linux v5.0 (najnowsza stabilna) Pakiet kompilatorów firmy Intel v11.1 (najnowsza dostępna): /opt/intel/compiler/11.1/056/bin/intel64 C: icc C++: icpc Fortran 77/90/95/2003: ifort Menedżer zasobów Torque (następca Portable Batch System (PBS)) Program szeregowania zadań Maui (Cluster Scheduler) MPIEXEC - adaptacja do współpracy z Torque i Maui MPICH2 v.1.2.1 (najnowszy) - zastąpił open-mpi v1.2.8 Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 4/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie użytkowe Debian GNU Linux v5.0 (najnowsza stabilna) Pakiet kompilatorów firmy Intel v11.1 (najnowsza dostępna): /opt/intel/compiler/11.1/056/bin/intel64 C: icc C++: icpc Fortran 77/90/95/2003: ifort Menedżer zasobów Torque (następca Portable Batch System (PBS)) Program szeregowania zadań Maui (Cluster Scheduler) MPIEXEC - adaptacja do współpracy z Torque i Maui MPICH2 v.1.2.1 (najnowszy) - zastąpił open-mpi v1.2.8 Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 4/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie użytkowe Debian GNU Linux v5.0 (najnowsza stabilna) Pakiet kompilatorów firmy Intel v11.1 (najnowsza dostępna): /opt/intel/compiler/11.1/056/bin/intel64 C: icc C++: icpc Fortran 77/90/95/2003: ifort Menedżer zasobów Torque (następca Portable Batch System (PBS)) Program szeregowania zadań Maui (Cluster Scheduler) MPIEXEC - adaptacja do współpracy z Torque i Maui MPICH2 v.1.2.1 (najnowszy) - zastąpił open-mpi v1.2.8 Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 4/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie użytkowe Debian GNU Linux v5.0 (najnowsza stabilna) Pakiet kompilatorów firmy Intel v11.1 (najnowsza dostępna): /opt/intel/compiler/11.1/056/bin/intel64 C: icc C++: icpc Fortran 77/90/95/2003: ifort Menedżer zasobów Torque (następca Portable Batch System (PBS)) Program szeregowania zadań Maui (Cluster Scheduler) MPIEXEC - adaptacja do współpracy z Torque i Maui MPICH2 v.1.2.1 (najnowszy) - zastąpił open-mpi v1.2.8 Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 4/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie c.d. Pakiet kompilatorów GNU v4.3.2 (21 stycznia 2010 r. wydano v4.4.3): C: gcc C++: g++ Fortran 77: g77 Fortran 95: gfortran Java: gcj Ada 95: gnat Edytory VIM: vim EMACS: emacs Menedżer plików Midnight Commander (mc) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 5/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie c.d. Pakiet kompilatorów GNU v4.3.2 (21 stycznia 2010 r. wydano v4.4.3): C: gcc C++: g++ Fortran 77: g77 Fortran 95: gfortran Java: gcj Ada 95: gnat Edytory VIM: vim EMACS: emacs Menedżer plików Midnight Commander (mc) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 5/25
Oprogramowanie Oprogramowanie użytkowe Oprogramowanie c.d. Pakiet kompilatorów GNU v4.3.2 (21 stycznia 2010 r. wydano v4.4.3): C: gcc C++: g++ Fortran 77: g77 Fortran 95: gfortran Java: gcj Ada 95: gnat Edytory VIM: vim EMACS: emacs Menedżer plików Midnight Commander (mc) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 5/25
Oprogramowanie Biblioteki numeryczne Biblioteki numeryczne Intel Math Kernel Library (Intel MKL) Intel Threading Building Blocks (Intel TBB) Intel Integrated Performance Primitives (Intel IPP) 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 - raport na dzień 15 kwietnia 2010 r. 6/25
Oprogramowanie Biblioteki numeryczne Biblioteki numeryczne Intel Math Kernel Library (Intel MKL) Intel Threading Building Blocks (Intel TBB) Intel Integrated Performance Primitives (Intel IPP) 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 - raport na dzień 15 kwietnia 2010 r. 6/25
Oprogramowanie Biblioteki numeryczne Biblioteki numeryczne Intel Math Kernel Library (Intel MKL) Intel Threading Building Blocks (Intel TBB) Intel Integrated Performance Primitives (Intel IPP) 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 - raport na dzień 15 kwietnia 2010 r. 6/25
Oprogramowanie Biblioteki numeryczne Biblioteki numeryczne Intel Math Kernel Library (Intel MKL) Intel Threading Building Blocks (Intel TBB) Intel Integrated Performance Primitives (Intel IPP) 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 - raport na dzień 15 kwietnia 2010 r. 6/25
Oprogramowanie Biblioteka MKL Intel Math Kernel Library (MKL) 1 Basic Linear Algebra Subprograms (BLAS i Sparse BLAS): operacje na wektorach (poziom 1); operacje wektorowo-macierzowe (poziom 2); operacje macierzowo-macierzowe (poziom 3); 2 Linear Algebra PACKage (LAPACK) wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; 3 Dyskretne transformaty Fouriera (DFT) zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; 4 Vector Math Library (VML) wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 5 Vector Statistical Random Number Generator (VSL) generowanie liczb losowych dla różnych dystrybuant prawdopodobieństwa przy definiowalnych dokładnościach i jakości. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 7/25
Oprogramowanie Biblioteka MKL Intel Math Kernel Library (MKL) 1 Basic Linear Algebra Subprograms (BLAS i Sparse BLAS): operacje na wektorach (poziom 1); operacje wektorowo-macierzowe (poziom 2); operacje macierzowo-macierzowe (poziom 3); 2 Linear Algebra PACKage (LAPACK) wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; 3 Dyskretne transformaty Fouriera (DFT) zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; 4 Vector Math Library (VML) wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 5 Vector Statistical Random Number Generator (VSL) generowanie liczb losowych dla różnych dystrybuant prawdopodobieństwa przy definiowalnych dokładnościach i jakości. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 7/25
Oprogramowanie Biblioteka MKL Intel Math Kernel Library (MKL) 1 Basic Linear Algebra Subprograms (BLAS i Sparse BLAS): operacje na wektorach (poziom 1); operacje wektorowo-macierzowe (poziom 2); operacje macierzowo-macierzowe (poziom 3); 2 Linear Algebra PACKage (LAPACK) wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; 3 Dyskretne transformaty Fouriera (DFT) zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; 4 Vector Math Library (VML) wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 5 Vector Statistical Random Number Generator (VSL) generowanie liczb losowych dla różnych dystrybuant prawdopodobieństwa przy definiowalnych dokładnościach i jakości. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 7/25
Oprogramowanie Biblioteka MKL Intel Math Kernel Library (MKL) 1 Basic Linear Algebra Subprograms (BLAS i Sparse BLAS): operacje na wektorach (poziom 1); operacje wektorowo-macierzowe (poziom 2); operacje macierzowo-macierzowe (poziom 3); 2 Linear Algebra PACKage (LAPACK) wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; 3 Dyskretne transformaty Fouriera (DFT) zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; 4 Vector Math Library (VML) wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 5 Vector Statistical Random Number Generator (VSL) generowanie liczb losowych dla różnych dystrybuant prawdopodobieństwa przy definiowalnych dokładnościach i jakości. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 7/25
Oprogramowanie Biblioteka MKL Intel Math Kernel Library (MKL) 1 Basic Linear Algebra Subprograms (BLAS i Sparse BLAS): operacje na wektorach (poziom 1); operacje wektorowo-macierzowe (poziom 2); operacje macierzowo-macierzowe (poziom 3); 2 Linear Algebra PACKage (LAPACK) wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; 3 Dyskretne transformaty Fouriera (DFT) zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; 4 Vector Math Library (VML) wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 5 Vector Statistical Random Number Generator (VSL) generowanie liczb losowych dla różnych dystrybuant prawdopodobieństwa przy definiowalnych dokładnościach i jakości. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 7/25
Motywacja zmian: Po co zmieniać jak działa? Dla użytkowników: użytkownicy potrzebują określonych zasobów do wykonywania obliczeń/badań zadanie powinno być wykonane jak najszybciej (mało kto chce ręcznie sprawdzać czy zasoby są wolne i czekać na samodzielne uruchomienie zadania) zadanie ma się wykonywać bez nadzoru, a wyniki mają być dostarczone do zlecającego zadanie Dla administratora: redukcja zaśmiecania zasobów równomierne udostępnianie zasobów (aby uniknąć skarg na wysycenie zasobów przez 1-go użytkownika) śledzenie pracy systemu i kontrola dostępu Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 8/25
Motywacja zmian: Po co zmieniać jak działa? Dla użytkowników: użytkownicy potrzebują określonych zasobów do wykonywania obliczeń/badań zadanie powinno być wykonane jak najszybciej (mało kto chce ręcznie sprawdzać czy zasoby są wolne i czekać na samodzielne uruchomienie zadania) zadanie ma się wykonywać bez nadzoru, a wyniki mają być dostarczone do zlecającego zadanie Dla administratora: redukcja zaśmiecania zasobów równomierne udostępnianie zasobów (aby uniknąć skarg na wysycenie zasobów przez 1-go użytkownika) śledzenie pracy systemu i kontrola dostępu Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 8/25
Motywacja zmian: Po co zmieniać jak działa? Dla użytkowników: użytkownicy potrzebują określonych zasobów do wykonywania obliczeń/badań zadanie powinno być wykonane jak najszybciej (mało kto chce ręcznie sprawdzać czy zasoby są wolne i czekać na samodzielne uruchomienie zadania) zadanie ma się wykonywać bez nadzoru, a wyniki mają być dostarczone do zlecającego zadanie Dla administratora: redukcja zaśmiecania zasobów równomierne udostępnianie zasobów (aby uniknąć skarg na wysycenie zasobów przez 1-go użytkownika) śledzenie pracy systemu i kontrola dostępu Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 8/25
Motywacja zmian: Po co zmieniać jak działa? Dla użytkowników: użytkownicy potrzebują określonych zasobów do wykonywania obliczeń/badań zadanie powinno być wykonane jak najszybciej (mało kto chce ręcznie sprawdzać czy zasoby są wolne i czekać na samodzielne uruchomienie zadania) zadanie ma się wykonywać bez nadzoru, a wyniki mają być dostarczone do zlecającego zadanie Dla administratora: redukcja zaśmiecania zasobów równomierne udostępnianie zasobów (aby uniknąć skarg na wysycenie zasobów przez 1-go użytkownika) śledzenie pracy systemu i kontrola dostępu Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 8/25
Motywacja zmian: Po co zmieniać jak działa? Dla użytkowników: użytkownicy potrzebują określonych zasobów do wykonywania obliczeń/badań zadanie powinno być wykonane jak najszybciej (mało kto chce ręcznie sprawdzać czy zasoby są wolne i czekać na samodzielne uruchomienie zadania) zadanie ma się wykonywać bez nadzoru, a wyniki mają być dostarczone do zlecającego zadanie Dla administratora: redukcja zaśmiecania zasobów równomierne udostępnianie zasobów (aby uniknąć skarg na wysycenie zasobów przez 1-go użytkownika) śledzenie pracy systemu i kontrola dostępu Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 8/25
Motywacja zmian: Po co zmieniać jak działa? Dla użytkowników: użytkownicy potrzebują określonych zasobów do wykonywania obliczeń/badań zadanie powinno być wykonane jak najszybciej (mało kto chce ręcznie sprawdzać czy zasoby są wolne i czekać na samodzielne uruchomienie zadania) zadanie ma się wykonywać bez nadzoru, a wyniki mają być dostarczone do zlecającego zadanie Dla administratora: redukcja zaśmiecania zasobów równomierne udostępnianie zasobów (aby uniknąć skarg na wysycenie zasobów przez 1-go użytkownika) śledzenie pracy systemu i kontrola dostępu Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 8/25
Menedżer zasobów dobry na wszystko... Rozwiązanie - menedżer zasobów Przyjmuje od użytkowników zlecenia na wykonanie zadań obliczeniowych Śledzi użycie zasobów Dostarcza zadania do zasobów obliczeniowych Informuje użytkowników o statusie obliczeń Odsyła użytkownikom wyniki obliczeń Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 9/25
Menedżer zasobów dobry na wszystko... Rozwiązanie - menedżer zasobów Przyjmuje od użytkowników zlecenia na wykonanie zadań obliczeniowych Śledzi użycie zasobów Dostarcza zadania do zasobów obliczeniowych Informuje użytkowników o statusie obliczeń Odsyła użytkownikom wyniki obliczeń Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 9/25
Menedżer zasobów dobry na wszystko... Rozwiązanie - menedżer zasobów Przyjmuje od użytkowników zlecenia na wykonanie zadań obliczeniowych Śledzi użycie zasobów Dostarcza zadania do zasobów obliczeniowych Informuje użytkowników o statusie obliczeń Odsyła użytkownikom wyniki obliczeń Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 9/25
Menedżer zasobów dobry na wszystko... Rozwiązanie - menedżer zasobów Przyjmuje od użytkowników zlecenia na wykonanie zadań obliczeniowych Śledzi użycie zasobów Dostarcza zadania do zasobów obliczeniowych Informuje użytkowników o statusie obliczeń Odsyła użytkownikom wyniki obliczeń Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 9/25
Menedżer zasobów dobry na wszystko... Rozwiązanie - menedżer zasobów Przyjmuje od użytkowników zlecenia na wykonanie zadań obliczeniowych Śledzi użycie zasobów Dostarcza zadania do zasobów obliczeniowych Informuje użytkowników o statusie obliczeń Odsyła użytkownikom wyniki obliczeń Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 9/25
A jaki ten silnik ma moment obrotowy? TORQUE: Menedżer zasobów TORQUE (Terascale Open-source Resource and QUEue namager) działa przy pomocy następujących programów: serwera usługi (pbs_server) na węźle głównym miniserwerów wykonawczych (pbs_mom) na wszystkich węzłach obliczeniowych programu szeregowania zadań (scheduler u nas tą funkcję pełni program Maui) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 10/25
A jaki ten silnik ma moment obrotowy? TORQUE: Menedżer zasobów TORQUE (Terascale Open-source Resource and QUEue namager) działa przy pomocy następujących programów: serwera usługi (pbs_server) na węźle głównym miniserwerów wykonawczych (pbs_mom) na wszystkich węzłach obliczeniowych programu szeregowania zadań (scheduler u nas tą funkcję pełni program Maui) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 10/25
A jaki ten silnik ma moment obrotowy? TORQUE: Menedżer zasobów TORQUE (Terascale Open-source Resource and QUEue namager) działa przy pomocy następujących programów: serwera usługi (pbs_server) na węźle głównym miniserwerów wykonawczych (pbs_mom) na wszystkich węzłach obliczeniowych programu szeregowania zadań (scheduler u nas tą funkcję pełni program Maui) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 10/25
Każdy klaster ma jakieś zadania... Jak jest wykonywane zadanie? 1 Zadanie jest skryptem zawierającym opis potrzebnych zasobów i parametrów oraz listę poleceń, które mają być wykonane. 2 Zadnie jest zlecane do menedżera zasobów. 3 Ten przekazuje zadanie do kolejki zadań obsługiwanej przez program szeregowania zadań, który wykonuje je bezobsługowo w momencie gdy przyjdzie jej kolej i są dostępne wymagane zasoby (zadania o mniejszych wymaganiach są uruchamiane przed większymi jeśli to nie opóźnia ich wykonania). 4 Po zakończeniu obliczeń wyniki są odsyłane do zlecającego zadanie. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 11/25
Każdy klaster ma jakieś zadania... Jak jest wykonywane zadanie? 1 Zadanie jest skryptem zawierającym opis potrzebnych zasobów i parametrów oraz listę poleceń, które mają być wykonane. 2 Zadnie jest zlecane do menedżera zasobów. 3 Ten przekazuje zadanie do kolejki zadań obsługiwanej przez program szeregowania zadań, który wykonuje je bezobsługowo w momencie gdy przyjdzie jej kolej i są dostępne wymagane zasoby (zadania o mniejszych wymaganiach są uruchamiane przed większymi jeśli to nie opóźnia ich wykonania). 4 Po zakończeniu obliczeń wyniki są odsyłane do zlecającego zadanie. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 11/25
Każdy klaster ma jakieś zadania... Jak jest wykonywane zadanie? 1 Zadanie jest skryptem zawierającym opis potrzebnych zasobów i parametrów oraz listę poleceń, które mają być wykonane. 2 Zadnie jest zlecane do menedżera zasobów. 3 Ten przekazuje zadanie do kolejki zadań obsługiwanej przez program szeregowania zadań, który wykonuje je bezobsługowo w momencie gdy przyjdzie jej kolej i są dostępne wymagane zasoby (zadania o mniejszych wymaganiach są uruchamiane przed większymi jeśli to nie opóźnia ich wykonania). 4 Po zakończeniu obliczeń wyniki są odsyłane do zlecającego zadanie. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 11/25
Każdy klaster ma jakieś zadania... Jak jest wykonywane zadanie? 1 Zadanie jest skryptem zawierającym opis potrzebnych zasobów i parametrów oraz listę poleceń, które mają być wykonane. 2 Zadnie jest zlecane do menedżera zasobów. 3 Ten przekazuje zadanie do kolejki zadań obsługiwanej przez program szeregowania zadań, który wykonuje je bezobsługowo w momencie gdy przyjdzie jej kolej i są dostępne wymagane zasoby (zadania o mniejszych wymaganiach są uruchamiane przed większymi jeśli to nie opóźnia ich wykonania). 4 Po zakończeniu obliczeń wyniki są odsyłane do zlecającego zadanie. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 11/25
A jak mu coś zadać? Przykładowe zadanie zawartość pliku: zadanie.sh #!/ bin / sh # PBS -l walltime =1:00:00 # PBS -l nodes =4: ppn =4: min2gb # PBS -N Obliczenia_4x4 cd / home / uzytkownik / katalog_z_zadaniem./ program_obliczen_4x4./ inny_program exit 0 Opis zasobów zaczyna się od #PBS (Portable Batch System) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 12/25
A jak mu coś zadać? Zlecanie wykonania zadania Do zlecania zadań służy polecenie qsub, np.: qsub zadanie. sh Specyfikacja zasobów może też być przekazana jako parametry polecenia qsub: qsub -l walltime =1:00:00 -l nodes =4: ppn =4 zadanie. sh jest to wygodne przy eksperymentowaniu z ilościami zasobów. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 13/25
Kolejki zadań Gdzie zadanie czeka na wykonanie? Programu szeregowania zadań jest najczęściej skonfigurowany do pracy z kilkoma kolejkami. Każda kolejka może być skonfigurowana do akceptowania zadań od wybranych użytkowników lub grup i obsługiwać różne zasoby. Podczas zlecania zadania trzeba wybrać właściwą kolejkę w wierszu poleceń -q nazwa_kolejki lub umieścić następującą linię w skrypcie: # PBS -q nazwa_kolejki Klaster ISSI domyślnie umieszcza zadania w ogólnodostępnej kolejce batch Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 14/25
Gdzie zadanie czeka na wykonanie? Podstawowy opis zasobów -l nodes=n wymagane n węzłów -l min8gb wymagane minimum 8GB pamięci -l mem8gb wymagane dokładnie 8GB pamięci -l nodes=n:ppm=m:min8gb wymagane n węzłów, po m procesorów i minimum 8GB pamięci każdy -l walltime=t wymagane t sekund na obliczenia (lub czas w formacie GG:MM:SS) -q nazwa_kolejki zadanie ma być przesłane do kolejki nazwa_kolejki -N nazwa_zadania zadanie ma być oznaczone etykietą nazwa_zadania -M adres_e-mail wyślij e-mail na adres_e-mail po zakończeniu zadania Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 15/25
Tryb interaktywny Jak przetestować system uruchamiania zadań? Jeśli zasoby są aktualnie dostępne można uruchomić zadanie w trybie interaktywnym przy pomocy polecenia qsub -I w takiej sytuacji można wykonywać wszystkie polecenia na każdym z przydzielonych węzłów samodzielnie. Sprawdzanie dostępnych zasobów poleceniem showbf: cluster$ showbf backfill window ( user : XXXXXXXXXX group : XXXXXXXXXX partition : ALL ) Wed Apr 6 22:30:02 128 procs available with no timelimit ) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 16/25
Jak przetestować system uruchamiania zadań? Przykład interaktywnego uruchomienia zadania cluster$ qsub -I -l walltime =5:00 -l nodes =1: ppn =2 qsub : waiting for job 54. m0. cluster. issi to start qsub : job 54. m0. cluster. issi ready m12$ cd cd src / f90 / seq21file / m12$./ seq21file Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 17/25
Co się stanie po ukończeniu zadania? Wyniki obliczeń Po zakończeniu wykonywania zadnia w katalogu w którym zostało zlecone zadanie zostają umieszczone 2 pliki, zawierające: to co zlecone zadanie wypisało na standardowym wyjściu (plik o nazwie: nazwa_zadania.oid) to co zlecone zadanie wypisało na standardowym wyjściu błędów (plik o nazwie: nazwa_zadania.eid) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 18/25
Co się stanie po ukończeniu zadania? Wyniki obliczeń Po zakończeniu wykonywania zadnia w katalogu w którym zostało zlecone zadanie zostają umieszczone 2 pliki, zawierające: to co zlecone zadanie wypisało na standardowym wyjściu (plik o nazwie: nazwa_zadania.oid) to co zlecone zadanie wypisało na standardowym wyjściu błędów (plik o nazwie: nazwa_zadania.eid) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 18/25
Jakie mam możliwości w trakcie działania zadania? Ograniczenia w dostępie do zasobów Zasoby są przydzielane tylko w ilości określonej podczas zlecania (nie ma dostępu do innych węzłów oprócz tych przydzielonych sprawdź w trybie interaktywnym). Prawa dostępu są przydzielane na czas podany przy pomocy parametru walltime, po przekroczeniu tego czasu o ustalony przez administratora czas zadania są przerywane automatycznie (automatyczne usuwanie zapętlonych zadań). Trzeba przewidzieć czas obliczeń lub rozbić zadanie na mniejsze wyznaczające wyniki cząstkowe. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 19/25
Jakie mam możliwości w trakcie działania zadania? Ograniczenia w dostępie do zasobów Zasoby są przydzielane tylko w ilości określonej podczas zlecania (nie ma dostępu do innych węzłów oprócz tych przydzielonych sprawdź w trybie interaktywnym). Prawa dostępu są przydzielane na czas podany przy pomocy parametru walltime, po przekroczeniu tego czasu o ustalony przez administratora czas zadania są przerywane automatycznie (automatyczne usuwanie zapętlonych zadań). Trzeba przewidzieć czas obliczeń lub rozbić zadanie na mniejsze wyznaczające wyniki cząstkowe. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 19/25
Jakie mam możliwości w trakcie działania zadania? Ograniczenia w dostępie do zasobów Zasoby są przydzielane tylko w ilości określonej podczas zlecania (nie ma dostępu do innych węzłów oprócz tych przydzielonych sprawdź w trybie interaktywnym). Prawa dostępu są przydzielane na czas podany przy pomocy parametru walltime, po przekroczeniu tego czasu o ustalony przez administratora czas zadania są przerywane automatycznie (automatyczne usuwanie zapętlonych zadań). Trzeba przewidzieć czas obliczeń lub rozbić zadanie na mniejsze wyznaczające wyniki cząstkowe. Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 19/25
Co tam słychać u mojej robótki? Sprawdzanie stanu zadań: qstat qstat -a qstat -r qstat -rn qstat -i qstat -u uz_id qdel ID pbsnodes -a tracejob ID tracejob -n d ID ogólny status kolejki głównej to samo w innej formie pokazuje tylko uruchomione zadania to samo wraz z przydzielonymi węzłami pokazuje tylko oczekujące zadania pokazuje zadania użytkownika uz_id usuwa zadanie o numerze ID wyświetla stan wszystkich węzłów obliczeniowych pokazuje co się dzisiaj dzieje z zadaniem ID pokazuje co się działo z zadaniem ID podczas ostatnich d dni Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 20/25
Co tam słychać u mojej robótki? Przykład śledzenia zadania nr 54 cluster$ tracejob 54 Job : 54. m0. cluster. issi 04/ 06/ 2010 22: 10: 47 S enqueuing into batch, state 1 hop 1 04/ 06/ 2010 22: 10: 47 S Job Queued at request of przemek@m0. cluster. issi, owner = przemek@ m0. cluster. issi, job name = STDIN, queue = batch 04/ 06/ 2010 22: 10: 48 S Job Run at request of root@ m0. cluster. issi 04/ 06/ 2010 22: 10: 48 S Not sending email : User does not want mail of this type. 04/ 06/ 2010 22: 17: 26 S Not sending email : User does not want mail of this type. 04/ 06/ 2010 22: 17: 26 S Exit_ status =265 resources_ used. cput =00:00:00 resources_used. mem =10228 kb resources_ used. vmem =61564 kb resources_ used. walltime =00: 06: 38 04/ 06/ 2010 22: 17: 26 S dequeuing from batch, state COMPLETE Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 21/25
Co tam słychać u mojej robótki? Przykład: sekwencyjny zapis do jednego pliku program seq21file implicit none include " mpif.h" integer, parameter :: ROZMIAR_BUF = 100 integer, parameter :: NR_KANALU = 92 character *8, parameter :: NAZWA_ PLIKU = plik. txt integer blad, id, n_ wezlow integer plik integer i, p, bufor ( ROZMIAR_ BUF ), status ( MPI_ STATUS_ SIZE ) call MPI_ INIT ( blad ) call MPI_ COMM_ RANK ( MPI_ COMM_ WORLD, id, blad ) call MPI_ COMM_ SIZE ( MPI_ COMM_ WORLD, n_wezlow, blad ) if ( id. eq.0) then open ( unit = plik, file = NAZWA_PLIKU, status = new ) end if do i =0, ROZMIAR_BUF -1, 1 bufor ( i) = id * ROZMIAR_ BUF + i end do Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 22/25
Co tam słychać u mojej robótki? c.d. if ( id. ne.0) then call MPI_ SEND ( bufor, ROZMIAR_BUF, MPI_INTEGER, 0, NR_KANALU, MPI_ COMM_ WORLD, blad ) else write ( plik, *) bufor ; do p =1, n_wezlow -1, 1 call MPI_ RECV ( bufor, ROZMIAR_BUF, MPI_INTEGER, p, NR_KANALU, MPI_ COMM_ WORLD, status, blad ); write ( plik, *) bufor ; end do end if if ( id. eq.0) then close ( plik ) end if call MPI_ FINALIZE ( blad ); END Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 23/25
Uruchomienie Co tam słychać u mojej robótki? Kompilacja: mpif90 seq21file.f90 -o seq21file Zadanie go.sh #!/ bin / sh # PBS -l walltime =00:05:00 # PBS -l nodes =4: ppn =4 # PBS -N TEST_F90 pwd cd / home / przemek / src / f90 / seq21file pwd./ seq21file pwd exit 0 Uruchomienie zadania: qsub go.sh Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 24/25
Koniec programu Dziękuję za uwagę! Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 25/25