Descripción
¿Conoce la supercomputación? ¿Quiere introducirse en este campo de una forma entretenida?
Sin darse cuenta, la supercomputación lo rodea en su día a día: los anuncios ajustados a sus gustos, las predicciones meteorológicas cada vez más exactas, la simulación del efecto del viento sobre un vehículo…
Las empresas más influyentes, importantes avances científicos o, incluso, películas han mostrado la existencia de grandes centros de computación. No obstante, ¿sabe cómo funcionan estos sistemas, quién los usa, para qué y cómo se configuran?
Construya su propio supercomputador con Raspberry Pi da respuesta a todas estas preguntas mientras lo guía en la configuración de un prototipo de supercomputador. Con este libro experimentará de primera mano la computación de altas prestaciones, desde el montaje físico del sistema hasta la ejecución de aplicaciones científicas.
Así pues, gracias a esta lectura:
– Aprenderá los conceptos básicos sobre la supercomputación.
– Construirá su propio prototipo funcional de supercomputador utilizando hardware de bajo coste.
– Configurará el sistema siguiendo patrones de diseño utilizados hoy en día en este tipo de infraestructuras.
– Conocerá algunas de las herramientas clásicas en este contexto.
– Instalará y ejecutará aplicaciones propias de distintas disciplinas científicas que se apoyan en la computación de altas prestaciones.
– Descubrirá las tecnologías de virtualización y la utilidad de los contenedores en el mundo de la supercomputación.
Este libro está escrito por cuatro entusiastas de la computación de altas prestaciones, por lo que podrá emprender su viaje hacia la supercomputación de la mano de Sergio Iserte Agut (investigador en la Universitat Jaume I y profesor de la Universitat Oberta de Catalunya), Sandra Catalán Pallarés (profesora e investigadora de la Universidad Complutense de Madrid), Rocío Carratalá Sáez (investigadora en la Universitat Jaume I) y Sergio López Huguet (investigador en la Universitat Politècnica de València).
¡Este es el momento! No dude en adquirir el libro para disfrutar aprendiendo sobre la supercomputación: una disciplina cuya importancia crece a pasos agigantados.
Índice
I Introducción 13
II Fundamentos 21
1 ¿Qué es la supercomputación? . . . . . . . . . . . . . . . . . . 25
1.1 Introducción ..........................................................25
1.2 Computación de altas prestaciones (HPC)............................ 26
1.3 Evaluación del rendimiento en la HPC.......................... 26
1.4 El TOP500 ..................................29
1.5 El Green500 ................................29
1.6 Estructura clúster ...............................30
1.7 Consumo energético y refrigeración........................ 31
1.8 Sistemas multiprocesador y multinúcleo..................... 32
1.9 Concurrencia y paralelismo .................33
1.10 Virtualización...................... 35
1.11 Lenguajes de programación para HPC................. 36 1.12 Para profundizar.......................................... 37
1.13 Material recomendado ...................................38
1.14 Resumen...................................... 39
2 Clúster con Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1 ¿Por qué Raspberry Pi? ...........................41
2.2 Raspberry Pi 4 Model B ......................42
2.3 Componentes del clúster ......................48
2.4 Para profundizar............................. 53
2.5 Material recomendado................................... 54
2.6 Resumen ...............................55
III ¡Manos a la obra! .............................57
3 Montaje del clúster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.1 El sistema operativo........................................... 61
3.2 GNU/Linux ...............................63
3.3 El sistema operativo para Raspberry Pi .............................68
3.4 Montaje hardware paso a paso........................... 71
3.5 Para profundizar..................................... 78
3.6 Material recomendado................................ 79
3.7 Resumen............................................. 79
4 Configuración del clúster . . . . . . . . . . . . . . . . . . . . . . . . 81
4.1 Configuración inicial de los nodos........................... 81
4.2 Configuración del sistema de ficheros compartido....................... 93
4.3 Para profundizar... .......................................97
4.4 Material recomendado ...........................97
4.5 Resumen ...................................98 5 Modelos de programación paralela . . . . . . . . . . . . . . 101
5.1 Compilador GCC ....................................101
5.2 Modelos de programación paralela .................106
5.3 Para profundizar.......................... 113
5.4 Material recomendado............................. 114
5.5 Resumen........................................... 114
6 Gestor de trabajos y recursos . . . . . . . . . . . . . . . . . . . 117
6.1 Visión general ..................................................117
6.2 Para profundizar.......................... 132
6.3 Material recomendado................... 133
6.4 Resumen....................... 133
7 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.1 Rendimiento y monitorización del sistema ....................135
7.2 Aplicaciones científicas ...................................152
7.3 Para profundizar.............................. 162
7.4 Material recomendado................................. 163
7.5 Resumen........................... 164
8 Software de virtualización . . . . . . . . . . . . . . . . . . . . . . 165
8.1 ¿Qué son los contenedores?.................... 167
8.2 Instalación de Singularity.................. 170
8.3 Cómo usar los contenedores Singularity .......................173
8.4 Caso de uso........................ 185
8.5 ¿Por qué usar contenedores?....................... 189
8.6 Para profundizar........................... 190
8.7 Material recomendado ..........................191
8.8 Resumen.................................... 192 IV Actividades propuestas............................................ 193
9 Actividades propuestas . . . . . . . . . . . . . . . . . . . . . . . . . 195
V Anexos 217
A Temporización aproximada . . . . . . . . . . . . . . . . . . . . . 219
B Raspberry Pi Model 3 B+ . . . . . . . . . . . . . . . . . . . . . 221
B.1 Comunicaciones internas entre componentes .................221
B.2 Interpretación de los indicadores LED ..........................223
B.3 Deshabilitar conexiones inalámbricas...................... 225
B.4 Temporización aproximada............................... 225
Listado de acrónimos ..........................................227
Glosario ................... 229