Notas para usar ekbek ------------------------ 1) La interfaz para monitorear los procesos, es un fortal web que se carga desde el servidor (ekbek) como pagina local (localhost): ssh -X usuario@ekbek usuario@ekbek's password: Rocks Frontend Node - LaSumA Cluster Rocks 3.3.0 (Makalu) Profile built 12:25 09-Mar-2005 Kickstarted 12:25 09-Mar-2005 [usuario@ekbek usuario]$mozilla --no-remote & Nota: estas es la forma ma's practica pero la opcio'n -X es algo insegura, es ideal poder configurar la variable de ambiente DISPLAY dando el host de la maquina local y el puerto para visualizar, sin embargo hacer eso aveces es complicado si se esta en una red local o con una ip dina'mica. Ma's informacio'n: http://www.scd.ucar.edu/docs/ssh/guide/node29.html. 2)Los nodos (esclavos) esta'n numerados de la siguiente forma: compute-0-0 hasta compute-0-30, el acceso es vi'a ssh, estando en ekbek se accede al nodo # (siempre que este' activo) usando: ssh compute-0-# 3)Es posible ejecutar programas de forma serial. En cada nodo se hace una imagen de /export/home/usuario/ que es el directorio (real) de nuestro home por lo que los archivos que tenemos en el servidor se pueden usar directamente desde cada nodo. Basta con ejecutar el programa como en la maquina local. 4)Usando el comando top podemos monitorear los procesos que corren en la maquina. Si queremos correr un programa serial pero con diferentes para'metros pueden usarse los siguientes comandos: ./cactus_miespina parametro1.par & ./cactus_miespina parametro2.par & ./cactus_miespina parametro3.par & ./cactus_miespina parametro4.par & como se muestra en top el sistema trabaja con 4 procesadores por maquina numerados: cpu00, cpu01, cpu02, cpu03; se asignara un procesador para cada proceso, si se ejecutan ma's procesos (8 por ejemplo) en cada maquina se compartira' el procesador. 5)Usando el comando nice -n con n un nu'mero entre 0 y 30 podemos modular la prioridad de nuestro proceso, 0 es la prioridad normal y 30 la prioridad ma's baja, por ejemplo: nice -15 ./cactus_miespina parametro1.par & asigna menos tiempo de procesador al comando ejecutado. 6) Para trabajar en paralelo hay dos implementaciones de mpi: lam y mpich, a mi parecer la mas adecuada es lam, para configurar lam+cactus, se requiere modificar el archivo /home/usuario/.bashrc agregando las lineas: exportPATH=$PATH:'/opt/lam/gnu/bin:/opt/HDF5/bin:/usr/pgi/linux86-64/6.0/bin:/us export LD_LIBRARY_PATH='/opt/gm/lib' export PGI='/usr/pgi' alias mpirun='mpirun -x LD_LIBRARY_PATH' Nota: Se incluyen algunas lineas para configurar HDF5 y el compilador de protland. 7)Para definir las maquinas que usaremos se crea un archivo lamhosts: ekbek compute-0-0 compute-0-1 compute-0-2 Nota: Se debe incluir la maquina servidor (ekbek). 8)El ambiente lam se inicia con el comando: lamboot lamhosts en donde se ha definido ya lamhosts, se pedira' entonces la clave ssh para cada maquina (dos veces, una para cada procesador), si manda errores de acceso para alguna maquina se usa el siguiente comando: ssh -x compute-0-16 -n 'echo $SHELL' entonces se intenta nuevamente cargar las maquinas. 9)Para monitorear los procesos que corren en paralelo se usa el comando: mpitask 10)Cuando termina el proceso que corremos se usan los comandos: lamclean lamhalt Nota: Es muy importante limpiar los procesadores al terminar de ejecutar nuestro programa. 11)Para compilar cactus con lam y hdf5 se incluye el archivo en /home/usuario/.cactus/config con al menos los siguientes parametros: F90 = pgf90 HDF5 = yes HDF5_DIR = /opt/HDF5 MPI = LAM LAM_DIR = /opt/lam/gnu Nota: Antes de compilar cactus en paralelo hay que seguir los pasos 7) y 8). Por el momento nos e me ocurre ma's pero si tienen dudas o no funciona algo avisenme. Saludos. Pablo Galaviz. pablo_galavizv@yahoo.com.mx BORDER