07 y 08 Sistemas distribuidos y paralelos y tarea 02
Estructuras de datos (Prof. Edgardo A. Franco)
1
Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco [email protected]
Contenido
• Introducción
• Sistemas paralelos y distribuidos
• Sistemas paralelos
• Sistemas distribuidos
• Características comunes entre el los sistemas paralelos y distribuidos
• Aspectos de Hardware • Clasificación de Flynn (1966)
• MIMD
• Tarea 02
2
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
C
on
ten
ido
Introducción
• Tipos de sistemas (evolución histórica)
• Sistemas por lotes: proceso diferido, secuencial
• Sistemas centralizados de tiempo compartido: terminal
• Sistemas de teleproceso: red telefónica
• Sistemas personales: estaciones de trabajo, PCs
• Sistemas en red: cliente/servidor, protocolos (TCP/IP)
• Sistemas paralelos: alta cohesión y grandes capacidades de procesamiento.
• Sistemas distribuidos: transparencia (GUI, RPC/RMI)
3
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
In
tro
du
cció
n
Introducción
• En la actualidad hablar de computadoras aisladas no tiene sentido alguno.
• Una computadora tiene recursos físicos y lógicos de valor que puede compartir.
• Procesador
• Memoria
• Espacio de almacenamiento
• Periféricos
• Aplicaciones
• Bases de datos
4
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
In
tro
du
cció
n
Introducción
• Los sistemas distribuidos y paralelos permiten compartir recursos de gran valor.
• Ventajas de compartir los recursos: • Velocidad: Se puede alcanzar mayor poder de computación que
una única máquina. • Confiabilidad: Si una máquina cae, el sistema aún puede
continuar en operación. • Compartición de datos: Admitir que varios usuarios accedan a
base de datos comunes. • Compartición de dispositivos: Admitir que varios usuarios
accedan a recursos escasos o caros. • Comunicación y colaboración: Permitir una sencilla comunicación
y colaboración humano-humano. • Flexibilidad: Distribuir la carga de trabajo entre las máquinas
disponibles.
5
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
In
tro
du
cció
n
Sistemas paralelos y distribuidos
• Sistemas paralelos: El objetivo es alcanzar máximo speedup en resolver un problema.
• Dividen una aplicación en tareas que son ejecutadas al mismo tiempo.
• Sistemas distribuidos: El objetivo es permitir que varios usuarios trabajen en forma cooperativa.
• Dividen una aplicación en tareas que son ejecutadas en diferentes ubicaciones usando diferentes recursos.
6
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
Si
stem
as p
aral
elo
s y
dis
trib
uid
os
Sistemas paralelos
• Una aplicación es dividida en subtareas que son resueltas simultáneamente (generalmente en forma fuertemente acopladas).
• Una aplicación es considera a la vez y el objetivo es la velocidad de procesamiento de esta única aplicación.
• Los programas se ejecutan en arquitecturas homogéneas y fuertemente acopladas.
7
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
Si
stem
as p
aral
elo
s
Sistemas distribuidos
• La computación usa múltiples recursos que están situados físicamente dispersos.
• En un sistema distribuido se ejecutan múltiples aplicaciones a la vez. Las aplicaciones pueden pertenecer a diferentes usuarios.
• Un sistema distribuido es a menudo heterogéneo.
• Un sistema distribuido no tiene una memoria compartida, al menos a nivel de hardware.
8
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
Si
stem
as d
istr
ibu
ido
s
Características comunes entre el los sistemas paralelos y distribuidos
• Desde los medidos de los ´90 se ha incrementado la convergencia de ambas áreas: • Las áreas incrementalmente usan las mismas
arquitecturas.
• Muchos aspectos de paralelismo y distribución son intercambiables o comunes e incrementalmente han comenzado a ser investigados juntos.
• Los congresos (meetings) de investigación y los institutos hoy reúnen ambos tópicos.
9
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
C
arac
terí
stic
as c
om
un
es e
ntr
e el
los
sist
emas
par
alel
os
y d
istr
ibu
ido
s
Características comunes entre el los sistemas paralelos y distribuidos
10
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
C
arac
terí
stic
as c
om
un
es e
ntr
e el
los
sist
emas
par
alel
os
y d
istr
ibu
ido
s
Cómputo Distribuido
Cómputo Paralelo
Sistemas Distribuidos y Sistemas Paralelos
Aspectos de Hardware
11
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
• Clasificación de Flynn (1966)
• SISD: único flujo de instrucciones aplicado a un único flujo de datos.
• SIMD: único flujo de instrucciones aplicado a múltiples flujos de datos.
• MISD: múltiples flujos de instrucciones aplicado a un único flujo de datos.
• MIMD: múltiples flujos de instrucciones aplicado a múltiples flujos de datos.
Clasificación de Flynn (1966)
12
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
Datos Instrucciones ↓
un dato a la vez
muchos datos a la vez
una instrucción a la vez
SISD arquitecturas Von Neumann clásicas
SIMD procesadores Vectoriales y matriciales
muchas instrucciones a la vez
MISD no se ha implementado
MIMD multiprocesadores, multicomputadores, redes
Aspectos de Hardware
13
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
• SISD (Single Instruction, Single Data)
• Es una computadora con un flujo de instrucciones y uno de datos único.
• Se refiere a las computadoras convencionales de Von Neuman. Todas las computadoras tradicionales de un procesador caen dentro de esta categoría. Ejemplo: PC’s.
• Los procesadores pipeline, se denominan SISD confluentes.
Aspectos de Hardware
14
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
• …SISD
• En estas máquinas se tiene un grado de concurrencia importante:
• Multiplicidad de unidades funcionales
• Canales de I/0
• DMA (y robo de ciclo)
• Pipeline de instrucción y de ejecución: • Técnicas de prefetching,
• Técnicas de memoria entrelazada (múltiples módulos de memoria)
Aspectos de Hardware
15
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
• …SISD
• Un único procesador central (funcionalidad completa) y múltiples procesadores elementales (fetch de datos, ejecución, enmascaramiento)
• Procesadores de arreglos
Aspectos de Hardware
16
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
• SIMD (Single Instruction, Multiple Data)
• Este tipo se refiere a ordenar procesadores con unidad de instrucción que busca una instrucción y después instruye a varias unidades de datos para que la lleven a cabo en paralelo.
• Cada una con sus propios datos.
• Es un arreglo de procesadores. Cada procesador sigue el mismo conjunto de instrucciones.
• Diferentes elementos de información son asignados a cada procesador.
Aspectos de Hardware
17
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
• …SIMD
• Utilizan memoria distribuida.
• Típicamente tienen miles procesadores simples.
• Son utilizadas en redes neuronales.
Aspectos de Hardware
18
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
• MISD (Multiple Instruction, Single Data)
• Computadoras con un flujo de varias instrucciones y un flujo de datos (clase no implementada).
• Ninguna de las computadoras conocidas se ajusta a este modelo.
• No son usadas, y no son significativas.
Aspectos de Hardware
19
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
MIMD (Multiple Instruction, Multiple Data) • Que significa un grupo de computadoras
independientes, cada una con su propio contador del programa y datos.
• Todos los sistemas distribuidos son MIMD.
• Múltiples computadoras y multiprocesadores.
• Las piezas de código son distribuidas entre los procesadores.
• Los procesadores pueden ejecutar la misma o instrucción o diferentes instrucciones.
Aspectos de Hardware
20
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
…MIMD • Se puede decir que MIMD es un super conjunto
de SIMD.
• Diferentes elementos de información se asignan a diferentes procesadores.
• Pueden tener memoria distribuida o compartida.
• Cada procesador MIMD corre casi independientemente de los otros.
• Las computadoras MIMD pueden ser utilizadas en aplicaciones con información en paralelo, o con tareas en paralelo.
Aspectos de Hardware
21
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
A
spec
tos
de
Har
dw
are
…MIMD
Característica principal: ASINCRONISMO
CUn
PU2
.
.
.
.
IS1 PU1
PUn
.
.
.
.
CU2
CU1
IS2
ISn
IS2
IS1 DS1
DS2
DSn ISn
.
.
.
.
MM1
MMn
MM2
SM
MIMD
22
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
MIMD
Computadoras Distribuidas y Paralelas
Multiprocesador Multicomputador
Memoria Compartida Memoria Distribuida (privada)
MIMD
23
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
• Un avance sobre la clasificación de Flynn incluye la división de las computadoras MIMD en dos grupos:
• Multiprocesadores: poseen memoria compartida. • Los distintos procesadores comparten el
mismo espacio de direcciones virtuales.
• Multicomputadoras: no poseen memoria compartida (Memoria distribuida). • E.g: grupo de PCs conectadas mediante una
red.
MIMD
• Esquema de Memoria Compartida
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
24
Red de interconexión
Procesadores
Módulos de Memoria
Múltiples procesadores
conectados a múltiples
módulos de memoria
Espacio de direcciones de memoria único
MIMD
• Esquema de Memoria Distribuida (Paso de Mensajes)
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
25
Red de Interconexión
Computadora Computadora
Procesadores
Memorias
Mensajes
Múltiples procesadores
conectados por una red de interconexión
Espacio de direcciones de memoria no compartido
MIMD
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
26
Arquitecturas Distribuidas y Paralelas
Memoria Compartida
SMP
Memoria Distribuida
Cluster MPP
MIMD
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
27
Arquitecturas Distribuidas y Paralelas
Memoria Compartida
SMP
Memoria Distribuida
Cluster MPP
• Symmetric Multi-Processing (SMP)
El usuario no advierte la naturaleza paralela de la máquina.
Es el sistema operativo quien administra la asignación del tiempo de CPU a los programas. En este caso dispone de mas de un procesador para realizar el scheduling.
MIMD - Memoria Compartida
MIMD
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
28
Arquitecturas Distribuidas y Paralelas
Memoria Compartida
SMP
Memoria Distribuida
Cluster MPP
• Massively Parallel Processing (MPP)
Varios procesadores conectados con una red de interconexión rápida y soporte de hardware adicional.
La memoria de una MPP es completamente distribuida, cada procesador es autocontenido con su propia cache y chips de memoria.
MIMD - Memoria Compartida
MIMD
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
29
Arquitecturas Distribuidas y Paralelas
Memoria Compartida
SMP
Memoria Distribuida
Cluster MPP
• Massively Parallel Processing (MPP)
Varios procesadores conectados con una red de interconexión rápida y soporte de hardware adicional.
La memoria de una MPP es completamente distribuida, cada procesador es autocontenido con su propia cache y chips de memoria.
MIMD - Memoria Compartida
MIMD
30
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
• Topologías de Interconexión
MIMD Arquitecturas Distribuidas y Paralelas
Multiprocesador
BUS Switched
Multicomputador
BUS Switched
Memoria Compartida Memoria Distribuida (privada)
MIMD
31
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
• Topologías de Interconexión (Memoria compartida) • Arquitecturas basadas en bus • Existe saturación del bus • Performance limitada al bandwidth del bus • Coherencia Cache
• Arquitecturas basadas en switch • Puede ser visualizada como un grilla de cables, con
switches en las intersecciones y Procesadores y Memorias en los terminales
• La única restricción para establecer comunicación es que los elementos que se quieren comunicar esten disponibles
• Max concurrencia = MIN(M,P) • Muy Cara
Procj
Mj
MIMD
32
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
• Topologías de Interconexión (Memoria distribuida)
• Redes basadas en bus
• Muy sencilla
• No escalable
• Redes basadas en switch
• Redes de interconexión Dinámica
• Redes de Switching Multistages
• Redes de interconexión Estática
Maq.i
Maq.j
MIMD
33
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
• Topologías de interconexión Estáticas (Memoria distribuida)
Maq.i
Maq.j
Única línea
Anillo Hipercubo tridimensional
Totalmente conectada
MIMD
34
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
M
IMD
• Topologías de interconexión Estáticas (Memoria distribuida)
Maq.i
Maq.j
Toroide Malla
http://www.top500.org
Tarea 02
35
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
Ta
rea
02
• Realizar un mapa conceptual que contenga la conjunción de los temas vistos desde la clase 01 hasta hoy (clase 07) *A excepción de la clase 06 (Procesamiento de imágenes BMP).
• A más tardar se debe entregar el día Domingo 29 de Agosto de 2010 a las 23:59:59 hrs.
• Incluir portada.
Características de un mapa conceptual
• Jerarquización: Se refiere a la ordenación de los conceptos más generales e inclusivos en la parte superior y mediante una diferenciación progresiva, están incluidos hacia la parte inferior los conceptos más específicos.
• Impacto visual: Debe considerar la limpieza, espacios, claridad, ortografía para reducir confusiones y amontonamientos, por ello es conveniente dibujarlos varias veces ya que el primer mapa que se construye tiene siempre, casi con toda seguridad algún defecto. También se recomienda usar óvalos ya que son más agradables a la vista que los triángulos y los cuadrados.
• Simplificación: Se refiere a la selección de los conceptos más importantes, haciendo una diferenciación del contenido y localizando la información central de la que no lo es para una mejor comprensión y elaboración de un contenido. Los conceptos, al ir relacionándose por medio de las palabras enlace, se van almacenando en la mente de modo organizado y jerárquico de manera que serán más fácilmente comprendidos por el alumno. En este sentido se pueden desarrollar nuevas relaciones conceptuales, en especial si de forma activa los alumnos tratan de construir relaciones preposicionales entre conceptos que previamente no se consideraban relacionados, ya que cuando se elaboran los mapas se dan cuenta de nuevas relaciones y por consiguiente de nuevos significados. Por tanto se puede decir que los mapas conceptuales fomentan la creatividad y facilitan la participación.
Especificación de los TAD's (Edgardo A. Franco)
36
Sist
emas
op
erat
ivo
s II
0
7 y
08
Sis
tem
as d
istr
ibu
ido
s y
par
alel
os
y ta
rea
02
Ta
rea
02