| SOMARO | Sorella - Maritan openMosix cluster |
| MULO | Multi - User Linux openMosix cluster |
| HARDWARE | SOFTWARE | ||||||||||||||||||||||||||||
|
|
Before any login sessions can be initiated using ssh, a working SSH client (version 2) needs to be present in the local machine.
To initiate a ssh connection to a machine, type the following on the local workstation
Note that the <login-name> is only needed if the user name on remote machine differs from the user name on the workstation.
ssh [<login-name>@]somaro.sissa.it; ssh [<login-name>@]mulo.sissa.it;
To change the password:
yppasswd
Note that you are going to change your password on the main SISSA cluster (and this will affect your main SISSA account).
Check your environment with the env command. You should be careful modifying the shell customization files (.cshrc .profile .login .bashrc), since they could overwrite the default values altering the behaviour of the compilers.
Plase note that interactive login is only allowed on the master nodes. Computing nodes are accessed only through the master nodes and balanced by openMosix.
| Vendor/Source | Compilers | Documentation |
|---|---|---|
| Intel | Fortran 77/90/95, C, C++ |
/usr/local/intel/compiler70/docs/[*] icc -help ifc -help icpc -help |
| GNU | Fortran 77, C, C++ | http://gcc.gnu.org/onlinedocs/ |
The following table show the name and version of the compilers:
| Vendor/Source | C compiler | C++ compiler | F77 compiler | F90/95 compiler |
| GNU v3.3.2 | gcc / gcc-3.3 | g++ / g++-3.3 | g77 / g77-3.3 | N/A |
| GNU v2.95.4 | gcc-2.95 | g++-2.95 | g77-2.95 | N/A |
| GNU v3.0.4 | gcc-3.0 | g++-3.0 | N/A | N/A |
| GNU v3.2.3 | gcc-3.2 | g++-3.2 | N/A | N/A |
| Intel v7.1 | icc | icc | ifc | ifc |
lib<COMPILER><LIBNAME>An example for the fftw library is: libifcfftw, libgnufftw, respectively for ifc, g77 compilers. (You can download a silly Makefile.sample)
Note that ORDER *IS* IMPORTANT when linking against more libraries.
High performance routines for real and complex Discrete Fourier Transforms.
To use them:
g77 foo.f -L/usr/local/lib -lgnufftw ifc foo.f -L/usr/local/lib -lifcfftw
To use them:
However users are strongly encouraged to use ATLAS version of this library (see below).
Standard BLAS g77 foo.f -L/usr/local/lib -lgnublas_std (GNU Fortran compiler) ifc foo.f -L/usr/local/lib -lifcblas_std (Intel Fortran compiler)
Linear Algebra PACKage.
Original LAPACK compiled with ifc and g77:
libgnulapack_std.a
libgnutmglib_std.a
libifclapack_std.a
libifctmglib_std.a
NOTE: when using LAPACK libraries you have to link the blas libraries too (AFTER lapack, order is important).
Standard LAPACK g77 foo.f -L/usr/local/lib -lgnulapack_std -lgnublas_std (GNU Fortran compiler) ifc foo.f -L/usr/local/lib -lifclapack_std -lifcblas_std (Intel Fortran compiler)
The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in order to provide portable performance. At present, it provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK.
ATLAS does not provide a full LAPACK library. However, we include in a full LAPACK library the ATLAS faster LAPACK routines.
To use them:
ATLAS+LAPACK g77 foo.f -L/usr/local/lib -lgnulapack -lgnublas -lgnuatlas (GNU Fortran compiler) ifc foo.f -L/usr/local/lib -lifclapack -lifcblas -lifcatlas (Intel Fortran compiler)
ATLAS+BLAS g77 foo.f -L/usr/local/lib -lgnublas -lgnuatlas (GNU Fortran compiler) ifc foo.f -L/usr/local/lib -lifcblas -lifcatlas (Intel Fortran compiler)
The "Math Kernel Library" consists of functions in the following computational areas:
For running MKL and/or VML, the library directory, name and the include directory needs to be included in your makefile or command line. Below is an example of how to compile and link a program which calls a BLAS function in the MKL.
For additional documentation and reference on MKL, both pdf and html-based, please look in the directory /usr/local/intel/mkl/doc.
To use them:
ifc foo.f -L/usr/local/intel/mkl/lib/32 -lguide -lmkl_lapack -lmkl (Intel Fortran compiler ONLY)
To use LAPACK and BLAS software you must link two libraries: LAPACK and one of the processor specific kernels.
Some possible variants:
ld myprog.o /usr/local/intel/mkl/lib/32/libmkl_lapack.a /usr/local/intel/mkl/lib/32/libmkl_p3.a
32-bit processor static linking, LAPACK library, Pentium III processor kernel.ld myprog.o /usr/local/intel/mkl/lib/32/libmkl_lapack.a /usr/local/intel/mkl/lib/32/libmkl_p4.a
32-bit processor static linking, LAPACK library, Pentium 4 processor kernel.ld myprog.o /usr/local/intel/mkl/lib/32/libmkl.so -lguide -lpthread
32-bit processor dynamic linking. DLL dispatcher will load the appropriate dll for the processor dynamic kernel.
The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers.
To use them:
gcc foo.c -L/usr/local/lib -lgsl -lblas (gcc only)
|
![]() |
| openMosix cmdline tools | |
| mosmon | MOSIX load monitor |
| mps | report multicomputer process status |
| mtop | display multicomputer top CPU processes |
| mosrun -<NODE> <PROGRAM_NAME> | run a command with particular node-allocation preferences |
| migrate <PID> <NODE> | request migration of a particular process on openMosix |
| cmdline tools (baro) | |
| ompsinfo | get some openMosix related info about processes (based on minimal ps) |
| oM_info.sh|oM_parser.sh <PROCESS_NAME> | get some openMosix related info about a process |
| oM_check.sh <PROCESS_NAME> | same as above in a 'while true' loop |
| oM_cat.sh <PID> <oM_FILE> | show content of specified openMosix proc file for a process (given pid) |
| oM_nmigs.sh <PROCESS_NAME> | check number of migrations for a process |
| oM_cantmove.sh <PROCESS_NAME> | check if process can be migrated or why not |
| oM_where.sh <PROCESS_NAME> | check on which node the job is running |
| GUI oriented tools | |
| openmosixview | graphical cluster management tool |
| openmosixmigmon | graphical migration monitor tool |
#!/bin/bash
# Usage: sample.sh EXP_NAME N_JOBS
# N_NODES <= 10 (2 x N_NODES)
FORCE_MIG=0
nodo=0
for i in `seq 1 $2`
do
if [ $2 -gt 5 ]
then
let nodo=($i+1)/2
else
nodo=$i
fi
echo run.$i, nodo $nodo
CMD="./bin/bonnie++ -d /mfs/$nodo/local_scratch/ -s 2000 -r1000 -b $FLAG"
if [ "$FORCE_MIG" = "1" ]
then
mosrun -$nodo $CMD >out/$EXP_NAME.$i 2>&1 &
else
$CMD >out/$EXP_NAME.$i 2>&1 &
fi
done
echo -n "Waiting children..."
wait
echo
#EOF
(full version)
If you are interested in further notice about openMosix news and development, you are kindly welcome to join the italian openMosix mailing list.
M. Baricevic, October 2003