Академический Документы
Профессиональный Документы
Культура Документы
Daniel Wladdimiro
Sistemas Distribuidos
Arquitecturas Distribuidas
SISTEMAS DISTRIBUIDOS
Prof. Daniel Wladdimiro
• 3 tipos de SD:
– Computación distribuida
– Información distribuida
– Sistemas distribuidos embebidos
SISTEMAS DISTRIBUIDOS 2
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 3
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 4
Prof. Daniel Wladdimiro
Cluster
SISTEMAS DISTRIBUIDOS 5
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 6
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 7
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 8
Prof. Daniel Wladdimiro
Peer-to-Peer
• Comunicación directa
• Completamente descentralizado
• 3 tipos:
– estructurada
– no estructurada
– híbrida
SISTEMAS DISTRIBUIDOS 9
Prof. Daniel Wladdimiro
Peer-to-Peer
• Ejecución de programas que no se pueden ejecutar de
manera centralizada
• Compartición de recursos de cálculo
• Descomposición de la aplicación en micro-tareas
– Seti@home (astronomia)
– genome@home (ADN)
– folding@home (proteinas)
SISTEMAS DISTRIBUIDOS 10
Prof. Daniel Wladdimiro
SETI@Home
• Cálculo masivo y paralelo
• Radio astronomía
– SETI: Search for Extra-Terrestrial Intelligence
– Análisis de datos recolectados
– Explota los recursos no utilizados de los usuarios vía
Internet
SISTEMAS DISTRIBUIDOS
Prof. Daniel Wladdimiro
SETI@home
• 3.8M usuarios en 226 países
• 38 TeraFlops
• 1.7 Zetaflops (10^21) en los últimos años
• Heterogéneos
– 77 tipos de procesadores
SISTEMAS DISTRIBUIDOS 12
Prof. Daniel Wladdimiro
Folding@home
• Cálculo masivo paralelo
• Plegamiento de proteínas
• Estudios de enfermedades
– Alzheimer, fibrosis quística, EBS (vaca loca), cáncer
– Orden de petaflops (10^15)
– PS3 pueden ser usadas
SISTEMAS DISTRIBUIDOS 13
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 14
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 15
Prof. Daniel Wladdimiro
Home systems
SISTEMAS DISTRIBUIDOS 16
Prof. Daniel Wladdimiro
Salud y cuidado
SISTEMAS DISTRIBUIDOS 17
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 18
Prof. Daniel Wladdimiro
Smartcities
SISTEMAS DISTRIBUIDOS 19
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 20
Prof. Daniel Wladdimiro
Smartcities
• Smart Parking
• Structural Health
• Noise Maps
• Electronic Fields
• Traffic congestión
• Smart Lighting
• Waste management
• Smart roads
SISTEMAS DISTRIBUIDOS 21
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 22
Prof. Daniel Wladdimiro
Arquitecturas Distribuidas
SISTEMAS DISTRIBUIDOS 23
Prof. Daniel Wladdimiro
Arquitecturas Distribuidas
• Sistema distribuido: reparte sus componentes en
diferentes máquinas
• Aumento de complejidad en su manejo
• Buena organización para funcionar: arquitectura
SISTEMAS DISTRIBUIDOS 24
Prof. Daniel Wladdimiro
Arquitecturas
• Centralizadas
• Descentralizadas
• Híbridas
• Pervasivas
SISTEMAS DISTRIBUIDOS 25
Prof. Daniel Wladdimiro
1. Centralizadas
SISTEMAS DISTRIBUIDOS 26
Prof. Daniel Wladdimiro
Arquitectura C/S
• Clientes: proceso que solicita un servicio
• Servidores: proceso que implementa un servicio en
específico
• Como?
– Paso de mensajes (interacción request-reply)
SISTEMAS DISTRIBUIDOS 27
Prof. Daniel Wladdimiro
Arquitecturas C/S
SISTEMAS DISTRIBUIDOS 28
Prof. Daniel Wladdimiro
Cliente / Servidor
• 3 Niveles
– Interfaz usuario
– Procesamiento
– Datos
• Ejemplo: Web Search Engine (WSE)
SISTEMAS DISTRIBUIDOS 29
Prof. Daniel Wladdimiro
Cliente / Servidor
SISTEMAS DISTRIBUIDOS 30
Prof. Daniel Wladdimiro
Cliente / Servidor
• Multiples opciones de distribución
– Cliente implementa programas a nivel interfaz usuario
– Servidor contiene el resto, procesamiento y datos
• Todo manejado por el servidor y cliente es “dump”
SISTEMAS DISTRIBUIDOS 31
Prof. Daniel Wladdimiro
Cliente / Servidor
SISTEMAS DISTRIBUIDOS 32
Prof. Daniel Wladdimiro
Cliente / Servidor
• Tendencia a mantener el procesamiento en el lado del
servidor
– Mucha responsabilidad en el cliente
– Manejo del cliente es más difícil
• Mas sensible a errores
• Fat clients no son la opción ideal
• Thin clients es mejor
SISTEMAS DISTRIBUIDOS 33
Prof. Daniel
Prof.Wladdimiro
Nicolas Hidalgo
Cliente / Servidor
• Thin clients
– Similar a un network computer, pero TODOS los
procesos se ejecutan en el servidor
– Ejemplos: X11, VNC, Citrix
TALLERSISTEMAS DISTRIBUIDOS
DE SISTEMAS DISTRIBUIDOS 34
Prof. Daniel Wladdimiro
Cliente / Servidor
• Arquitectura de 3 capas
– Servidor puede actuar como un cliente
– los programas del nivel de procesamiento residen en
diferentes máquinas
– e.g. Web sites
SISTEMAS DISTRIBUIDOS 35
Prof. Daniel Wladdimiro
Cliente / Servidor
SISTEMAS DISTRIBUIDOS 36
Prof. Daniel Wladdimiro
Cliente / Servidor
SISTEMAS DISTRIBUIDOS 37
Prof. Daniel Wladdimiro
Cliente / Servidor
SISTEMAS DISTRIBUIDOS 38
Prof. Daniel Wladdimiro
Cliente / Servidor
SISTEMAS DISTRIBUIDOS 39
Prof. Daniel Wladdimiro
Cliente / Servidor
SISTEMAS DISTRIBUIDOS 40
Prof. Daniel Wladdimiro
2. Decentralizadas
SISTEMAS DISTRIBUIDOS 41
Prof. Daniel Wladdimiro
Peer-to-Peer Networks
SISTEMAS DISTRIBUIDOS 42
Prof. Daniel Wladdimiro
Peer-to-Peer (P2P)
• Definición [Schollmeier 01]
Una arquitectura de red distribuida puede ser llamada P2P si los
participantes comparten una parte de sus recursos. Ellos son
accesibles por otros pares directamente, sin pasar por entidades
intermediarias
• Colaboración y compartición de recursos a gran
escala
• Potencial de tener millones de nodos
• Participantes son simétricos
SISTEMAS DISTRIBUIDOS 43
Prof. Daniel Wladdimiro
C/S vs P2P
SISTEMAS DISTRIBUIDOS 44
Prof. Daniel Wladdimiro
Propiedades
• Características principales:
• Altamente escalables
• 100% descentralizado, no hay cuellos de botella
• Auto-organizados, participantes autónomos
• Conocimiento local
• Tolerancia a fallos (no hay un punto único de falla)
• Conexión y participantes no confiables
SISTEMAS DISTRIBUIDOS 45
Prof. Daniel Wladdimiro
Que es un Overlay?
• Es una red de computadores construida sobre otra
red
SISTEMAS DISTRIBUIDOS 46
Prof. Daniel Wladdimiro
Tipos de Overlays
• Estructuradas
• No Estructuradas
• Híbridas o SuperPeers
SISTEMAS DISTRIBUIDOS 47
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 48
Prof. Daniel Wladdimiro
Redes estructuradas
• Construidas con proceso deterministico
• Tienen estructura bien definida
• Se utilizan tablas de hash distribuidas para su
generación
• Capaces de escalar a los cientos de millones de
participantes
• Proveen de búsquedas completas
SISTEMAS DISTRIBUIDOS 49
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 50
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 51
Prof. Daniel Wladdimiro
Redes estructuradas
• Búsqueda eficiente y escalable (log N)
• Mapeo a espacio lógico por medio de hash tipo sha-1 o
md5
• Ruteos diferentes dependiendo de la geometría del
overlay
– Tree
– Hypercube
– Butterfly
– Plaxon trees
SISTEMAS DISTRIBUIDOS 52
Prof. Daniel Wladdimiro
Problemas?
• Alta latencia en búsqueda, por qué?
• Poca seguridad, por qué?
• Solo búsquedas puntuales o exactas, por qué?
SISTEMAS DISTRIBUIDOS 53
Prof. Daniel Wladdimiro
Chord
• Organización del tipo anillo -> 0 … 2m
– Cada peer posee un identificador generado con un SHA-1
(consistent Hash)
– Node id: SHA (IP Address+puerto)
– Recurso id (key): SHA(recurso)
• Auto-organizado
• Mantenimiento caro, (log N)2
• Ruteo de mensajes del tipo árbol
SISTEMAS DISTRIBUIDOS 54
Prof. Daniel Wladdimiro
Chord
• Asignación de recursos -> Sucesor de la key
• Asignación en sentido del reloj (uni-direccional)
• Peer Entra (Join):
– Se hace responsable de un grupo de recursos (sucesor)
– Recibe recursos
• Peer deja la red (leave):
– Entrega recursos al nuevo sucesor
SISTEMAS DISTRIBUIDOS 55
Prof. Daniel Wladdimiro
Chord
• Join/leave crean inconsistencias en tablas
• Reparación es costosa, protocolo de estabilización
• Como se detectan las caídas?
– Heart beats messages
• Guarda replicas en S sucesores
SISTEMAS DISTRIBUIDOS 56
Prof. Daniel Wladdimiro
Join
• Rutea su identificador
• Contacta al sucesor de su identificador
• Consistencia de tablas
– Sucesor entrega información de su antecesor
– Sucesor agrega a nuevo peer como antecesor
• Distribuye los recursos de los cuales es responsable el
nuevo peer
SISTEMAS DISTRIBUIDOS 57
Prof. Daniel Wladdimiro
Búsqueda
• Cada peer conoce su sucesor en el anillo
• Modelo simple de búsqueda
– seguir links a sucesores
• Eficiente?
• Cual es la complejidad?
SISTEMAS DISTRIBUIDOS 58
Prof. Daniel Wladdimiro
Búsqueda
• Que podemos hacer para mejorarla?
– Agregar información
– Fingertable
• Fingertable: tabla que contiene información acerca de
log m peer en la red
• Que permite?
– Saltar peers y acercarse más rápido al peer responsable
SISTEMAS DISTRIBUIDOS 59
Prof. Daniel Wladdimiro
Búsqueda
• Objetivo encontrar el sucesor de la clave en cuestión
• Métrica?
– Cercanía entre identificadores
SISTEMAS DISTRIBUIDOS 60
Prof. Daniel Wladdimiro
Pastry
• Organizado en anillo
• Topología ruteo Plaxon-Tree
• Ruteo basado en prefijo
• Identificador de 128 bits generado con hash SHA-1
• Espacio 0 - 2128
• Ruteo Log(N) saltos al destino -> Escalable?
SISTEMAS DISTRIBUIDOS 61
Prof. Daniel Wladdimiro
Tabla de Pastry
• Leafset
• Routing Table
• Neighbours set
SISTEMAS DISTRIBUIDOS 62
Prof. Daniel Wladdimiro
Pastry Leafset
• Pastry guarda L peers llamados leafsets nodes
• Para un peer X, su leafset esta compuesto por los
—L/2 y L/2 peers en el anillo
• Para que?
– Balance de carga
– Tolerancia a fallos
– Replicas
– Multi-path search
SISTEMAS DISTRIBUIDOS 63
Prof. Daniel Wladdimiro
Tabla de Ruteo
• Organizada por prefijo
• Fila i contiene aquellos ids de peer que comparten un
prefijo de tamaño i
• Ruteo por prefijo asegura acercarse sucesivamente a
la clave buscada
• Más prefijos en común, más cerca del destino
SISTEMAS DISTRIBUIDOS 64
Prof. Daniel Wladdimiro
Tabla Vecinos
• Peer cercanos en términos de latencia
• Útiles para generar búsquedas diversas en caminos
• Como se genera?
– Ping para estimar latencia o simplemente IP
SISTEMAS DISTRIBUIDOS 65
Prof. Daniel Wladdimiro
Busqueda Pastry
SISTEMAS DISTRIBUIDOS 66
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 67
Prof. Daniel Wladdimiro
No estructuradas
• Redes no estructuradas
• Estructura aleatoria
• Conocimiento local
• Métodos de búsqueda basado en inundación de
mensajes o Flooding
• Gran autonomía
• Nadie a quien demandar!!
SISTEMAS DISTRIBUIDOS 68
Prof. Daniel Wladdimiro
Topología
SISTEMAS DISTRIBUIDOS 69
Prof. Daniel Wladdimiro
• Problema?
– Limitar conexiones para balancear la carga (versión 0.4
Gnutella 5 conexiones)
SISTEMAS DISTRIBUIDOS 70
Prof. Daniel Wladdimiro
Búsquedas
• Incompletas
• Poco eficientes, muchos mensajes!
• Comparación de string, gran expresividad!
• Completamente descentralizada
• Efectivo en contenido popular
• Difícil encontrar contenido no popular
• Búsqueda no garantiza encontrar resultado
SISTEMAS DISTRIBUIDOS 71
Prof. Daniel Wladdimiro
Recursos
• Se almacenan en peers aleatorios
• Recursos pueden quedar lejos de los peers
– max TTL=7 en Gnutella 0.4
• Búsquedas más profundas! más mensajes!
• Caching: Problema de investigación
– Donde localizarlo?
SISTEMAS DISTRIBUIDOS 72
Prof. Daniel Wladdimiro
Tipos de Búsquedas
• Flooding o inundación de mensajes
– Mensaje enviado a todos los participantes conocidos
– Poco eficiente
– Calidad resultados vs # mensajes
– Problemas de escalabilidad, por que?
– Poco realista, red de millones de usuarios
– Existen otras alternativas? Si!
SISTEMAS DISTRIBUIDOS 73
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 74
Prof. Daniel Wladdimiro
Iterative Deeping
• Multiple y secuenciales BFS
• Expanding Ring
• Comienza con búsquedas poco profundas
• De no encontrar el recurso itera y prueba mayor
profundidad
• Se puede optimizar:
– Nodos en el camino de profundidad p1 almacenan por un tiempo
en cache la pregunta
– Si no encuentra , se reenvía a profundidad p2-p1
– Guardar por un tiempo la consulta evita mensajes repetidos
SISTEMAS DISTRIBUIDOS 75
Prof. Daniel Wladdimiro
Directed BFS
• Se elige un subconjunto de los vecinos y se envía el
mensaje
• Trata de adivinar que vecino es más probable que
responda
– Random
– Resultados con menos saltos
– Más mensajes recibidos
– Más vecinos
– Menor latencia, etc.
SISTEMAS DISTRIBUIDOS 76
Prof. Daniel Wladdimiro
Local Indexes
• “Radius of Knowledge”
• Qué archivos tienen mis vecinos y los vecinos de mis
vecinos
• Todos los nodos conocen el radio
• Problemas de memoria para mantener las listas
• Construir la lista, extra overhead!
SISTEMAS DISTRIBUIDOS 77
Prof. Daniel Wladdimiro
Random Walks
• Diferente a BFS
– mensajes enviado a un vecino aleatorio
• Si se pilla el recurso retorna un hit, sino el proceso se
repite hasta TTL max
• Donde ir se evalúa de manera random en cada paso
• Ciego y sin memoria
SISTEMAS DISTRIBUIDOS 78
Prof. Daniel Wladdimiro
Random Walks
• Basado en que la información es abundante y
uniforme
• Random walk básico utiliza un walker
• Ventaja disminuye el número de mensajes
• Aumenta latencia, esperar respuestas
SISTEMAS DISTRIBUIDOS 79
Prof. Daniel Wladdimiro
K-Random Walk
• Multiples random walks paralelos
• Disminuye latencia
• Variantes
– Adaptative Probabilistic Search (APS)
– Id-based, envía solo al que no ha ruteado la consulta
– Two-Level Random Walk, K1 random walkers por un TTL
T1, luego K2 random walkers por TTL T2
SISTEMAS DISTRIBUIDOS 80
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 81
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 82
Prof. Daniel Wladdimiro
Super-Peers
• Encontrar información en una red no estructurada es
problemático
• No hay proceso determinístico para encontrar un
recurso en específico
• Solución?
– Indice
• Donde?
SISTEMAS DISTRIBUIDOS 83
Prof. Daniel Wladdimiro
Super-Peers
• Ya no tenemos la simetría de los otros overlays
• Super peers son peer con mayores capacidades o roles
especiales
– Procesamiento
– Ancho de banda
– Estabilidad
• Organización Jerárquica
SISTEMAS DISTRIBUIDOS 84
Prof. Daniel Wladdimiro
Super-Peers
• Peers regulares conectados a Super peer (SP)
• Toda la comunicación va a través del súper peer
• Relación estable con súper peer
• SP larga sesión
• SP alta disponibilidad
• Inestabilidades?
SISTEMAS DISTRIBUIDOS 85
Prof. Daniel Wladdimiro
Super-Peers
• Es beneficioso conectarse al mismo SP?
– No siempre, e.g. FileSharing
– Estrategias para asignación dinámica a SP
• Que nodos son candidatos a SP?
• Como los Elegimos?
– Algoritmos de elección
SISTEMAS DISTRIBUIDOS 86
Prof. Daniel Wladdimiro
Skype
SISTEMAS DISTRIBUIDOS 87
Prof. Daniel Wladdimiro
3. Híbridas
SISTEMAS DISTRIBUIDOS 88
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 89
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 90
Prof. Daniel Wladdimiro
Nanodatacenters
– Set Top Boxes (STBs)
– Controlados por ISP
– Muchos disponibles (160 M on US)
– Gran cantidad de recursos
– Peers estables y seguros
SISTEMAS DISTRIBUIDOS 91
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 93
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 94
Prof. Daniel Wladdimiro
SISTEMAS DISTRIBUIDOS 95
Prof. Daniel Wladdimiro
4. Pervasivas
SISTEMAS DISTRIBUIDOS 96
Prof. Daniel Wladdimiro
MANETS
• Mobile Adhoc Networks
• Redes móviles punto a punto
• Auto-organizada
• Sin topología definida: movilidad!
• Conexión a través de WIFI, 3G o Bluetooth
• Redes locales, limitadas al alcance del medio de
comunicación
SISTEMAS DISTRIBUIDOS 97
Prof. Daniel Wladdimiro
Escenarios MANET
• Militar
• Vehículos (VANETS)
• Emergencias: Rescates
SISTEMAS DISTRIBUIDOS 98
Prof. Daniel Wladdimiro
Escenarios MANET
SISTEMAS DISTRIBUIDOS 99
Prof. Daniel Wladdimiro
Escenarios DTN
• Alta latencia/ baja tasa de datos
• Desconexiones intermitentes
• Bajo consumo de energía
• Cuando?
– Desastres naturales
– Comunicaciones espaciales
Problemas?
• Protocolos de comunicación simples
• Manejo de particiones
• Procesamiento limitado
• Energía
• Consultas puntuales?
Escenarios WSN
• Los anteriormente presentados:
– Monitoreo en general para toma de decisiones
Fin