Índice General

Índice de Figuras
Índice de Tablas
1. Presentación
1.1 PRELIMINARES
1.1.1 Sobre este documento
1.1.2 Limitación de responsabilidad
1.1.3 Política de distribución
1.1.4 Nuevas versiones de este documento
1.1.5 Mantenimiento
1.2 ORGANIZACIÓN

2. Teoria de la supercomputación
2.1 INTRODUCCIÓN
2.1.1 Visión histórica
2.1.2 Problemas que se pueden resolver con estos sistemas
2.1.3 Soluciones actuales que se dan a dichos problemas
2.2 PARALELISMO
2.2.1 Definiciones previas
2.2.1.1 Parámetros de rendimiento en computación paralela
2.2.1.2 Modelos matemáticos
2.2.2 Límites en el hardware
2.2.3 Límites del software
2.2.4 Granularidad del paralelismo
2.2.5 El problema de la transparencia
2.2.6 Paralelización de programas
2.2.7 Ejemplos de problemas paralelizables
2.3 ARQUITECTURAS
2.3.1 Soluciones hardware
2.3.2 Soluciones software
2.4 SISTEMAS DISTRIBUIDOS
2.4.1 ?`Qué se entiende por sistema distribuido y sistema operativo distribuido?
2.4.2 ?`Por qué necesitamos sistemas distribuidos?
2.4.3 Desventajas: el problema de la transparencia
2.4.4 La tendencia a lo distribuido

3. Implementación de Sistemas Distribuidos
3.1 SISTEMAS OPERATIVOS
3.1.1 Procesos y Schedulling
3.1.1.1 Migración de procesos: ?`por qué es útil?
3.1.1.2 Política de localización
3.1.1.3 Política de migración
3.1.1.4 Política de ubicación
3.1.1.5 Parte de los procesos a migrar
3.1.1.6 Mecanismos de migración
3.1.2 Compartición de recursos
3.1.3 El problema de la memoria
3.1.4 Comunicación entre procesos
3.1.5 La importancia de los sistemas de ficheros
3.1.6 Entrada salida
3.2 LA IMPORTANCIA DE LA RED
3.2.1 La importancia del sistema de comunicación
3.2.2 Topologías de red
3.2.2.1 Redes estáticas
3.2.2.2 Redes dinámicas
3.2.3 Tecnologías de red
3.2.4 Protocolos utilizados a nivel de red (IP)
3.2.5 Protocolos utilizados a nivel de transporte (UDP/TCP)
3.2.5.1 Protocolos de transporte
3.2.5.2 UDP
3.2.5.3 TCP
3.2.6 Diseño de redes
3.2.6.1 Factores a tener en cuenta al diseñar una red
3.2.7 Conclusiones

4. Clusters
4.1 CLUSTERS. NOCIONES GENERALES
4.1.1 ?`Qué se entiende por cluster?
4.1.2 Características de un cluster
4.1.2.1 Acoplamiento de un cluster
4.1.2.2 Otras características
4.1.3 Clasificción según el servicio prioritario
4.1.4 HP (alto rendimiento)
4.1.4.1 La misión
4.1.4.2 Problemas que solucionan
4.1.4.3 Técnicas que utilizan
4.1.5 HA (alta disponibilidad)
4.1.5.1 La misión
4.1.5.2 Problemas que solucionan
4.1.5.3 Técnicas que utilizan
4.1.6 HR (alta confiabilidad)
4.2 CLUSTERS HA
4.2.1 Introducción
4.2.2 El interés comercial
4.2.3 Conceptos importantes
4.2.3.1 Servicio RAS
4.2.3.2 Técnicas para proveer de disponibilidad
4.2.4 Soluciones libres
4.2.5 LVS (Linux Virtual Server)
4.2.5.1 Introducción
4.2.5.2 Métodos de balanceo IP
4.2.5.3 Aspectos Técnicos
4.2.5.4 Instalación y configuración de un caso de estudio
4.2.5.5 ?`Y la alta disponibilidad?
4.2.5.6 Conclusiones
4.3 CLUSTERS HP
4.3.1 Conceptos importantes (Migración, balanceo)
4.3.2 PVM y MPI
4.3.2.1 Paso de mensajes
4.3.2.2 PVM
4.3.2.3 MPI
4.3.3 Beowulf
4.3.4 openMosix
4.3.5 TOP 500
4.4 REQUERIMIENTOS Y PLANTEAMIENTOS
4.4.1 Requerimientos hardware
4.4.2 Lineas básicas en la configuración del hardware
4.4.3 Requerimientos software
4.4.4 Planteamientos de tu cluster

5. Clustering con openMosix
5.1 ?`QUÉ ES REALMENTE OPENMOSIX?
5.1.1 Una muy breve introducción al clustering
5.1.1.1 HPC, Fail-over y Load-balancing
5.1.1.2 Mainframes y supercomputadoras vs. clusters
5.1.1.3 Modelos de clusters NUMA, PVM y MPI
5.1.2 Una aproximación histoórica
5.1.2.1 Desarrollo histórico
5.1.2.2 openMosix != MOSIX
5.1.2.3 openMosix en acción: un ejemplo
5.2 CARACTERISTICAS DE OPENMOSIX
5.2.1 Pros de openMosix
5.2.2 Contras de openMosix
5.2.3 Subsistemas de openMosix
5.2.4 El algoritmo de migración
5.3 INSTALACIÓN DE UN CLUSTER OPENMOSIX
5.3.1 Instalación del kernel de openMosix
5.3.2 Instalación de las herramientas de área de usuario
5.3.3 Configurando la topología del cluster
5.3.4 Las herramientas de área de usuario
5.3.5 Optimizando el cluster
5.4 ADMINISTRACIÓN DEL CLUSTER
5.4.1 Administración básica
5.4.2 Configuración
5.4.3 Las herramientas de área de usuario
5.4.4 Detección automática de nodos
5.5 AJUSTES EN EL CLUSTER
5.5.1 Testeo de rendimiento con Stress-Test
5.6 OPENMOSIXVIEW
5.6.1 Instalación
5.6.2 Utilizando openMosixview
5.6.3 openMosixprocs
5.6.4 openMosixcollector
5.6.5 openMosixanalyzer
5.6.6 openMosixhistory
5.6.7 openMosixview + SSH2
5.6.8 FAQ de openMosixview -preguntas más frecuentes
5.7 PROBLEMAS MÁS COMUNES
5.7.1 No veo todos los nodos
5.7.2 FAQ de openMosix -preguntas más frecuentes-
5.7.2.1 General
5.7.2.2 Obteniendo, compilando, instalando y funcionando con openMosix
5.7.2.3 Preguntas del kernel (núcleo)
5.7.2.4 Sistema de ficheros
5.7.2.5 Programando openMosix
5.7.2.6 Miscelánea
5.8 PARA MÁS INFORMACIÓN

6. openMosix a fondo
6.1 The openMosix internals (Moshe Bar)
6.2 MODELIZACIÓN MATEMÁTICA DE PROCEDIMIENTOS
6.3 ./arch/*
6.3.1 config.in
6.3.2 defconfig
6.3.3 entry.S
6.3.4 i387.c
6.3.5 ioport.c
6.3.6 offset.c
6.3.7 ptrace.c
6.3.8 signal.c
6.3.9 vm86.c
6.4 ./Documentation/*
6.5 ./drivers/*
6.6 ./fs/*
6.7 ./hpc/*
6.7.1 badops.c
6.7.2 balance.c
6.7.3 mig.c
6.7.3.1 Migrar un proceso local a un nodo remoto
6.7.3.2 Migrar un proceso remoto a un nodo local
6.7.3.3 Migrar un proceso remoto a un nodo remoto
6.7.3.4 Información enviada en las migraciones
6.7.4 info.c
6.7.5 comm.c
6.7.6 config.c
6.7.7 load.c
6.7.8 remote.c
6.8 ./include/*
6.8.1 hpc.h
6.9 ./init/*
6.9.1 main.c
6.10 ./ipc/*
6.10.1 shm.c
6.11 ./kernel/*
6.12 ./lib/*
6.12.1 rwsem.c
6.12.2 rwsem-spinlock.c
6.13 ./mm/*
6.14 ./net/*
6.15 EL API DE OPENMOSIX

7. Tutoriales útiles para casos especiales
7.1 Nodos sin discos
7.1.1 Componentes hardware requeridos
7.1.2 Componentes hardware prescindibles
7.1.3 Ventajas e inconvenientes
7.1.4 Croquis de la arquitectura
7.1.5 Diálogo de comunicación
7.1.6 Servicios requeridos
7.1.7 Configuración de los servicios requeridos
7.2 ROMs para arranque sin discos
7.3 Live Linux CD! Funcionando desde cdrom
7.3.1 Consideraciones previas
7.3.2 Dispositivos ramdisk en linux
7.3.3 Modificaciones a linux
7.3.4 Creando el cdrom
7.3.5 Últimos detalles
7.4 Referencias

8. Apéndices
8.1 APÉNDICE A: Aplicaciones funcionando, o no
8.2 APÉNDICE B: Salidas de comandos y ficheros
8.2.1 lspci
8.2.2 /proc/bus/pci/devices
8.2.3 /etc/mtab y df
8.2.4 /etc/lilo.conf
8.2.5 syslinux.cfg
8.2.6 rpld.conf
8.2.7 dhcpd.conf
8.3 APÉNDICE C: Acrónimos

9. GNU Free Documentation License
9.1 PREAMBLE
9.2 APPLICABILITY AND DEFINITIONS
9.3 VERBATIM COPYING
9.4 COPYING IN QUANTITY
9.5 MODIFICATIONS
9.6 COMBINING DOCUMENTS
9.7 COLLECTIONS OF DOCUMENTS
9.8 AGGREGATION WITH INDEPENDENT WORKS
9.9 TRANSLATION
9.10 TERMINATION
9.11 FUTURE REVISIONS OF THIS LICENSE

Bibliografía