Oprogramowanie module jako oprogramowanie wspierające zarządzaniem środowiska aplikacji w klastrze Blueocean.
1. Informacje podstawowe:
Oprogramowanie module służy do zarządzania środowiskiem "zmiennymi środowiskowymi" oprogramowania użytkowego. Jest swego rodzaju oprogramowaniem wspierającym infrastrukturalnym ułatwiającym prace użytkownikom klastra.
Jako przykład zmiennych środowiskowych oprogramowania użytkowego możemy wskazać np: ścieżkę do oprogramowania, , ścieżkę katalogu tymczasowego SCRATCH, dane połączenia z serwerem licencji itd. Każde oprogramowanie ma swoje specyficzne zmienne, które możemy definiować centralnie wykorzystując oprogramowanie module.
2. Zastosowanie:
a) Aby wyświetlić dostępne w klastrze Blueocean moduły już zdefiniowane należy wydać polecenie:
module -l avail
module -l avail - Package -----------------------------+- Versions -+- Last mod. ------ /opt/Modules/versions: 3.2.10 2016/02/10 7:34:08 /opt/Modules/3.2.10/modulefiles: R_3.4.1 2017/08/17 10:57:33 cuda_7.5 2016/03/23 13:19:32 gamess_2016.R1 2017/03/06 11:11:10 gaussian9_A_02 2016/03/07 13:20:39 gaussian9_D_01 2016/03/07 13:21:32 gcc_5.4.0 2017/03/01 10:54:29 java_1.7 2017/09/15 10:01:51 java_1.8 2016/07/14 11:13:22 matlab_R2014a 2016/03/01 14:16:25 matlab_R2016a 2017/05/05 11:18:56 psi4_1.1 2018/01/16 9:36:16 python_2.7.9 2016/05/12 11:26:55 spark_1.6.1 2016/05/18 7:26:39 use.own 2016/02/10 7:34:08 |
b) Aby właczyć moduł i tym samym zmienne środowiskowe dla danego oprogramowania użytkowego należy wydać polecenie:
module load nazwa_oprogramowania
np.:
module load psi4_1.1
c) Aby wyłączyć moduł, usunąć zmienne środowiskowe danego oprogramowania należy wydać polecenie:
module unload nazwa_oprogramowania
np.:
module unload psi4_1.1
d) Aby odczytać listę aktualnie włączonych modułów należy wydać polecenie:
module list
e) Aby odczytać informacje o module, jego opis należy wydać polecenie:
module help nazwa oprogramowania
np.:
module help psi4_1.1
f) Aby odczytać szczegółowe informacje o zmianach jakie wprowadza moduł należy wydać polecenie:
module show nazwa_oprogramowania
np.:
module show psi4_1.1
3. Przykład wykorzystania w trybie interaktywnym dla oprogramowania matlab:
user@blueocean-v15:~$ qrsh -q interactive groups: cannot find name for group ID 20093 user@blueocean124:~$ module load matlab_R2016a user@blueocean124:~$ module list Currently Loaded Modulefiles: 1) matlab_R2016a user@blueocean124:~$ matlab MATLAB is selecting SOFTWARE OPENGL rendering. < M A T L A B (R) > Copyright 1984-2016 The MathWorks, Inc. R2016a (9.0.0.341360) 64-bit (glnxa64) February 11, 2016 To get started, type one of these: helpwin, helpdesk, or demo. For product information, visit www.mathworks.com. Academic License >> version ans = 9.0.0.341360 (R2016a) >> |
4. Przykład wykorzystania w trybie wsadowym:
Plik uruchamiania zadania wsadowego o nazwie matlab_run
#!/bin/bash cTIME=`date +"%Y%m%d%H%M%S"` f=matlab.$cTIME echo "#!/bin/bash" > $f echo "#$ -cwd" >> $f echo "#$ -M user@p.lodz.pl" >> $f echo "#$ -m e" >> $f echo "#$ -q short" >> $f # Wywolanie polecenia matlaba echo "module load matlab_R2016a" >> $f echo "matlab -nodisplay -nosplash -nodesktop < $PWD/$1 > ./$f.out" >> $f qsub -S /bin/bash $f |
Uruchomienie zadania wsadowego:
matlab_run plik_wejściowy_matlab-a.m
5. Budowanie własnych modułów:
Oprogramowanie module pozwala budować własne moduły dla specyficznych potrzeb oprogramowania użytkowego. Takie wykorzystanie wymaga od użytkownika utworzenia pliku modułu ze zdefiniowaniem poszczególnych zmiennych środowiskowych. Aby pliki modułów zdefiniowane przez użytkowników mogły być czytane i używane w klastrze muszą znajdować się w katalogu użytkownika w ścieżce:
katalog_użytkownika/privatemodules/nazwa_wlasnego_modulu
Aby włączyć własny moduł należy wydać polecenia:
module load use.own
module load nazwa_wlasnego_modulu