Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capítulo 1 El Cómputo Paralelo y Distribuido
Capítulo 1 El Cómputo Paralelo y Distribuido
El Cmputo Paralelo
Control
Secuencia de
Instrucciones
Procesador
Figura 1.1.
Secuencia
de Datos
Memoria
Modelo SISD
Ejemplo. Para procesar la suma de N nmeros a1, a2, ... aN , el procesador necesita acceder
a memoria N veces consecutivas (para recibir un nmero). Tambin son ejecutadas en secuencia
N-1 adiciones. Los algoritmos para las computadoras SISD no contienen ningn paralelismo ya que
estn constituidas por un procesador.
Procesador 2
Procesador 1
Secuencia de
Datos 1
Procesador N
Secuencia de
Datos 2
Memoria 1
Secuencia de
Datos N
Memoria 2
Figura 1.2.
Memoria N
Modelo SIMD
Aqu hay N secuencias de datos, una por procesador, as que diferentes datos pueden ser
empleados en cada uno de ellos. Los procesadores operan sincronizadamente y un reloj global se
utiliza para asegurar esta operacin. En cada paso todos los procesadores ejecutan la misma
instruccin, cada uno en diferentes datos.
Ejemplo. Para sumar dos matrices cuadradas A y B, cada una de orden 2, con 4
procesadores:
A=
A11 A12
A21 A22
B=
B11 B12
C=
B21 B22
C11=A11+B11 C12=A12+B12
C21=A21+B21 C22=A22+B22
Procesador 1
Procesador 2
Procesador 3
Procesador 4
Control 1
Control 2
Secuencia de
Instrucciones 2
Secuencia de
Instrucciones 1
Procesador 1
Control N
Procesador 2
Secuencia de
Instrucciones N
Procesador N
Secuencia de
Datos
Memoria
Figura 1.3.
Modelo MISD
R = a-b
M = a*b
D = a/b
Procesador 1
Procesador 2
Procesador 3
Procesador 4
Cada uno de los procesadores opera sobre la misma secuencia de datos (a y b), pero en
cada caso se tiene una secuencia de instrucciones diferente (suma, resta, multiplicacin y divisin).
Control 2
Control N
Secuencia de
Instrucciones 2
Secuencia de
Instrucciones 1
Procesador 2
Procesador 1
Figura 1.4.
Secuencia de
Instrucciones N
Procesador N
Modelo MIMD
R = c-d
M = e*f
D = g/h
Procesador 1
Procesador 2
Procesador 3
Procesador 4
Cada uno de los procesadores opera sobre una secuencia de datos diferente aplicando una
secuencia de instrucciones diferente.
Los sistemas MIMD se clasifican en:
Control 2
Secuencia de
Instrucciones 1
Secuencia de
Instrucciones 2
Procesador 2
Procesador 1
Control N
Secuencia de
Datos 1
Secuencia de
Instrucciones N
Procesador N
Secuencia de
Datos 2
Secuencia de
Datos N
Memoria
Figura 1.5.
Desventajas:
Ventaja:
10
Control 1
Control 2
Secuencia de
Instrucciones 1
Procesador 1
Mensaje
Secuencia de
Datos 1
Memoria 1
Secuencia de
Instrucciones N
Secuencia de
Instrucciones 2
Procesador 2
Procesador N
Secuencia de
Datos N
Secuencia de
Datos 2
Memoria 2
Figura 1.6.
Control N
Memoria N
Ventajas:
Desventajas:
11
Beowulf
Un cluster tipo Beowulf es aqul en el cual las computadoras que lo componen son fciles
de conseguir, no contienen algn componente de hardware especfico y, usualmente, utilizan el
sistema operativo Linux.
Existe un gran nmero de opciones al planear un nuevo cluster tipo Beowulf. Las
configuraciones de este tipo de cluster difieren entre s en cuanto a seguridad, software de
aplicacin, administracin, sistema de arranque y de archivos, componentes de red y otras
caractersticas, aunque son similares en su naturaleza en trminos de propsito y concepto.
Algunos clusters Beowulf consisten de mquinas sin disco duro mientras que en otros cada
una puede contar con sus propios dispositivos de almacenamiento, sistema operativo y sistema de
archivos. Algunos pueden tener un gateway como enlace con el mundo exterior, pero en otros cada
nodo puede tener su propia direccin IP y ser accesible desde fuera del cluster.
Algunos aspectos que se tienen en cuenta al establecer un cluster tipo Beowulf son:
12
Un cluster puede construirse con base en un grupo de computadoras personales, las cuales
pueden lograr un desempeo tan bueno como las computadoras paralelas comerciales.
Casi todo el software utilizado en un cluster tipo Beowulf est disponible bajo la licencia
pblica GNU o bajo licencias que permiten el acceso a archivos fuente de software libre.
Un cluster Beowulf es fcil de actualizar con una fraccin del dinero que se utilizara slo
para el mantenimiento de una computadora paralela comercial.
Entre las diferentes plataformas de cmputo distribuido que existen actualmente, el costo
Compaa
Modelo
Procesador
Velocidad
Sistema Operativo
Memoria RAM
Tarjeta de Red
Cable de Red
Nodo de Procesamiento
Nodo de Procesamiento
Dell
Dell
Dell
PowerEdge 600SC
Optiplex GXpro
Optiplex GXpro
Intel Pentium 4
Intel Pentium Pro
Intel Pentium Pro
2.4 GHz
180 MHz
180 MHz
Red Hat Linux 8.0
Red Hat Linux 7.2
Red Hat Linux 7.2
Modo Grfico y
Modo Consola
Modo Consola
Consola
1 GB
512 MB
512 MB
Intel Kenai 32 Gigabit
3Com 3C590 para red
3Com 3C590 para red
para red Ethernet a
Ethernet a 10 Mbps con
Ethernet a 10 Mbps con
10/100/1000 Mbps
conector RJ-45
conector RJ-45
con conector RJ-45
Cable UTP Categora 5e con conectores RJ-45
Figura 1.7. Caractersticas de los nodos del cluster beowulf.
13
Compartimiento de Recursos
El trmino recurso es bastante abstracto, pero es el que mejor caracteriza el abanico de
14
Concurrencia
Cuando existen varios procesos en una nica mquina decimos que se estn ejecutando
central cada una entonces hasta N procesos pueden estar ejecutndose en paralelo.
Escalabilidad
Los sistemas distribuidos operan de manera efectiva a muchas escalas diferentes. La escala
ms pequea consiste en dos nodos y un servidor, mientras que un sistema distribuido construido
alrededor de una red de rea local simple podra contener varios cientos de nodos, varios
15
Tolerancia a Fallas
Cuando existen fallas en el software o en el hardware que constituye un sistema
informtico, los programas pueden producir resultados incorrectos o pueden parar antes de
terminar el cmputo que estaban realizando. El diseo de sistemas tolerantes a fallas se basa en
dos cuestiones, complementarias entre s: redundancia de hardware (uso de componentes
redundantes) y recuperacin del software (diseo de programas que sean capaces de recuperarse
de las fallas).
Transparencia
La transparencia se define como la ocultacin al usuario de la separacin de los
componentes de un sistema distribuido, de manera que el sistema se percibe como un todo en vez
de una coleccin de componentes independientes.
16
ausencia afecta fuertemente la utilizacin de los recursos distribuidos. A menudo se les denomina
transparencias de red. La transparencia de red provee un grado similar de anonimato en el acceso
a los recursos que el encontrado en los sistemas centralizados.
17