HPC UNIANDES Tutorial: Básico I I. CLUSTER HPC

Documentos relacionados
2º curso / 2º cuatr. Arquitectura de Computadores. Grado en Ing. Informática. Seminario 0. Entorno de programación: atcgrid y gestor TORQUE

CAR. Responsable : María del Carmen Heras Sánchez. Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar.

Universidad de Murcia. Facultad de Informática. Guía rápida del cluster HETEREOSOLAR. Grupo de Computación Cientfíca y Computación Paralela

UNIX. Curso de Modelado Molecular I INTRODUCCIÓN

GUÍA BÁSICA DE USO DEL CLUSTER HPC LOVELACE

Existe en cualquier sistema operativo parecido a UNIX y forma parte de la instalación predeterminada de Linux.

Práctica de laboratorio: Trabajo con la línea de comandos de Linux

MANUAL DE USUARIO INSTALADOR SIGIR

PREGUNTAS Y RESPUESTAS RELATIVAS AL USO DE COMANDOS BÁSICOS EN LINUX

LECCION-2. Por omitir las cosas triviales se comenten grandes errores. Cursos de Entrenamiento de Servidores Linux y Telefonía IP con Asterisk/Elastix

Clúster ctcomp2. Diego Rodríguez Martínez

TRABAJANDO CON ARCHIVOS Y DIRECTORIOS. Sistemas Operativos 3 Wandirys Lappost Díaz

Tema 2: Sistemas Operativos. Linux

Tema: Introducción a los comandos Linux

PROTOCOLO FTP PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS ING. RAUL BAREÑO GUTIERREZ RAUL BAREÑO GUTIERREZ 1

Tema: Configurando FTP sobre SSL

Tema: Uso de Bash en Linux.

INSTRUCTIVO DE ACTUALIZACIÓN DEL SISTEMA BIOMÉTRICO

Introducción al Sistema Operativo Unix

Juego Jarras con Agua Guía del Usuario

El entorno de programación UNIX. CI-2400 Programación Avanzada en Sistemas de Tipo UNIX Prof. Braulio José Solano Rojas ECCI, UCR

Introducción: Requisitos: Instalación De Apache 2: Instalación De Apache 2 y PHP 5 Para Ubuntu. Diego Mauricio Herrera - Grupo GRID Uniquindio

Puntos estimados: 1.0 Iteración asignada: 1. Programador responsable: Camilo Urrego Carlos Suárez Descripción:

Práctica de laboratorio: Instalación de Linux en una máquina virtual y exploración de la GUI

Sophos Enterprise Console

Sesión 1. El intérprete de comandos Félix Villanueva Escuela Superior de Informática Universidad de Castilla-La Mancha.

Conexión segura al Laboratorio

Prácticas Hadoop: Instalación!

Introducción a Linux. El regreso a los años 70: la consola (I)

Examen Red Hat Certified System Administrator (RHCSA)

Módulo Call Center. Guía de instalación v 1.2

Guía de Instalación de SIIL. SIIL Edición Red

CAR. Responsable : María del Carmen Heras Sánchez. Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar.

BASH Scripting. Contenidos. BASH: Bourne-Again SHell. Hola mundo!

Implantación de Webmin

Guía de Instalación de SIIL. SIIL Edición Personal

En el siguiente documento usted encontrará información sobre como instalar y ejecutar el programa para la Empresa CEBAR LMTDA.

Servicios SFTP/SCP. Tema 5 SRI. Vicente Sánchez Patón. I.E.S Gregorio Prieto

Tema: Configurando FTP sobre SSL

MANUAL DE INSTALACIÓN DEL DIMM FORMULARIOS PARA INSTALACIÓN POR PRIMERA VEZ Macintosh

TECNOLOGÍA DE REDES. Temario (Segunda Parte) 18/04/2008. Unidad 3. Introducción a los Routers (Segunda Parte)

( Tercera Parte ) 16 de Octubre de Versión 1.0

Guía de Inicio Rápido Windows Respaldo en Línea

Tema: Uso de Bash en Linux Parte II.

Dashboard Para MOST 5/18/2012 DASHBOARD MOST DASHBOARD

ESPECIFICACIÓN DE LOS REQUERIMIENTOS FUNCIONALES

Nodo Nacional de Bioinformática

Comandos para manipulación de archivos y directorios Parte II

Instructivo N 01 Instalar UBUNTU SERVER X en VM

Guía básica para el uso de Leftraru

Empezando... Taller 1. 1C de Marzo de DC. FCEyN. UBA. Taller 1. 1C 2017 (UBA) 20 de Marzo de / 20

Línea de comandos o consola o shell

Cursos de Introducción a Linux

Instalando y configurando SUMA Módulo de Bodega

INSTALANDO EL CLIENTE DE SIABUC9 ACTIVIDADES PREVIAS

Console Ninja: Como dejar de ser un usuario desconsolado. Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre del 2009

Spectrum Miner. Versión 8.0. Guía de administración de integración de Portrait Dialogue

ADMINISTRACIÓN DE SISTEMAS OPERATIVOS. UT07: SHELLSCRIPTS

copy data Guía rápida del usuario Versión 1.2

Proyecto de Inversiones PMS

TECNOLÓGICO NACIONAL DE MÉXICO INSTITUTO TECNOLÓGICO DE TIJUANA SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN

Instructivo de instalación DMS9

stitch era universal hotfix era universal

Guía para el Contribuyente. MANUAL DE INSTALACIÓN DEL DIMM FORMULARIOS PARA INSTALACIÓN POR PRIMERA VEZ Macintosh Versión 1.

Nociones de informática. Qué es una computadora? GNU/Linux. Lo mínimo que hay que saber para empezar a trabajar con una computadora del aula

Instalación y puesta en marcha

Preguntas Frecuentes sobre el Uso Seguro de Remote Support Platform (RSP) para SAP Business One

1. Cómo asignar una IP a mi ordenador? 2. Cómo hago para ver los archivos del directorio anterior? 3. Cómo sé en qué directorio estoy? 4.

SISTEMA OPEATIVO DEFINICIÓN

Línea de órdenes o shell *

Creación de Shell Scripts

Acceso y portal de usuarios. VPN. Mayo 2017

Curso de verano. Biología Computacional: Análisis masivo de datos ómicos

Linux: Tour Rápido. Tema 2 Laboratorio de sistemas operativos UTFSM-JMC

Generación de Certificados SSL con IIS

Introducción: En este manual aprenderás como enviar y recibir mensajes cifrados de correo-e utilizando thunderbird y su complemento, enigmail.

Manual del Usuario del Aplicativo FON. Manual del Usuario. Aplicativo de Funciones Obstétricas y Neonatales. Edgar Velásquez P.

Installing_elecworks_ES (Ind : M) 05/10/2017. elecworks. Guía de instalación

Rawel E. Luciano B Sistema Operativo III. 6- Creación de Script. José Doñe

PROCEDIMIENTO PARA GENERAR LOS REQUERIMIENTOS DE SELLOS DIGITALES

La entrega de los envíos

MANUAL DE USO Servidor de Cálculo TAYLOR ÍNDICE

Uso básico del shell.

Aspectos prácticos de Internet

Ayuda de Utilidad de agente de Backup Exec

ASISTENCIA TÉCNICA A LA SEGURIDAD EN PYMES DE MELILLA MANUAL PUTTY TRAY

INVESTIGACIÓN Y SISTEMAS DE CONTROL S.A.

Aprovechando las ventajas de la interacción entre SAS y UNIX Copyright 2011, SAS Institute Inc. All rights reserved.

Mirroring, copia espejo o cómo. copiar carpetas completas

MANUAL DE USUARIO Biblioteca Virtual

Formato para prácticas de laboratorio

Importante: Esta funcionalidad aplica sólo para dispositivos móviles.

Curso Operador Linux

USER MANUAL VISUALIZADOR FINGERTEC TCMS V2

1.2 Para qué me sirve FTP FTP y Planes de Hospedaje FTP y CentovaCast (AutoDj) FTP y Dreamweaver Descarga de FileZilla 10

INSTALACION DE WINDOWS 98

Transcripción:

HPC UNIANDES Tutorial: Básico I I. CLUSTER HPC 1) Establezca una conexión con el cluster HPC (clustergate.uniandes.edu.co), para ello se usa el protocolo SSH (Secure SHell). a. Si usa un sistema operativo basado en Unix (Linux, OS/X): abra la terminal. i. En OX/S, acceda a la terminal (Utilities/Terminal) desde el panel de aplicaciones o acceda pulsando CMD + barra espaciadora. b. Si usa Windows, en cualquier versión, existen algunas aplicaciones que proveen un protocolo de aplicación SSH, como PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html). Para mayor información sobre las características del servicio y otros, favor revisar las políticas de usuario. i. Sobre la terminal I.1 La terminal es un entorno de programación que permite al usuario administrar su computador y archivos, ejecutar tareas, entre otros. Esta provee una consola donde se ingresan comandos que usan una sintaxis dependiendo del intérprete. Los intérpretes más comunes son csh, tcsh, sh y bash. Por simplicidad, el intérprete por defecto en todas las consolas es bash y este es el entorno de ejecución en el clúster HPC. En el link https://www.howtoforge.com/useful_linux_commands, encuentra información de los comandos más comunes, su uso y sus ventajas, que se convertirán en herramientas poderosas para organizar/clasificar directorios y archivos, desarrollar scripts, etc. Conectando desde una terminal (no digite el símbolo $ en la consola) $ ssh user@clustergate.uniandes.edu.co Reemplazar user con su usuario ID y ejecutar. Si es la primera vez que accede al servidor, este puede requerir una validación del certificado del servidor. Después de esto, ingrese su contraseña. Una vez registrado, usted continúa en la terminal prompt del cluster. Si usted se encuentra dentro del campus universitario, puede acceder a clustergate ingresando a clustergate.uniandes.edu.co. ii. Sobre PuTTY I.1

Ingresar al cluster usando PuTTY o alguna otra aplicación de Windows (por ejemplo Secure Shell Client). La figura 1 muestra el procedimiento de ingreso al cluster usando PuTTY. Se recomienda leer Sobre la terminal I.1 para información adicional y links de ayuda. Una vez que haya iniciado sesión en el servidor, estamos listos para presentar cualquier cálculo numérico, pero antes de adentrarnos en este tema, por favor consulte la siguiente sección de consejos, trucos y prácticas recomendadas. Figura 1. Procedimiento para ingresar al servidor usando PuTTY II. CONSEJOS, TRUCOS & PRACTICAS RECOMENDADAS A. Autocompletar Una característica interesante de la consola de la terminal es la capacidad de Autocompletar, que resulta al presionar la tecla TAB de su teclado. El completado automático funciona como un filtro para ambos

comandos y rutas de archivo/carpeta, y se recomienda utilizar con frecuencia ya que ayuda a evitar errores ortográficos. La nota siguiente ilustra cómo usarlo: Sobre la terminal II.1 Para este sencillo ejemplo asumimos que estamos interesados en los qnodes de mando, lo que muestra el estado de los nodos de computación de la agrupación, y se quiere usar el completado automático. En este escenario, el primer filtro es la letra q que reducirá los posibles comandos a la lista de comandos que empiezan por el carácter q. Qué va a mostrar si pulsa la tecla TAB una vez? Completado automático: Parte I (no digite el símbolo $ en la consola) $ q La respuesta es nada. La razón es que el terminal reconoce cualquiera de varios comandos que comienzan con la letra q o ninguno. Cuando esto sucede, presione la tecla TAB una segunda vez, y la salida será de la siguiente manera: Completado automático: Parte II (no digite el símbolo $ en la consola) $ q qalter qmlplugindump qstop qchkpt qmlviewer qsub qcollectiongenerator qmove qtconfig qdbus qmsg qtconfig- qt4 qdbusviewer qnoded qterm qdel qnodes qttracereplay qdisable qorder quota qenable qrencode quotacheck qgpumode qrerun quota_nld qgpureset qrls quotaoff qhelpconverter qrun quotaon qhelpgenerator qselect quotastats qhold qsig quotasync qmake qstart qv_to_bqv.py qmgr $ q qstat Con el fin de perfeccionar el filtro, tipee la tecla n y presione TAB nuevamente. Completado automático: Parte III (no digite el símbolo $ en la consola) $ qnode Usted puede notar que, al hacerlo, se autocompletará hasta qnode ya que hay dos comandos posibles: qnodes y qnoded. Si qnoted no existía, autocompletar habría dado qnodes y un espacio extra. Por último se requiere escribir el carácter s y hemos terminado. Ejecutar el comando y ver qué pasa! Este sencillo ejemplo muestra cómo utilizar el autocompletado de comandos. Los mismos principios se aplican para las rutas de archivos/carpetas. Además de la versatilidad que ofrece esta función para el usuario, Se puede pensar en otras posibles ventajas?

B. Comprimir/Descomprimir Los formatos de compresión/empaquetado más comunes en Unix son: ZIP, GZIP, BZIP2, y TAR. El primero es bastante útil para el empaquetado de archivos y carpetas. El restante se comprime por algoritmos. Compresión Sobre la terminal II.2 Empaquetando archivos log, y carpetas res1, res2 y res3 usando TAR para generar results_2015.tar (no digite el símbolo $ en la consola) $ tar cvf output.tar files/folders files/folders is a list separated by spaces. $ tar cvf results_2015.tar *.log res1 res2 res3 Compresión del archivo sim1d.log usando GZIP: archivo de salida es sim1d.log.gz (no digite el símbolo $ en la consola) $ gzip sim1d.log Compresión del archivo sim1d.log usando BZIP2: archivo de salida es sim1d.log.bz2 (no digite el símbolo $ en la consola) $ bzip2 sim1d.log Usted también puede empaquetar y comprimir simultáneamente usando TAR. Empaquetando y comprimiendo archivos log, y carpetas res1, res2 y res3 usando TAR y GZIP para generar results_2015.tar.gz (no digite el símbolo $ en la consola) $ tar zcvf results_2015.tar.gz *.log res1 res2 res3 Empaquetando y comprimiendo archivos log, y carpetas res1, res2 y res3 usando TAR y BZIP2 para generar results_2015.tar.bz2 (no digite el símbolo $ en la consola) $ tar jcvf results_2015.tar.bz2 *.log res1 res2 res3 Extraer Sobre la terminal II.3 Extraer el archivo TAR results_2015.tar (no digite el símbolo $ en la consola) $ tar xvf results_2015.tar

Extraer el archivo GZIP sim1d.log.gz (no digite el símbolo $ en la consola) $ gunzip sim1d.log.gz Extraer el archivo BZIP2 sim1d.log.bz2 (no digite el símbolo $ en la consola) $ gunzip sim1d.log.bz2 También puedes extraer paquetes y comprimir archivos simultáneamente usando TAR. Extraer el archivo TAR/GZIP results_2015.tar.gz (no digite el símbolo $ en la consola) $ tar zxvf results_2015.tar.gz Extraer el archivo TAR/BZIP2 results_2015.tar.bz2 (no digite el símbolo $ en la consola) $ tar jxvf results_2015.tar.bz2 La pregunta que queda es como utilizar el formato ZIP. C. Optimizar SSH La optimización de SSH es muy importante cuando se tiene limitaciones de ancho de banda o si se prefiere continuar con un protocolo de cifrado diferente, por razones de seguridad. El protocolo estándar es aes128-ctr (seguro), pero hay varios protocolos similares, por ejemplo, AES. Recomendamos aes256- ctr para una mayor seguridad y el valor predeterminado para transferencias rápidas. Si el ancho de banda es un problema real y la seguridad no es el cifrado Blowfish-CDC se podía utilizar. Una medida adicional para optimizar las conexiones SSH es el uso de la compresión. El repliegue de la compresión es el uso de la CPU por el usuario y el servidor. Optimizar SSH para alta seguridad con compresión (no digite el símbolo $ en la consola) $ ssh c aes256- ctr C user@clustergate.uniandes.edu.co Optimizar SSH de alta seguridad con conmutación por error de mediana seguridad y compresión (no digite el símbolo $ en la consola) $ ssh c aes256- ctr,aes192- ctr C user@clustergate.uniandes.edu.co Optimizar SSH para conexiones rápidas y poca seguridad con compresión (no digite el símbolo $ en la consola) $ ssh c aes256- ctr,aes192- ctr C user@clustergate.uniandes.edu.co

D. Transferir archivos Copiar los archivos desde y hacia el servidor es bastante simple, ya que tiene los mismos principios que la conexión SSH. Ejemplos de las aplicaciones que tienen esta capacidad, como FileZilla que tiene opciones para todos los sistemas operativos conocidos. Sin embargo, la mayoría de las veces es más útil aprender la instrucción de línea de comandos. Copiar un archivo (source.tar.gz) desde la maquina local al servidor en la carpeta de inicio app/ (no digite el símbolo $ en la consola) $ scp source.tar.gz user@clustergate.uniandes.edu.co:app/. Copiar una carpeta (app_sources/) recursivamente desde la maquina local al servidor en la carpeta de inicio app/ (no digite el símbolo $ en la consola) $ scp r app_sources user@clustergate.uniandes.edu.co:app/. Copiar un archivo (source.tar.gz) desde el servidor a la maquina local (no digite el símbolo $ en la consola) $ scp user@clustergate.uniandes.edu.co: source.tar.gz./ Copiar una carpeta (app_sources/) recursivamente desde el servidor a la maquina local (no digite el símbolo $ en la consola) $ scp r user@clustergate.uniandes.edu.co: app_sources./ Nota: Una observación final sobre las transferencias de archivos/carpetas es la capacidad de utilizar las mismas optimizaciones como en la conexión SSH con la misma sintaxis; es decir, -C para la compresión y -c cipher1, cipher2 para el algoritmo de cifrado. E. Practicas recomendadas v Organizar sus datos: aunque esto puede parecer obvio, manteniendo los datos ordenados en un árbol de carpetas organizado toma mucho tiempo, sin embargo es necesario. Aunque a veces es un desafío ya que la entropía tiende a aumentar por lo que la gestión de datos y búsqueda de tareas es difícil. Una regla general es crear árboles de carpetas con las especificaciones tema/sujetos clasificados por año y propósito. Por ejemplo,

v Evitar el uso de espacios o caracteres especiales para los nombres de archivos y carpetas como Unix Sistems y el sistema de archivos no es propio de estos. En lugar de utilizar los espacios tratar de usar _, - y el signo período (.). v Optimizar el espacio en disco eliminando archivos innecesarios y comprimir texto o archivos de registro. También discernir los datos relevantes de los demás, así como guardar todos los puntos de control para futuros cálculos. v Evitar la transferencia de grandes cantidades de archivos a/desde el servidor. Las transferencias son mucho más rápidas y seguras si los datos se comprimen inicialmente y se transfieren después. v Construir scripts para automatizar tareas. Este tema se abordará en el futuro.

III. ENVÍO DE TRABAJOS Con el fin de utilizar el clúster HPC debemos enviar trabajos al sistema de colas. La aplicación asignará un nodo de computación y recursos (CPU, RAM y walltime), según lo requiera el usuario, de acuerdo con los esquemas de cola en la Sec. 3.7, para realizar los cálculos. Nuestro software de distribución de trabajo es Torque/MOAB conocido ampliamente y utilizado en HPC s en todo el mundo. Hay dos maneras en que podemos enviar un trabajo: i) interactivos y ii) automatizados. Dado que el acceso al clúster se limita a la dirección (clustergate.uniandes.edu.co) el programador envía la información de ejecución numérica a los nodos, a través del sistema de manejo de trabajos. En el modo de envío de trabajos automatizado, el usuario prepara un script de ejecución y los datos a ser transferidos al nodo para su procesamiento. En el modo interactivo, el usuario puede iniciar una conexión en directo a uno de los nodos y realizar el cálculo directamente. El modo interactivo se recomienda para las ejecuciones de tiempo corto y ensayos, mientras que para ejecuciones de tiempo largo y de producción se recomienda la modalidad automatizada. Ilustraremos ambos escenarios en las siguientes notas. El conjunto básico de comandos que el usuario requiere entender para el sistema de gestión de trabajos son los siguientes: 1. qnodes Muestra la información completa de los nodos, incluyendo el tipo de procesador, la memoria RAM total, trabajos en curso y los recursos libres. 2. qstat Muestra el status de los trabajos: en curso o finalizados. 3. qsub Este es el comando básico para iniciar un trabajo interactivo o automatico. 4. qdel Este comando cancela un trabajo. Para usarlo el usuario necesita el id del trabajo en la terminal. El comando qsub admite una serie de argumentos de entrada, que especifican el tipo y la cantidad de recursos que el usuario requiere para la ejecución de trabajos. Argumento Descripción -q queue_name Es el nombre la cola a usar. El planificador asigna automáticamente los recursos para el usuario. -N job_name El nombre del trabajo. Este parámetro se establece por el usuario y será el nombre que aparece en la cola de trabajos (comando qstat). Se recomienda el uso de palabras clave que hacen referencia al tipo de ejecución, número de ciclos, etc. -M email Especifica la dirección de correo para la cual el sistema enviara notificaciones del trabajo en ejecución. -m abe Hace que el la ejecución del trabajo maneje un sistema de envío de notificaciones: (a)bortar, (b)comenzar y (e)salir, al correo especificado (-M). -l walltime=time Especificaciones manuales de los recursos computacionales: walltime, # de nodos -l nodes= :ppn= o nodo (por ejemplo, node-11.local), procesadores por nodo (ppn), y memoria a -l mem= mb ser usada en mb o gb. -W Instrucción especial que tiene varios usos. -I Instrucción que da inicio al modo interactivo.

Sobre la terminal III.1 Para enviar un trabajo en modo interactivo siga este ejemplo. Modo Interactivo (no digite el símbolo $ en la consola) $ qsub - I - q batch - l nodes=node- 3.local qsub: waiting for job 3122.clustermaster.uniandes.edu.co to start qsub: job 3122.clustermaster.uniandes.edu.co ready [user@node- 3 _]$ Una vez en modo interactivo usted puede realizar cualquier acción computacional. Puede pensar en otras aplicaciones del modo interactivo. Usar el modo automático para el envío de trabajos es el mejor curso para los cálculos prolongados o de valor de producción. Con el fin de hacer esto, hay que construir una secuencia de comandos. La tabla anterior muestra todas las instrucciones que se pueden enviar normalmente con qsub. Pero la característica más poderosa del comando Enviar es la capacidad de tomar un archivo de texto con la secuencia de instrucciones incrustadas. Vamos a revisar un ejemplo para elaborar esto. El cluster HPC contiene un gran número de aplicaciones de software y bibliotecas instaladas y la lista continuamente es ampliada. Cómo podemos ver esta lista? Hay una utilidad de línea de comandos que proporciona esta información; estos son llamados Módulos. Cada aplicación tiene sus propios requisitos y con el fin de cumplir con ellos sin chocar con otro requisito de software es necesario construirlas dentro de un entorno encapsulado. Cada uno de estos entornos se puede acceder con el comando Módulos. Sobre la terminal III.2 La lista de aplicaciones/librerías habilitadas se despliega con la siguiente instrucción. Listar Módulos (no digite el símbolo $ en la consola) $ module avail Esto muestra en la terminal una lista completa de los nombres de cada una de las aplicaciones. Por ejemplo, si el usuario necesita Gromacs usted puede verificar que existen dos versiones habilitadas en el cluster. Ambas trabajan dentro de su entorno. Si necesita la v4.6.5 entonces usted necesita cargar el módulo gromacs/4.6.5. Cómo hacemos esto? Cargar Gromacs digite el símbolo $ en la consola) $ module load gromacs/4.6.5 Después de ejecutar el comando anterior, todas las variables del entorno son generadas en el background y el programa puede ser utilizado de forma global. Cómo descargar un módulo?

Sobre los script III.1 Ahora que conocemos como cargar los módulos, estamos listos para construir un script de comandos para ejecutar un cálculo en el modo automático. Un script es un archivo de texto plano con una secuencia de instrucciones que el terminal ejecuta de una manera ordenada. Se compone de un encabezado y un cuerpo. Este último se puede dividir en diferentes secciones de acuerdo con el propósito del script. En este caso, el cuerpo se divide en cinco partes: i) la definición de las variables, ii) una útil salida de depuración opcional (SCRIPT_LOG), iii) mover los archivos al nodo, iv) realizar el cálculo, y v) mover los archivos de regreso desde el nodo a la carpeta de salida. Consejo: para evitar la confusión entre los archivos utilizar un prefijo o sufijo de la palabra clave del archivo de secuencia de comandos; sugerimos script_name.pbs Encabezado # Esto le dice a la terminal que use bash como interprete #!/bin/bash # Esto es un comentario. El encabezado del script debe incluír # instrucciones del programados. Los argumentos comienzan con #PBS y # las opciones. # Primero necesitamos establecer el nombre de la cola a utilizar. # Según los caracteres, q8_1w se asignaran 8 procesadores. # 64GB de memoria RAM y un walltime de una semana. #PBS -q q8 1w #PBS -M user@uniandes.edu.co #PBS -m abe #PBS -N test1_gromacs Cuerpo parte I # Crea un directorio temporal local en el nodo, optimizando el performance I/O TEMP_DIR=/state/partition1/$USER/$PBS_JOBNAME.$PBS_JOBID # Crea el directorio que almacena el archivo de salida del cómputo. # Por ejemplo results dentro del directorio de trabajo. OUT_DIR=$PBS_O_WORKDIR/results Cuerpo parte II (Opcional) # Crea un script de registro con la siguiente información: SCRIPT_LOG=script_$PBS_O_WORKDIR/$PBS_JOBNAME.$PBS_JOBID.log touch $SCRIPT_LOG # Ahora almacena la información dentro del script de registro echo Job started on hostname date >> $SCRIPT_LOG echo ##################################### >> $SCRIPT_LOG echo PBS working directory: $PBS_O_WORKDIR >> $SCRIPT_LOG echo Current directory: pwd >> $SCRIPT_LOG echo Temporary directory: $TEMP_DIR >> $SCRIPT_LOG echo Output directory: $OUT_DIR >> $SCRIPT_LOG echo ##################################### >> $SCRIPT_LOG echo User: $PBS_O_LOGNAME >>$SCRIPT_LOG echo Batch job started on $PBS_O_HOST >>$SCRIPT_LOG

echo PBS job id: $PBS_JOBID >>$SCRIPT_LOG echo PBS job name: $PBS_JOBNAME >>$SCRIPT_LOG echo PBS environment: $PBS_ENVIRONMENT >>$SCRIPT_LOG echo ##################################### >> $SCRIPT_LOG echo >>$SCRIPT_LOG echo ##################################### >> $SCRIPT_LOG echo ##################################### >> $SCRIPT_LOG echo Full Environment: >>$SCRIPT_LOG printenv >>$SCRIPT_LOG echo ##################################### >> $SCRIPT_LOG echo >>$SCRIPT_LOG echo The Job is being executed on the following node: >>$SCRIPT_LOG cat $PBS_NODEFILE >>$SCRIPT_LOG Cuerpo parte III mkdir -p $TEMP DIR mkdir -p $OUT DIR cp -Rf $PBS O WORKDIR/important file(s) $TEMP DIR/. Cuerpo parte IV (Ejemplo: ejecutando Gromac v 4.6.5) # Primero cargamos el módulo Gromacs v4.6.5 Module load gromacs/4.6.5 # ejecutar gromacs usando el archivo de configuración config.txt cd $TEMP_DIR grompp configuration_file Cuerpo parte V cd $OUT DIR mv -f $TEMP_DIR./ # OPCIONAL (Si realizo el Cuerpo parte II): fecha de terminación # del output en el registro del script echo Job Finished: date >>$SCRIPT_LOG Con este script Gromacs será ejecutado en cualquiera de los nodos designados automáticamente por el programador. Para enviar el trabajo, lo que necesita el usuario es Enviar el trabajo (no digite el símbolo $ en la consola) $ qsub script_name Nota importante: Procure que todos los archivos de configuración y puntos de control pertinentes residen en la misma ubicación que la secuencia de comandos y enviar el trabajo desde el mismo directorio. Aunque hemos construido un prototipo estándar de la secuencia de comandos para enviar un trabajo, existe abundante documentación en la web al respecto, con todo tipo de comandos interesantes para mejorar y ofrecer alternativas a todo tipo de necesidades de los usuarios. Intenta buscar el oracle!

Algunos sitios de información de manejo de trabajos en clústers: 1. http://qcd.phys.cmu.edu/qcdcluster/pbs/run serial.html 2. https://www.msi.umn.edu/resources/job-submission-and-scheduling-pbs-scripts 3. https://hpcc.okstate.edu/content/software-resources 4. http://www.gla.ac.uk/services/it/hpcc/userguide/howtousetorquepbs/ 5. http://www.physics.orst.edu/cluster use IV. TOPICOS AVANZADOS Cómo usar una aplicación que no está instalada en el repositorio de aplicaciones?