15 kwietnia 2010 r. - Klaster obliczeniowy ISSI
Transkrypt
15 kwietnia 2010 r. - Klaster obliczeniowy ISSI
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: [email protected] 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 3 4 5 Linear Algebra PACKage (LAPACK) – wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; Dyskretne transformaty Fouriera (DFT) – zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; Vector Math Library (VML) – wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 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 3 4 5 Linear Algebra PACKage (LAPACK) – wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; Dyskretne transformaty Fouriera (DFT) – zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; Vector Math Library (VML) – wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 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 3 4 5 Linear Algebra PACKage (LAPACK) – wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; Dyskretne transformaty Fouriera (DFT) – zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; Vector Math Library (VML) – wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 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 3 4 5 Linear Algebra PACKage (LAPACK) – wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; Dyskretne transformaty Fouriera (DFT) – zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; Vector Math Library (VML) – wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 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 3 4 5 Linear Algebra PACKage (LAPACK) – wysoce wydajne procedury rozwiązywania układów równań liniowych, odwracania macierzy, faktoryzacji, wyznaczania wyznaczników; Dyskretne transformaty Fouriera (DFT) – zawierają wielowymiarowe funkcje dla zakresu od 1 do 7 wymiarów; Vector Math Library (VML) – wyznaczanie funkcji przejściowych wektorów, potęgowanie, funkcje trygonometryczne, wykładnicze, hyperboliczne, logarytmiczne, itp. dla wektorów liczb rzeczywistych; 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 Zmiany Po co zmieniać jak działa? Motywacja zmian: 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 Zmiany Po co zmieniać jak działa? Motywacja zmian: 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 Zmiany Po co zmieniać jak działa? Motywacja zmian: 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 Zmiany Po co zmieniać jak działa? Motywacja zmian: 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 Zmiany Po co zmieniać jak działa? Motywacja zmian: 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 Zmiany Po co zmieniać jak działa? Motywacja zmian: 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany A jak mu coś zadać? Przykładowe zadanie – zawartość pliku: zadanie.sh #!/ bin / sh # PBS - l w a l l t i m e = 1 : 0 0 : 0 0 # PBS - l nodes =4: ppn =4: m i n 2 G B # PBS - N O b l i c z e n i a _ 4 x 4 cd / home / u z y t k o w n i k / k a t a l o g _ z _ z a d a n i e m ./ p r o g r a m _ o b l i c z e n _ 4 x 4 ./ i n n y _ p r o g r a m 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 Zmiany A jak mu coś zadać? Zlecanie wykonania zadania Do zlecania zadań służy polecenie qsub, np.: qsub z a d a n i e . sh Specyfikacja zasobów może też być przekazana jako parametry polecenia qsub: qsub - l w a l l t i m e = 1 : 0 0 : 0 0 - l n o d e s =4: ppn =4 z a d a n i e . 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 Zmiany Gdzie zadanie czeka na wykonanie? Kolejki zadań 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 n a z w a _ k o l e j k i 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 Zmiany Gdzie zadanie czeka na wykonanie? Podstawowy opis zasobów -l -l -l -l nodes=n min8GB mem8GB nodes=n:ppm=m:min8GB -l walltime=t -q nazwa_kolejki -N nazwa_zadania -M adres_e-mail Przemysław Jacewicz wymagane n węzłów wymagane minimum 8GB pamięci wymagane dokładnie 8GB pamięci wymagane n węzłów, po m procesorów i minimum 8GB pamięci każdy wymagane t sekund na obliczenia (lub czas w formacie GG:MM:SS) zadanie ma być przesłane do kolejki nazwa_kolejki zadanie ma być oznaczone etykietą nazwa_zadania wyślij e-mail na adres_e-mail po zakończeniu zadania Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 15/25 Zmiany Jak przetestować system uruchamiania zadań? Tryb interaktywny 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 b a c k f i l l w i n d o w ( user : ’ X X X X X X X X X X ’ g r o u p : ’ X X X XXXXXXX ’ p a r t i t i o n : ALL ) Wed Apr 6 22:30:02 128 p r ocs a v a i l a b l e with no t i m e l i m i t ) Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 16/25 Zmiany Jak przetestować system uruchamiania zadań? Przykład interaktywnego uruchomienia zadania c l u s t e r $ qsub - I - l w a l l t i m e = 5 : 0 0 - l n o d e s =1: ppn =2 qsub : w a i t i n g for job 54. m0 . c l u s t e r . issi to s t a rt qsub : job 54. m0 . c l u s t e r . issi r e a d y m12$ cd cd src / f90 / s e q 2 1 f i l e / m12$ ./ s e q 2 1 f i l e Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 17/25 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Zmiany 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 Przemysław Jacewicz 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 Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 20/25 Zmiany Co tam słychać u mojej „robótki”? Przykład śledzenia zadania nr 54 c l u s t e r $ t r a c e j o b 54 Job : 54. m0 . c l u s t e r . issi 04/06/2010 22:10:47 S e n q u e u i n g into batch , s t a t e 1 hop 1 04/06/2010 22:10:47 S Job Q u e u e d at r e q u e s t of p r z e m e k @ m 0 . c l u s t e r . issi , o w n e r = p r z e m e k @ m 0 . c l u s t e r . issi , job name = STDIN , q u e u e = b a t c h 04/06/2010 22:10:48 S Job Run at r e q u e s t of r o o t @ m 0 . c l u s t e r . issi 04/06/2010 22:10:48 S Not s e n d i n g e m a i l : User does not want mail of this type . 04/06/2010 22:17:26 S Not s e n d i n g e m a i l : User does not want mail of this type . 04/06/2010 22:17:26 S E x i t _ s t a t u s =265 r e s o u r c e s _ u s e d . cput = 0 0 : 0 0 : 0 0 r e s o u r c e s _ u s e d . mem = 1 0 2 2 8 kb r e s o u r c e s _ u s e d . vmem = 6 1 5 6 4 kb resources_used . walltime =00:06:38 04/06/2010 22:17:26 S d e q u e u i n g from batch , s t a t e COMPLETE Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 21/25 Zmiany Co tam słychać u mojej „robótki”? Przykład: sekwencyjny zapis do jednego pliku program seq21file i m p l i c i t none i n c l u d e " mpif . h " integer , p a r a m e t e r :: R O Z M I A R _ B U F = 100 integer , p a r a m e t e r :: N R _ K A N A L U = 92 c h a r a c t e r *8 , p a r a m e t e r :: N A Z W A _ P L I K U = ’ plik . txt ’ i n t e g e r blad , id , n _ w e z l o w i n t e g e r plik integer i , p , bufor ( ROZMIAR_BUF ) , status ( MPI_STATUS_SIZE ) call M P I _ I N I T ( blad ) call M P I _ C O M M _ R A N K ( M P I _ C O M M _ W O R L D , id , blad ) call M P I _ C O M M _ S I Z E ( M P I _ C O M M _ W O R L D , n_wezlow , blad ) if ( id . eq .0) then open ( unit = plik , file = N A Z W A _ P L I K U , s t a t u s = ’ new ’ ) end if do i =0 , R O Z M I A R _ B U F -1 , 1 b u f o r ( i ) = id * R O Z M I A R _ B U F + i end do Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 22/25 Zmiany Co tam słychać u mojej „robótki”? c.d. if ( id . ne .0) then call M P I _ S E N D ( bufor , R O Z M I A R _ B U F , M P I _ I N T E G E R , 0 , NR_KANALU , M P I _ C O M M _ W O R L D , blad ) else w r i t e ( plik , *) b u f o r ; do p =1 , n_wezlow -1 , 1 call M P I _ R E C V ( bufor , R O Z M I A R _ B U F , M P I _ I N T E G E R , p , NR_KANALU , M P I _ C O M M _ W O R L D , status , blad ) ; w r i t e ( plik , *) b u f o r ; end do end if if ( id . eq .0) then c l o s e ( plik ) end if call M P I _ F I N A L I Z E ( blad ) ; END Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 23/25 Zmiany Co tam słychać u mojej „robótki”? Uruchomienie Kompilacja: mpif90 seq21file.f90 -o seq21file Zadanie go.sh #!/ bin / sh # PBS -l w a l l t i m e = 0 0 : 0 5 : 0 0 # PBS -l n o d e s =4: ppn =4 # PBS -N T E S T _ F 9 0 pwd cd / home / p r z e m e k / src / f90 / s e q 2 1 f i l e pwd ./ s e q 2 1 f i l e pwd exit 0 Uruchomienie zadania: qsub go.sh Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 24/25 Zmiany Koniec programu Dziękuję za uwagę! Przemysław Jacewicz Klaster ISSI - raport na dzień 15 kwietnia 2010 r. 25/25