Recursos de supercomputación de la Universidad de Granada alhambra.ugr.es Centro de Servicios de Informática y Redes de Comunicaciones (CSIRC), Universidad de Granada Noviembre 2013 Registro, conexión y uso de Alhambra 1. Características generales del superordenador Alhambra • Casi 40 TFLOPS de potencia de cálculo • 1808 núcleos de proceso (100x2 Intel Xeon E5-2680 8-core a 2,7 GHz + 5x2 Intel Xeon E5-2680 8-core a 2,7 GHz con 2 GPU NVIDIA Tesla C2075 + 4x4 Intel Xeon E5-4640 8core a 2,4 GHz) • 4384 Gbyte de memoria RAM en total • 40 Tbyte de almacenamiento compartido útil • Interconexión mediante red Infiniband QDR de alto rendimiento (ancho de banda ~ 40 Gb/s, latencia 100 ns) • Sistema de archivos paralelo de altas prestaciones Lustre, capaz de servir ficheros a decenas de miles de nodos con un volumen total de varios petabytes • 40 aplicaciones y bibliotecas de diversas áreas, incluyendo biología, física, matemáticas o química, optimizadas para ejecución de alto rendimiento 2. Características generales del superordenador UGRGrid • 4,2 TFLOPS de potencia total de cálculo. Posición 467 en la lista TOP500 (http://www.top500.org) de junio de 2007 (http://www.top500.org/system/175147). • 1264 núcleos de proceso (248x2 AMD Opteron dual core a 2,2 GHz + 17x8 AMD Opteron dual core a 2,6 GHz) • 3 Tbyte de memoria RAM en total. • 24 Tbyte de almacenamiento en disco. • Interconexión mediante red Infiniband de alto rendimiento (ancho de banda ~ 8 Gb/s, latencia ~ 3 µs). • Sistema de archivos paralelo de altas prestaciones Lustre, capaz de servir ficheros a decenas de miles de nodos con un volumen total de varios petabytes. • Más de 70 aplicaciones y bibliotecas de diversas áreas, incluyendo biología, física, matemáticas o química. 3. Registros de grupos de investigación y usuarios • Requisito: estar adscrito al Plan Andaluz de Investigación, Desarrollo e Innovación (PAIDI). • Registro por vía telemática en la web de Alhambra. Registro de grupo 1. El responsable selecciona el código PAI del grupo e introduce sus datos de contacto. 2. Se envía un correo al responsable con un enlace a un formulario web para elegir su contraseña. 3. Una vez validado el formulario de elección de contraseña, el personal de supercomputación verifica los datos del registro, crea la cuenta del responsable en el sistema y envía un correo de confirmación, que incluye los datos de la cuenta (nombre de usuario, directorio personal /home, directorio de trabajo /SCRATCH, etc.) Registro de usuarios 1. En un formulario análogo al anterior, el responsable introduce los datos del investigador. 2. Se envía un correo al usuario con un enlace al formulario para elegir la contraseña. 3. Validado el formulario, la solicitud llega al personal de supercomputación, procediendo de la misma forma que en el caso del registro de grupo. 4. Conexión a los recursos de supercomputación • Ejecución directa de aplicaciones desde el propio portal web con el formulario de envío de trabajos. • Forma de acceso más habitual: SSH (clientes disponibles en Linux, Unix, Mac OS y en Windows a través de la utilidad PuTTY http://www.chiark.greenend.org.uk/~sgtatham/putty) • También se puede abrir un intérprete de órdenes (shell) en el mismo portal web. • La carga y descarga de archivos en/del sistema se hace también desde el portal web (“Perfil de usuario” → “Servicio FTP”) o bien mediante un cliente SFTP (incluido en sistemas Unix; para Windows existen alternativas como FileZilla, WinSCP, etc.) • Para acceder de forma ordinaria (SSH, SFTP) es necesario registrar las direcciones IP desde las que se desea conectar a Alhambra. Han de ser direcciones estáticas y pertenecientes al dominio de una universidad andaluza. 5. Almacenamiento: directorios permanente y temporal de trabajo • Cada usuario cuenta con dos directorios: el directorio permanente (/home/PAI/usuario) y el de trabajo (/SCRATCH/PAI/usuario) • Directorio permanente: para datos de entrada, aplicaciones propias, datos finales de salida, etc., es decir, información valiosa que se desea conservar. 50 Gbyte por usuario. Gran estabilidad y seguridad (sistema de archivos NFS). Copias de seguridad regulares de archivos. • Directorio temporal de trabajo: para datos intermedios generados por las aplicaciones. Todo lo que escriban los programas debe estar en este directorio (el directorio permanente no tiene permisos de escritura en los nodos de cálculo). Gran rendimiento y escalabilidad (sistema de archivos Lustre). Se deben mover los datos finales de salida al directorio /home. El directorio de trabajo se limpia con regularidad (archivos no accedidos en los últimos 20 días). • Cada nodo cuenta además con 150 Gbyte de scratch local (/LOCALSCRATCH). 6. Aplicaciones y bibliotecas científicas • 40 aplicaciones y bibliotecas de varias áreas científicas instaladas, optimizadas para la arquitectura del sistema y listas para usar. La gran mayoría, con soporte para ejecución paralela en múltiples procesadores. • Biología, física, matemáticas, química entre otros ámbitos, así como herramientas de desarrollo, optimización y paralelización. • Soporte para la instalación, optimización y paralelización de software adicional a petición del usuario. 7. Ejecución de trabajos • Las aplicaciones son ejecutadas por medio de scripts que se envían al planificador de trabajos (Open Grid Scheduler, OGS). • OGS garantiza el uso eficiente y justo de los recursos de computación, que son compartidos por la totalidad de usuarios. • Los trabajos esperan en cola hasta que están disponibles todos los recursos solicitados (número de procesadores, memoria), momento en que OGS inicia la ejecución de la aplicación en los nodos que selecciona el propio planificador. • Se debe utilizar la orden qsub para enviar los trabajos, o bien uno de los atajos disponibles para cada aplicación, que simplifican el lanzamiento y automáticamente generan los scripts para SGE (qnwchem, qnamd, qsander, qsiesta, etc.) • Tanto de una forma como otra, se debe indicar el número de procesadores que utilizará la aplicación así como la cola a la que se envían (las colas básicamente determinan y limitan el tiempo de ejecución de los trabajos, detalles más adelante), posiblemente junto con otras opciones adicionales “avanzadas” (reserva de recursos, ejecución no paralela de muchas tareas similares –array jobs–, ejecución de trabajos interdependientes...): qsub -q 24H -pe impi 128 script_nwchem.sh qnwchem 128 entrada_nwchem.nw 24H • Monitorización del estado de trabajos en OGS con la orden qstat. Modificación de trabajos con qalter. Eliminación con qdel. 8. Colas disponibles • Para acceder a la totalidad de recursos, se debe registrar al menos un proyecto de investigación en los que el investigador participe. Se debe rellenar un formulario en “Perfil de usuario”, indicando el nombre del proyecto, su duración y la entidad financiadora. 9. Actividad y producción científica • Registro de proyectos necesario para acceder a todos los recursos. • Animamos a los usuarios a que añadan (vía web igualmente) los resultados científicos (artículos, libros, congresos, tesis...) que hayan publicado utilizando Alhambra/UGRGrid en sus cálculos, y a que citen al servicio de supercomputación en sus publicaciones. 10. Monitorización de trabajos • Estadísticas de uso y gráficas globales de colas y nodos disponibles públicamente. • Acceso a la información de OGS (uso de colas) y Ganglia (uso de nodos –carga, procesador, memoria, etc.) sobre los trabajos del usuario con identificación. 11. Soporte y resolución de problemas • Soporte telemático, telefónico y personal. • Resolución de problemas técnicos (conexión a los recursos, errores hardware en el sistema, uso del gestor de colas, de las aplicaciones, etc.). • Asesoramiento para la instalación y uso de aplicaciones. 12. Visitas guiadas • Presentación del Servicio de Supercomputación y visita a las instalaciones. • 44 visitas de diversos grupos (alumnos de grado y posgrado, investigadores y profesores nacionales e internacionales, alumnos de secundaria y formación profesional, PAS Erasmus...) 13. Estadísticas de uso actuales • Grupos de investigación activos: 76 (47 de la UGR, 29 del resto de Andalucía) • Usuarios registrados: 251 (185 de la UGR, 66 del resto de Andalucía) • Incidencias tramitadas: 1072 (mensajes totales de usuario), 527 incidencias distintas • Atención personalizada "cara a cara": 19 • Avisos distintos enviados a los usuarios: 493 • Sugerencias admitidas: 13 • Visitas realizadas: 42 • Publicaciones: 75 + 1 libro + 5 comunicaciones a congresos • Proyectos de investigación: 100 • Aplicaciones y bibliotecas disponibles: 76 • Trabajos completados: 75299 • Años de CPU: 2650 Apéndice: Listado de aplicaciones disponibles Nombre ABINIT ACES III ACML AMBER ARMCI Descripción Una aplicación destinada a cálculos DFT usando pseudopotenciales orientada al estudio de sistemas periódicos. Un progama de cálculo mecanocuántico especializado en métodos perturbativos Coupled Cluster Conjunto de rutinas matemáticas optimizadas para procesadores AMD Opteron, que incluyen las bibliotecas BLAS, LAPACK y FFT, entre otras Conjunto de aplicaciones orientadas a cálculos de mecánica y dinámica molecular de proteínas y ácidos nucléicos. Biblioteca de propósito general, eficiente y portable para operaciones de acceso remoto a memoria (RMA) Implementación eficiente y portable de la biblioteca BLAS y de ciertas funciones de la biblioteca LAPACK Ant Herramienta de construcción de aplicaciones basada en Java y XML Las liberias BLACS incorporan rutinas de algebra lineal (Basic Linear Algebra Communication Subprograms) orientadas para el uso de paso BLACS de mensajes (MPI) a la hora de desarrollar aplicaciones de algebra lineal. Biblioteca con funciones para realizar operaciones básicas con BLAS vectores y matrices Aplicación que permite realizar alineamientos de secuencias de BLAST proteínas y ácidos nucleicos. Berkeley Unified Parallel C Compilador de la Universidad de Berkeley de Unified Parallel C Blender Programa para modelado, animación y creación de gráficos. Boost Conjunto de bibliotecas para extender la funcionalidad de C++ CLHEP Biblioteca para física de altas energías Aplicación para realizar simulaciones a nivel atómico y molecular de CP2K sistemas en estado sólido, líquidos, moleculares y biológicos Programa orientado a dinámica molecular ab-initio usando el método CPMD Car-Parrinello. Base de datos que contiene la estructuras cristalográficas de CSD compuestos orgánicos y organometálicos. Cilk Lenguaje de programación paralela multihilo basado en ANSI C ClustalW Programa para alineamiento múltiple de secuencias CUDA Compilador y conjunto de herramientas para programación de GPU DOCK Docking de proteínas y ácidos nucleicos. F2C Transcompilador para convertir código Fortran 77 en código C Librería de subrutinas en C para el cálculo de la transformada de FFTW Fourier rápida Biblioteca de álgebra linear densa robusta, eficiente y sencilla de FLAME utilizar Compilador de Fortan 95 con varias optimizaciones e innovaciones, G95 entre ellas Co-Array Fortran GAMESS Cálculo Ab-Initio de moléculas. Biblioteca de comunicación de alto rendimiento para implementar GASNet lenguajes SPMD con espacio de direcciones globales GAUSSIAN Química cuántica (ab-initio HF, DFT) GCC Compilador del proyecto GNU GCC UPC Compilador de UPC del proyecto GNU ATLAS GMP GROMACS GSL Geant4 Global Arrays Toolkit GotoBLAS GotoBLAS2 HDF5 HMMER HPCToolkit Intel Compiler Intel MPI Java LAMMPS LAPACK MM5 MPC MPFR MPI MPJ Express Macaulay2 Modules MrBayes NAMD NWChem NetCDF OSKI Biblioteca matemática para operaciones de precisión arbitraria Simulaciones de dinámica molecular de proteinas y ácido nucleicos. Biblioteca númerica para programas C y C++ Conjunto de herramientas para simular el paso de partículas a través de materia Interfaz de programación para entornos distribuidos basado en un espacio de direcciones globales Implementación optimizada de la biblioteca BLAS Implementación optimizada de la biblioteca BLAS Formato de archivo y biblioteca para datos científicos Implementación de métodos HMM (modelos ocultos de Márkov) para análisis de secuencias biológicas Conjunto de herramientas para análisis del rendimiento de aplicaciones Compilador de C/C++/Fortran optimizado para arquitecturas Intel Compilador y entorno de ejecución de MPI optimizado para arquitecturas Intel Plataforma software para desarrollar aplicaciones multiplataforma Programa de dinámica molecular Biblioteca en Fortran 90 para álgebra lineal Conjunto de aplicaciones orientadas a la simulación atmosférica. Biblioteca C para aritmética con números complejos de gran precisión Biblioteca C para operaciones de múltiple precisión en coma flotante API para programación paralela con el modelo de memoria distrubuida para C/C++ y Fortran Implementación en Java de MPI Aplicación para geometría algebraica y álgebra conmutativa Paquete para modificar de forma dinámica y sencilla el entorno de usuario Una aplicación filogenética de determinación de la similitud evolutiva de varias especies. Aplicación orientada a dinámica molecular de proteínas y ácidos nucléicos. Programa para realizar cálculos Ab-Initio de moléculas y sólidos, así como dinámica molecular. Biblioteca para acceso a datos en arrays para C, Fortran, C++, Java y otros lenguajes Biblioteca con primitivas para matrices dispersas automáticamente optimizadas Octave Open64 OpenMP Parallel NetCDF PathScale PhyML Python Quantum Espresso R SIESTA SINGULAR ScaLAPACK SunStudio SuperLU Valgrind Octave es un programa libre para realizar cálculos numéricos orientado al análisis numérico. Compilador open-source optimizado para arquitecturas Itanium y x8664 API para programación paralela con el modelo de memoria compartida para C/C++ y Fortran Implementación paralela de NetCDF Compilador de QLogic para obtener un alto redimiento en arquitecturas AMD64 Paquete software para estimar filogenias de máxima verosimilitud a partir de alineamientos de secuencias de nucleótidos o aminoácidos Python es un lenguaje de script independiente de plataforma y orientado a objetos, preparado para realizar cualquier tipo de programa. Programa de cálculo de estructuras cristalinas basado en ondas planas Entorno para cálculo y generación de gráficos estadísticos SIESTA (Spanish Initiative for Electronic Simulations with Thousand of Atoms) se refiere a un método y a su implementación en un programa, para realizar cálculos de estructura electrónica y dinámica molecular. Sistema de álgebra computacional para cálculos con polinomios Subconjunto de la biblioteca LAPACK diseñada para entornos de memoria distribuida Compiladores y herramientas de desarrollo para programas en C, C++ y Fortran de Sun Microsystems Biblioteca para la resolución directa de sistemas de ecuaciones lineares Conjunto de herramientas para depuración y profiling de aplicaciones