Agenda
Introducción
Definiciones básicas
Tendencias
Conclusiones
Investigación ITM
Evolución de la Computación
50’s-70’s: “Una computadora múltiples usuarios”
80’s-90’s: “Una computadora un usuario”
2000’s: “Un usuario múltiples computadoras”
Actualmente la información es totalmente distribuida, aunque los datos centralizados se siguen utilizando.
¿Qué es un Sistema Distribuido?
“Es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora” (Principio de transparencia)
¿Qué es un sistema?
Componentes de Hardware (Procesadores, mecanismos de interconexión)
Componentes Software (programación de sistemas y aplicaciones)
Arquitecturas de cómputo
Taxonomía de Flynn:
SISD (Single Instruction Single Data) Procesador único.
SIMD (Single Instruction Multiple Data). Procesadores vectoriales (multimedia)
MISD (Multipe Instruction Single Data). No implementada
MIMD (Multiple Instruction Multiple Data). Cómputo distribuido
Cómputo Distribuido
La distribución del cómputo puede realizarse de diversas formas de acuerdo a su grado de acoplamiento en:
Fuertemente acopladas: Multiprocesadores (memoria compartida). UMA (Uniform Memory Acces)
Débilmente acopladas: Multicomputadoras (memoria privada). NUMA (Non Uniform Memory Access)
Tarjeta madre
Sistemas multiprocesadores
CPU 1
CPU n
CPU 2
Memoria
Modelo de n procesadores
CPU
N1
Nn
Memoria
Modelo de n núcleos
…
…
Cómputo de Alto Desempeño
Sistemas multicomputadoras
Están basados en el modelo cliente/servidor
Este modelo se basa en un protocolo solicitud – respuesta. El cliente envía una solicitud de cierto servicio al servidor, el servidor realiza el trabajo y regresa el resultado de la operación.
La principal ventaja de este protocolo es su sencillez, únicamente se necesita la ubicación del servidor.
Sistemas Distribuidos
Cliente
Servidor
Solicitud
Respuesta
Modelo Cliente/Servidor Tradicional
Cliente 1
Servidor
Modelo Cliente/Servidor Concurrente
Cliente
Proxy en el lado cliente
Modelo Cliente/Servidor de n capas
Cliente
Proxy en el lado servidor
Cliente n
.
.
Sistemas Distribuidos
P2P (Peer to Peer) los procesos son totalmente descentralizados, funcionan como clientes y servidores a la vez, existen diversas arquitecturas.
Cluster es una agrupación de computadoras intercomunicadas entre sí a través de un nodo central y cuyo objetivo es realizar una tarea específica.
Grid computing es muy parecido a P2P y al cluster.
Sistemas Distribuidos
Grid computing se parece al cluster en que consisten en una asociación de computadoras con la única diferencia de que no existe un nodo centralizador. Está característica lo asemeja a P2P.
La idea del grid es que el poder de cómputo siempre esté presente a semejanza de la red eléctrica.
Esto a dado pie al software bajo demanda.
Sistemas Distribuidos
C1
C2
Cn
P2P
Simétrico
C0
Coordinador
C1
C2
Cn
…
Cluster
Asimétrico
Planificador
CPU
Memoria
Disco
C1
Planificador
CPU
Memoria
DISCO
C2
Planificador
CPU
MEMORIA
Disco
Cn
.
.
.
Grid computing
Evolución de Sistemas Distribuidos
Esquema básico de Arpanet en 1969 Amoeba
Cómputo paralelo
¿Es el cómputo paralelo un sistema distribuido?
Sí y No. Depende de la implementación.
Los objetivos de la programación en paralelo son:
Reducir el tiempo de procesamiento utilizado por un algoritmo convencional
Reducir la complejidad del algoritmo
Paralelismo
A
B
C
D
A
B
C
D
P1
P2
P3
P4
Homoparalelismo
A
B
C
D
A
B
C
D
P1
P2
P3
P4
Hetereoparalelismo
Paralelismo
El problema del paralelismo radica en que muchos algoritmos no pueden paralelizarse (son seriales o secuenciales).
Existen dos tecnologías principales para realizar paralelismo:
PVM (Parallel Virtual Machine)
MPI (Message Passing Interface)
Página siguiente |