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

Podobne dokumenty