Next:
Índice General
 
Índice General
Construcción y evaluación de desempeño de un
cluster
tipo
Beowulf
para cómputo de alto rendimiento
Daniel Manrique M.
Índice General
Agradecimientos
1. Introducción
El problema
Objetivo
Resultados esperados
2. Teoría
2.1 Contexto histórico
2.1.1 La necesidad de computadoras verdaderamente rápidas
2.2 Enfoques para incrementar el rendimiento
2.3 Sistemas multiprocesador
2.3.1 Arquitectura SMP
2.3.2 Arquitectura MPP
2.3.3 Consideraciones de utilización para máquinas paralelas
2.3.3.1 Memoria compartida
2.3.3.2 Paso de mensajes
2.3.3.3 Consideraciones generales
2.3.3.4 La Ley de Amdahl
2.3.4 Estándares de programación en máquinas paralelas
2.3.5 Bibliotecas de paso de mensajes
2.3.6 PVM
2.3.6.1 Historia
2.3.6.2 Diseño
2.3.6.3 Implementación
2.3.7 MPI
2.3.7.1 Historia
2.3.7.2 Diseño
2.3.7.3 Implementación
2.3.8 Otros estándares de programación para máquinas paralelas
2.3.8.1 OpenMP
2.3.8.2 Especificaciones de Paso de Mensajes
2.4
Clusters
: una clase de máquina paralela
2.4.1 Algunas clases de máquinas paralelas
2.4.2 Los
clusters
2.4.3
Clusters
tipo
Beowulf
2.4.3.1 Historia
2.4.3.2 Características
2.4.4 Implementación
2.5 Linux
2.5.1 ¿Qué es Linux?
2.5.2 Algunas características de Linux
2.5.3 Un poco de historia
2.5.3.1 Unix
2.5.3.2 Software Libre
2.5.4 Aparición de Linux
2.5.5 Utilización de Linux en
clusters
tipo
Beowulf
2.6 Resumen
3. Construcción del
cluster
3.1
Hardware
3.1.1 Comunicación entre nodos
3.1.2 Consideraciones para equipos sin disco duro
3.1.3 Integración de
hardware
3.2
Software
3.2.1 Instalación y arranque del sistema operativo en el servidor central
3.2.2 Instalación y configuración de
software
de inicialización en los nodos
3.2.2.1 Asignación automática de dirección IP
3.2.2.2 Servidor de archivos de arranque TFTP
3.2.2.3 Cargador de arranque
3.2.2.4 Creación del
kernel
para los nodos
3.2.3 Organización de sistemas de archivos para NFS
3.2.4 Servidor NFS
3.2.5 Configuración servidor NIS
3.2.6 Configuración por nodo
3.2.6.1 Montaje de los sistemas de archivos remotos
3.2.6.2 Configuración cliente NIS
3.2.7 Archivo /etc/hosts
3.2.8 Toques finales
3.2.9 Configuración de archivo /etc/hosts.equiv
3.2.9.1 Optimización de configuración
3.2.10 Instalación y configuración de bibliotecas para programación paralela
3.2.10.1 Consideraciones previas
3.2.10.2 Restricciones para el superusuario
3.2.10.3 Configuración preliminar
3.2.11 Instalación y configuración de PVM
3.2.11.1 Configuración
3.2.11.2 Comprobación de funcionamiento
3.2.12 Instalación y configuración de MPICH
3.2.12.1 Configuración
3.2.12.2 Comprobación de funcionamiento
3.3 Resumen
4. Utilización
4.1 Multiplicación de matrices
4.1.1 La operación de multiplicación de matrices
4.1.2 Una sencilla implementación de multiplicación de matrices
4.2 Implementación paralela
4.2.1 Elección de organización
4.2.2 El algoritmo en paralelo
4.2.3 Implementación
4.2.3.1 MPI
4.2.3.2 PVM
4.2.4 Comparación de funciones: PVM vs. MPI
4.2.5 Compilación
4.2.5.1 MPI
4.2.5.2 PVM
4.2.6 Ejecución
4.2.6.1 MPI
4.2.6.2 PVM
4.2.6.3 Número real de procesos iniciados
4.2.7 Realización de pruebas
4.2.8 Tablas de resultados
4.2.9 Gráficas
4.2.10 Discusión de resultados
4.3
Benchmark
HPL
4.3.1 Requisitos previos
4.3.2 Instalación
4.3.2.1 Biblioteca ATLAS
4.3.2.2 HPL
4.3.3 Realización de pruebas
4.3.3.1 Configuración
4.3.3.2 Ejecución
4.3.4 Discusión de resultados
4.4 Uso del
cluster
en aplicaciones reales
4.4.1
Ray tracing
: una aplicación real
4.4.2 La técnica de
ray tracing
4.4.3 Selección de
software
4.4.4 POV-Ray
4.4.5 Paralelizando POV-Ray
4.4.6 Instalación de MPI-POV-Ray
4.4.7 Utilizando POV-Ray
4.4.8 Algunas pruebas de rendimiento
4.4.8.1 El
benchmark
de POV-Ray
4.4.8.2 Discusión de resultados
4.4.9 Utilización en aplicaciones de
ray tracing
4.5 Resumen
5. Conclusiones
5.1 Construyendo un
Beowulf
5.1.1
Hardware
: Un recurso limitado
5.1.1.1 Procesador y memoria
5.1.1.2 Almacenamiento secundario
5.1.1.3 Red local
5.1.2
Software
: Adaptándose a las necesidades
5.2 Utilizando un
Beowulf
5.3 ¿Para qué más sirve
este
Beowulf
?
5.4 ``Concluyendo'' las conclusiones
A. Programas aplicados
A.1 Multiplicación de matrices
A.1.1 Rutinas de manejo de matrices
A.1.2 Multiplicación de matrices - uniprocesador
A.1.3 Multiplicación de matrices paralelizada - MPI
A.1.4 Multiplicación de matrices paralelizada - PVM
B. Archivos de configuración
B.1 Archivo de configuración demonio dhcp
B.2 Archivo de configuración
kernel
Linux
B.3 Configuración HPL, HPL.dat
C. Otros archivos
C.1 skyvase.pov
C.2 script skyvase.pov
C.3 Makefile matrices
C.4 tester.pl
Bibliografía
Sobre este documento...
2002-05-15