Manual de Usuario

Anuncio
Manual de Usuario
Supercomputador LUSITANIA
Manual de Usuario del Supercomputador LUSITANIA
Índice de contenido
1 Introducción ......................................................................................................... 3
2 Acceso a LUSITANIA ............................................................................................. 4
2.1
2.2
2.3
2.4
Acceso desde clientes GNU/Linux......................................................................................................4
Acceso desde clientes Windows.........................................................................................................6
Copia de ficheros desde GNU/Linux...................................................................................................8
Copia de ficheros desde Windows......................................................................................................9
3 Ejecución de trabajos en LUSITANIA ...................................................................13
3.1
3.2
3.3
3.4
3.5
3.6
El gestor de trabajos LSF..................................................................................................................13
Las colas de trabajos........................................................................................................................13
Lanzar un trabajo.............................................................................................................................14
Estado de un trabajo........................................................................................................................16
Operaciones sobre trabajos.............................................................................................................16
Tabla de estados de un trabajo........................................................................................................17
Pag. 2
Manual de Usuario del Supercomputador LUSITANIA
1
Introducción
El presente documento pretende ser una guía rápida para la correcta
utilización del cluster de supercomputación LUSITANIA. A lo largo del
documento se ofrece la información necesaria para acceder a LUSITANIA así
como la utilización de éste para la ejecución de los trabajos.
Pag. 3
Manual de Usuario del Supercomputador LUSITANIA
2
Acceso a LUSITANIA
En esta sección se describen los pasos a seguir para conectarse
remotamente a los equipos del cluster de supercomputación LUSITANIA con
el fin de lanzar proyectos sobre él.
A continuación se detalla el acceso al cluster de supercomputación
LUSITANIA desde estaciones de trabajo con el sistema operativo GNU/Linux
o Microsoft Windows para conectarse a un terminal de consola y para
transferir archivos desde los equipos cliente al supercomputador.
Antes de comenzar, es necesario disponer de las credenciales (cuenta de
usuario y contraseña) de acceso al cluster de supercomputación, que
deberá suministrar el equipo técnico del Centro de Supercomputación
(CénitS) tras haber cumplimentado debidamente la solicitud de acceso a los
recursos del supercomputador LUSITANIA.
Una vez que se disponga de una cuenta de usuario y contraseña se estará
en disposición de empezar a trabajar con el cluster de supercomputación
LUSITANIA. Para ello, se conectará de forma remota a los servidores de
acceso, que responden al nombre ssh.cenits.es
2.1 Acceso desde clientes GNU/Linux
Por norma general, cualquier distribución GNU/Linux que se utilice vendrá
equipada con un cliente del protocolo SSH que se podrá utilizar para
acceder de forma segura mediante una sesión remota a los recursos de
LUSITANIA.
En caso de que el ordenador del usuario no esté equipado con un cliente
SSH éste deberá instalarlo por medios propios. El cliente de acceso SSH más
utilizado en entornos GNU/Linux se llama OpenSSH y, normalmente, se
encuentra dentro del paquete openssh-client, y puede ser instalado con el
gestor de paquetes incluido en la distribución que se utilice, esto es,
aptitude o synaptic para Debian y derivados (como Ubuntu), rpm para
RedHat o YaST para SUSE Linux.
Una vez que se disponga de un cliente SSH en el sistema GNU/Linux del
usuario se procederá a realizar la conexión a cualquiera de los servidores de
acceso del supercomputador LUSITANIA.
Para ello se procederá a abrir una consola de terminal en el ordenador del
usuario y a teclear en ella el siguiente comando:
$ ssh <usuario>@<servidor de acceso>
o alternativamente:
$ ssh -l <usuario> <servidor de acceso>
Pag. 4
Manual de Usuario del Supercomputador LUSITANIA
donde:
<usuario> será el nombre de la cuenta de usuario proporcionado por el
equipo de CénitS.
<servidor de acceso> será el nombre de servidor que se ha señalado
anteriormente, ssh.cenits.es
La primera vez que se establezca la conexión a un servidor de acceso el
cliente SSH del usuario hará la pregunta que muestra la Fig. 1:
Fig 1: Pregunta de seguridad del cliente SSH
donde se indica que no está seguro de la autenticidad de la conexión y se
pregunta si se desea continuar; se contestará a la pregunta con yes y el
sistema avisará de que se ha añadido esa dirección a la lista de
ordenadores conocidos.
A continuación, tal y como se observa en la Fig. 2, el cliente
se teclee la contraseña mostrando la palabra Password:
proceda a validar la entrada en el sistema. Tras teclear la
pulsar la tecla INTRO, finalmente se establecerá la conexión
acceso del cluster LUSITANIA.
solicitará que
para que se
contraseña y
al sistema de
Fig 2: El cliente SSH solicita la contraseña
Podremos saber que la conexión al cluster del supercomputador LUSITANIA
se ha establecido correctamente si el símbolo del sistema o prompt
Pag. 5
Manual de Usuario del Supercomputador LUSITANIA
(marcado en rojo en la Fig. 3) muestra el nombre de la cuenta de usuario y
el nombre de una de las máquinas de acceso del cluster (login1 o login2).
A partir de este momento, todo el trabajo que se lleve a cabo se ejecutará
en alguno de los nodos del cluster de supercomputación y, en función del
tipo de trabajo, se ejecutará en los distintos sistemas que componen el
supercomputador LUSITANIA.
Fig 3: Simbolo de sistema de LUSITANIA
2.2 Acceso desde clientes Windows
Si el ordenador del usuario tiene instalado un sistema operativo de la familia
Microsoft Windows, no estará provisto por defecto de un cliente SSH, con lo
cual se tendrá que conseguir uno e instalarlo.
Se podrá utilizar cualquier cliente SSH para acceder a los servidores del
cluster LUSITANIA, aunque se recomienda la utilización de PUTTY.
PUTTY es un cliente del protocolo SSH libre y gratuito licenciado bajo la
Licencia MIT. Se puede utilizar Putty para establecer conexiones SSH entre
un ordenador y los servidores de acceso del cluster LUSITANIA y ejecutar
proyectos y trabajos en éste.
Puede descargarse Putty libremente a través de Internet, desde la siguiente
dirección:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Una vez descargado el archivo putty.exe en el ordenador local del usuario
se tendrá que ejecutar (no necesita realizar ningún tipo de instalación) para
iniciar la conexión a los servidores del cluster LUSITANIA. Tras ejecutar
putty.exe se observa la pantalla de solicitud de datos de conexión mostrada
en la Fig. 4:
Pag. 6
Manual de Usuario del Supercomputador LUSITANIA
En esta pantalla se necesitará configurar los siguientes datos y dejar el
resto por defecto:
–
Host Name (or IP address): nombre de servidor o dirección IP
del servidor al que se quiere acceder de forma remota. En este
caso ssh.cenits.es
–
Port: número de puerto TCP al que se quiere acceder. En el caso
del protocolo SSH este puerto es el 22.
–
Connection type: tipo de protocolo de conexión. En este caso
SSH (Secure Shell).
Tras pulsar el botón Open el cliente Putty intentará conectarse al servidor
que se haya introducido, en este caso ssh.cenits.es, y en la primera
conexión, el cliente mostrará una alerta de seguridad:
Fig 5: Alerta de seguridad de Putty
Pag. 7
Manual de Usuario del Supercomputador LUSITANIA
En la Fig. 5 se indica que la clave pública del servidor al que se está
intentando acceder no se reconoce, y pregunta si se desea confiar en el
servidor. Se contestará Si, ya que de cualquier otra manera se cancelaría el
procedimiento de conexión.
Una vez establecida la conexión, el sistema de login del cluster LUSITANIA
presentará la pantalla de login de la consola del sistema, donde se
procederá a introducir las credenciales para obtener acceso al sistema.
Fig 6: Putty solicita la contraseña de acceso a LUSITANIA
Tras la correcta introducción del nombre de la cuenta de usuario y
contraseña, el servidor mostrará el símbolo del sistema, donde se podrán
ejecutar comandos y comenzar a trabajar sobre el conjunto de máquinas
que componen el cluster de supercomputación LUSITANIA.
2.3 Copia de ficheros desde GNU/Linux
Una de las primeras tareas que se planteará a la hora de comenzar a
ejecutar trabajos en el cluster LUSITANIA será el modo en el que se
transferirá el trabajo desde los ordenadores locales del usuario hasta las
máquinas que componen el cluster.
Para ello se tendrán que copiar ficheros desde el ordenador local hacia los
servidores de LUSITANIA y, solamente, se podrán utilizar medios
electrónicos, ya que en ningún caso se dispondrá de acceso físico al
supercomputador LUSITANIA.
Para realizar esta tarea, en GNU/Linux se cuenta con un conjunto de
herramientas que ya estarán instaladas en el sistema si se dispone del
cliente de acceso remoto SSH.
Pag. 8
Manual de Usuario del Supercomputador LUSITANIA
Las herramientas en cuestión son scp y sftp:
–
scp es el cliente de copia segura sobre SSH, que permite realizar
la copia interactiva de ficheros desde el ordenador local hacia los
servidores de LUSITANIA.
–
sftp es el cliente de FTP seguro sobre SSH, que permite
conexiones de forma segura al supercomputador LUSITANIA como
si se estuviese accediendo a un servidor FTP estándar.
La sintaxis de scp es la siguiente:
$ scp <fichero local> <usuario>@<nombre de servidor>:<ruta remota>
Y la de sftp es esta:
$ sftp <usuario>@<nombre de servidor>
Donde:
–
<fichero local>: es el fichero que se quiere subir al cluster
–
<usuario>: es el nombre de la cuenta de usuario para acceder al
cluster
–
<nombre de servidor>: es el nombre del servidor de acceso, en el
caso de LUSITANIA ssh.cenits.es
–
<ruta remota>: es el directorio donde se quiere depositar el fichero.
Con cualquiera de estas dos herramientas se podrán subir al cluster
LUSITANIA los ficheros de programas que posteriormente se ejecutarán en
el supercomputador.
2.4 Copia de ficheros desde Windows
A la hora de transferir los ficheros de trabajo desde el ordenador local con
sistema operativo Windows hacia las máquinas del cluster LUSITANIA, se
presenta el problema de que Windows no dispone de clientes del protocolo
de copia segura SCP, problema que se remediará obteniendo el cliente
WinSCP, aunque hay otros disponibles.
WinSCP es un cliente Windows para los protocolos SCP (copia segura) y
SFTP (FTP seguro) con licencia libre GNU GPL 1, y se utilizará para la
transferencia segura de ficheros entre el ordenador y el cluster LUSITANIA.
Se puede obtener en la siguiente dirección de Internet:
http://winscp.net/eng/download.php
http://www.gnu.org/copyleft/gpl.html
1
Pag. 9
Manual de Usuario del Supercomputador LUSITANIA
Tras realizar la descarga de la última versión disponible del cliente WinSCP
se procederá a instalarlo en el equipo ejecutando el fichero anteriormente
descargado. También se puede descargar WinSCP en español, pero
normalmente será una versión más antigua que la última versión en inglés.
Una vez completada la instalación, se tendrá un acceso directo en el
escritorio y en el menú inicio del equipo mediante el cual se podrá acceder
a la siguiente pantalla de conexión:
Fig 7: Pantalla de datos de conexión de WinSCP
En la pantalla de conexión que se muestra en la Fig. 7, hay que introducir
los siguientes datos para transferir ficheros al cluster LUSITANIA:
–
Host name: es el nombre de dominio de la máquina del cluster a
la que se quiere conectar, ssh.cenits.es
–
Port number: puerto TCP para el protocolo SCP, normalmente 22
–
User name: es el nombre de usuario facilitado por el equipo
técnico del supercomputador LUSITANIA
–
Password: es la contraseña que se obtuvo junto con el nombre
de usuario
–
Protocol: aquí se elegirá entre SCP y SFTP, siendo cualquiera de
los dos transparente al usuario, ya que los comandos se
ejecutarán en segundo plano, la elección por defecto es SFTP.
El cliente WinSCP nos ofrece la posibilidad de almacenar los datos de inicio
de sesión en la configuración del cliente, de forma que no haya que repetir
los mismos datos cada vez que se quiera establecer una conexión a
Pag. 10
Manual de Usuario del Supercomputador LUSITANIA
LUSITANIA. Para ello se hará uso del botón Save, y se podrá guardar la
sesión.
La primera vez que se intente conectar a un servidor, y al igual que hace
Putty, el cliente WinSCP mostrará un mensaje de advertencia:
Fig 8: Comprobación de seguridad de WinSCP
En la Fig. 8, el cliente WinSCP pregunta si se confía en que la conexión a
establecer es contra el servidor al que realmente se quiere conectar. Se
responderá Yes y el cliente procederá a añadir la clave pública del servidor
a la caché de WinSCP y no volverá a preguntarnos; seguidamente, el cliente
continuará con los pasos de conexión y, una vez establecida, presentará
una ventana como la mostrada en la Fig. 9:
Fig 9: Ventana principal de WinSCP con directorios local y remoto
Pag. 11
Manual de Usuario del Supercomputador LUSITANIA
En la Fig. 9 se puede observar que el panel de la izquierda (área 1) se
corresponde con una carpeta local del ordenador del usuario, mientras que
el panel de la derecha (área 2) se corresponde con el directorio personal en
el cluster de supercomputación LUSITANIA.
A partir de esta ventana se podrán transferir, copiar, renombrar o borrar los
archivos de trabajo que se necesiten, depositar código de trabajo en los
discos del cluster de supercomputación y descargar en el equipo los
resultados de los trabajos ejecutados por el supercomputador LUSITANIA.
Pag. 12
Manual de Usuario del Supercomputador LUSITANIA
3
Ejecución de trabajos en LUSITANIA
A lo largo de esta sección se instruirá en el manejo del software Platform
LSF, el gestor de colas instalado en el cluster de supercomputación
LUSITANIA.
3.1 El gestor de trabajos LSF
Platform LSF es el software que gestiona y optimiza dónde se ejecutarán
los proyectos en base a los recursos informáticos de LUSITANIA, permitiendo
un eficiente uso de los mismos mediante técnicas de balanceo de carga. Se
adapta perfectamente a la arquitectura de memoria compartida de los
nodos de cómputo SuperDome y es capaz de sacarles el máximo partido.
También permite conocer en todo momento el estado del cluster y elige de
forma adecuada dónde se ejecutaran los siguientes trabajos.
Mediante la utilización de LSF, y a través de los siguientes apartados, se
descubrirá el método de trabajo del gestor de colas y su organización, de
forma que se aprenderá a lanzar trabajos al cluster LUSITANIA y a obtener
diversa información sobre el estado de los trabajos.
3.2 Las colas de trabajos
El software Platform LSF permite trabajar siguiendo el paradigma de colas,
donde los trabajos que se lanzan al supercomputador LUSITANIA se alojarán,
según su tipo, en una u otra cola y, a su vez, la cola en la que se encuentren
determinará sobre cuál de los equipos del cluster LUSITANIA se realizará
finalmente la ejecución del trabajo.
Esta aproximación permite un máximo aprovechamiento de los recursos de
cómputo disponibles, ya que cada máquina del cluster tendrá capacidad de
ejecución de trabajos de acuerdo a sus características físicas (número de
procesadores, memoria total, espacio de swap y en disco...), así como
permitirá el máximo aprovechamiento de los sistemas en términos de
tiempo, ya que al finalizar una tarea podrá lanzar la siguiente en la máquina
cuyos recursos hayan sido liberados.
Con este propósito, el cluster LUSITANIA dispone de varias colas de trabajos
diseñadas para ofrecer el máximo rendimiento a tipos distintos de trabajos:
–
short: es la cola de compilación, pues está preparada para
recibir trabajos que tardarán poco tiempo y no consumirán
demasiados recursos de CPU.
–
priority: es la cola de pruebas, y es el lugar al que se tendrán
que enviar todos esos trabajos que se lanzan en los primeros usos
del cluster LUSITANIA o cuando se quieran recoger pequeños
resultados parciales de los proyectos.
Pag. 13
Manual de Usuario del Supercomputador LUSITANIA
–
normal: es la cola de trabajo, es decir, por defecto en la que
entran los trabajos para ejecutarlos en el cluster LUSITANIA.
Ddesde esta cola se lanzan normalmente trabajos a los nodos de
cómputo.
–
idle: es la cola de baja actividad, que recibe trabajos poco
urgentes y/o de poca carga de CPU, que se ejecutarán sólo cuando
haya recursos suficientes para atender a las peticiones del resto
de las colas.
Si se profundiza un poco más en el sistema veremos que hay algunas otras
colas de tipos especiales de reserva, para trabajos nocturnos, para los
administradores de las máquinas, etc., pero en principio sólo se debe
prestar atención a las expuestas anteriormente.
3.3 Lanzar un trabajo
A la hora de ejecutar los trabajos en el cluster de supercomputación
LUSITANIA, se debe tener en cuenta que se ha de utilizar el gestor de colas
de LSF, con lo que habrá que enviar los trabajos a la cola de ejecución
utilizando el comando bsub.
Si el proyecto está programado utilizando las librerías MPI, se tendrán que
lanzar los proyectos con el comando mpirun, combinado con el uso
obligatorio de bsub.
A continuación se detallan los parámetros más habituales de bsub y de
mpirun, y después se muestran una serie de ejemplos:
$ bsub -I -n <NCPU> -q <cola de ejecución> -P <nombre proyecto> -J
<nombre trabajo> -o <fichero de salida> -e <fichero de error>
<comandos a ejecutar>
Parámetro
Descripción
-I
Activa el modo interactivo, mostrando la salida
del trabajo a medida que se va ejecutando.
-n <NCPU>
Especifica el número de procesadores a utilizar
para ejecutar el trabajo.
-q <cola de ejecución>
Indica la cola de ejecución a utilizar.
-P <nombre proyecto>
Especifica un nombre para el proyecto.
-J <nombre trabajo>
Especifica un nombre para el trabajo.
-o <fichero de salida>
Especifica un fichero de salida para la salida
estándar del trabajo.
-e <fichero de error>
Especifica un fichero de error para la salida de
error del trabajo.
Pag. 14
Manual de Usuario del Supercomputador LUSITANIA
<comandos a ejecutar>
Listado de comandos y parámetros del trabajo a
ejecutar.
$ mpirun -np <NCPU> <programa en MPI>
Parámetro
Descripción
-np <NCPU>
Especifica el número de procesos de MPI que se
lanzarán en paralelo para ejecutar el trabajo.
Hay que señalar la importancia de especificar correctamente el número de
procesos paralelos que se requieren para la ejecución del proyecto, tanto en
el comando bsub (parámetro -n), como en mpirun (parámetro -np), ya que
si no se especifican correctamente, el gestor de colas LSF no contabilizará el
trabajo de forma correcta, y se pueden dar situaciones de aprovechamiento
incorrecto de los recursos del cluster LUSITANIA.
A continuación se presentan algunos ejemplos de trabajos enviados a las
colas de ejecución de LSF:
$ bsub
bzImage
-I
-n
8
-q
short
-P
linux_kernel
-J
build_kernel
make
El comando anterior envía a la cola short de LSF un trabajo llamado
build_kernel del proyecto linux_kernel para que se ejecute de modo
interactivo en 8 procesadores el comando make bzImage que realiza
una compilación a un archivo comprimido del núcleo de Linux.
$ bsub -n 128 -q normal -o fsalida.%J -e ferror.%J mpirun -np
128 ./matmul_mpi -n 10000
Este comando encola un trabajo MPI en la cola normal y solicita utilizar 128
procesadores, redirigiendo su salida al fichero fsalida.%J y su salida de
error al fichero ferror.%J, donde %J es el número de trabajo que le asigna
el gestor LSF, y ejecutando el programa MPI matmul_mpi con 128 procesos
de ejecución y el valor del parámetro n, propio del programa establecido a
10000.
$ bsub -n 2 -q priority -J test_modelo mpirun -np 2 ./test1
Finalmente, el comando anterior envía a la cola priority un trabajo llamado
test_modelo para que se ejecute en 2 procesos y 2 procesadores, como
Pag. 15
Manual de Usuario del Supercomputador LUSITANIA
test para un modelo más amplio que posteriormente se ejecutaría en la cola
normal.
3.4 Estado de un trabajo
Una vez que se ha lanzado un trabajo, LSF permite conocer su progreso, la
salida que está produciendo o el tiempo que lleva en ejecución, para ello se
pueden utilizar los siguientes comandos:
–
bjobs: permite conocer qué trabajos se están ejecutando, dónde, por
quién y cuánto tiempo llevan en ejecución. Se pueden utilizar los
parámetros -a para mostrar todos los trabajos, -u para especificar
qué usuario (con all para todos los usuarios del sistema) y -w para
mostrar la salida ampliada.
–
bpeek: muestra la salida del último trabajo que se esté ejecutando, o
si se especifica un ID de trabajo, la salida del trabajo correspondiente
a ese ID. Puede especificarse el parámetro -f para que se muestre la
salida continua.
–
bhist: con este comando se pueden listar los trabajos en ejecución, o
con el parámetro -a todos los que se hayan ejecutado con el nombre
de usuario en el cluster.
3.5 Operaciones sobre trabajos
Tras lanzar un trabajo a la cola, todavía se pueden realizar una serie de
operaciones sobre él, tales como anular su ejecución, suspender y
reanudarlo o cambiar el orden de ejecución que ocupa en la cola con los
siguiente comandos:
–
bkill: permite eliminar un proceso que se esté ejecutando o
esperando en la cola de procesos; sólo se tiene que pasar como
parámetro el ID del proceso cuya ejecución se quiera abortar.
–
bstop: se utilizará cuando se quiera suspender la ejecución de un
trabajo temporalmente sin finalizarlo, y recibe como parámetro el
identificador del trabajo a detener.
–
bresume: complementa al comando anterior y permite reanudar un
trabajo que haya sido suspendido con bstop con tan sólo
proporcionar el ID del trabajo a reanudar como parámetro.
–
btop: posiciona en primer lugar de la cola de ejecución de un usuario
el trabajo cuyo ID se ha pasado como parámetro.
–
bbot: establece el trabajo cuyo ID le pasamos por parámetro como el
último en la cola de ejecución del usuario.
–
Pag. 16
Manual de Usuario del Supercomputador LUSITANIA
3.6 Tabla de estados de un trabajo
Los estados en los que se puede encontrar un trabajo que se han lanzado a
la cola LSF con el comando bsub pueden observarse si se consulta el
estado de un trabajo con bjobs -a, y pueden ser los siguientes:
Estado
Descripción
PEND
Pendiente de ejecución, planificado en una cola y preparado
para ser ejecutado.
RUN
Enviado a un host y ejecutándose.
DONE
Finalizado correctamente, con un valor de salida 0.
EXIT
Finalizado incorrectamente, el proceso ha devuelto un valor
de salida distinto de 0.
PSUSP
Proceso suspendido por su propietario o un administrador de
LSF mientras se encontraba en estado PEND.
USUSP
Proceso suspendido por su propietario o un administrador de
LSF mientras se estaba ejecutando (RUN).
SSUSP
Proceso suspendido por el sistema LSF (el comando bjobs
muestra la razón por la que el sistema ha suspendido la
ejecución del proceso).
Nota: si quiere enviarnos cualquier sugerencia puede hacerlo a través de la
dirección de correo electrónico [email protected]
Pag. 17
Descargar