Module - zarządzanie środowiskiem aplikacji

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