Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Taller de Sistemas

Resumen general del curso
by

Rodrigo Jara

on 10 April 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Taller de Sistemas

Taller de Sistemas
Distribuidos

design by Dóri Sirály for Prezi
Objetivos
Un sistema distribuido permite un mejor rendimiento, mayor fiabilidad y disponibilidad.
Escalabilidad y crecimiento incremental.
Sistemas P2P
Centralizados: Sistemas de cómputo se realiza en una unidad central. Todos los periféricos se conectan a ella. Más control y es fácil de mantener. Puede ser muy lento en responder.
Distribuidos: Colección de computadores se parados físicamente pero conectados por una red. El usuario lo ve como un único sistema.
Búsquedas complejas e índices P2P
P2P es completamente descentralizado.
Auto-organizado.
Tolerante a fallas.
Escalable.
Consultas complejas en P2P
DHT
Portable, alta latencia, alto tráfico, problamas de balance.
Definición
No es mas que una colección independiente de computadores separados geográficamente que que al usuario aparenta ser un único sistema.
Características
Comparte o distribuye recursos o carga.

Transparente
: Oculta distribución de hardware y sistemas.
La transparencia no se logra en un 100%, es re-dificil. Ocultar fallas de nodos o caídas, o si la operación se terminó antes de caerse no sabemos.
Debe ser capaz de interactuar con variados sistemas (hardware, lenguaje (distinta representación), plataforma)
Apertura
: Potenciar la homogeneidad en un ambiente heterogéneo.

Escalabilidad
: Mantener rendimiento al aumentar la carga.
Hay que mantener una cache actualizada.
Buenas políticas de seguridad
La escalabilidad se analiza en términos de: Cantidad de usuarios, distancia entre nodos, y dominios administrativos. Pero es difícil de cumplir.
Escalabilidad
Apertura
Transparencia
Escalemos
Distribuir datos y cómputos.
Replicar los datos.
Sincronizareis vuestros datos sino produciréis inconsistencias.
Cache.
Actualiza esta memoria inteligentemente
MIDDLEWARE: Software de conectividad que ofrece conjunto de servicios que posibilitan
aplicaciones distribuidas
sobre
plataformas heterogéneas.
Arquitecturas
Paso mensaje
: A emite mensaje a B a través de un canal, B analiza y responde. A puede emitir otro.
Cliente Servidor
: Cliente solicita servicio y el servidor lo provee. (Sistema centralizado). Pueden haber n servidores. También se le puede poner una cache (proxy), ya que es muy caro consultar directamente en el servidor. C/S deben ponerse de acuerdo al modo de codificación.
Peer to peer
: Nodos cambian de roles C/S
Modelos
Existe dificultad: Externos (seguridad), Internos (coordinación), varios sistemas y modos de uso.
Su planificación se modela.
Modelo de Interacción
Describe interacción entre las partes.
Es difícil saber él tiempo de ocurrencia de las acciones.
Difícil sincronización (no hay reloj global).
Si es síncrono el tiempo de ejecución es limitado. Uso de time out.
Asíncrono transmite en cualquier momento. (Es mas usado)
Modelo de Fallas
Siempre se producen fallas, se piensan de antemano.
Fallas por omisión: Tiempo fuera o caída de transmisión.
Arbitrarias: Puede ocurrir cualquier cosa.
Modelo de Seguridad
Garantiza acceso seguro a sistemas.
Existen muchas amenazas externas.
Redes e interconexión
Rendimiento se ve en términos de latencia y tasa de transferencia.
Switching: Define como se transmite la información.
Broadcast
: Un paquete se transmite a todos los nodos.
Circuitos en demanda
.
Paquetes
: Por ejemplo correos.
Routing
: Elección de la mejor ruta
(P2P) No Estructurada.
Inundación, caminos aleatorios, tabla de vecinos.
(P2P) Estructurada.
Tablas de hash.

Comunicación
Básicamente es enviar y recibir mensajes manteniendo su integridad y el orden en que se envía.
Sockets
Forma de enviar y recibir datos usando un puerto y una IP asociados a un protocolo.
RPC
Protocolo que permite ejecutar código en una máquina remota
Marshalling
: Transformación de los datos a un formato adecuado
Comunicación síncrona
: C/S ligados(activos) hasta que la comunicación acabe. Los mails no funcionan así.
De las experiencias
El sistema debe ser simple, automático, usar herramienta adecuada, usar caching donde corresponda, disponibilidad y consistencia.
La escalabilidad es esencial.
Hay que tener mecanismos de tolerancia a fallos.
Hay que tener una buena arquitectura.
Requerimientos cambian.
Replicación y tolerancia a fallos
La disponibilidad se consigue: replicando, siendo tolerante a fallas y mejorando el hardware. Aún así, siempre fallan.
La replicación conlleva a mantener la transparencia y la coordinación.
¿Que xuxa afecta el rendimiento de un... requerimiento?
Nº Administradores.
Coordinación.
Ejecución.
Acuerdo.
Respuesta:

Nombramiento
Nombres (inyectivos) consistentes (cadena de letras) para para referenciar impresoras, discos, archivos, lo que quieras viejo!.
El nombre es independiente de la dirección, me cambio de casa, pero mantengo el mismo nombre.
C/S vs P2P
Controlado.
Centrado en el servidor.
Búsqueda estructurada.
Recursos estáticos.
Procesamiento RPI/RMI.
No controlado.
No hay un ente central.
No es estructurado.
Recursos dinámicos.
Por mensajes.
Es escalable, sin cuellos de botella, auto-organizado, múltiples dominios de administración, autónoma, no hay punto único de falla.
Cálculo masivo y paralelo (comparte cómputo y micro-tareas)
Colaboración para relacionar (Skype, chat, etc), es algo insegura si.
Compartición y repartición de recursos (archivos o servicios).
Publish/Suscribe: Multicash, escalable, eficiente.
Caching: Balance de cargas entre participantes. Escalable.
What is Hash??
Convierte una entrada en una salida finita en forma de clave.
Bajo costo, comprime, inyectivo, determinista.
Utilizado para algoritmos de cifrado, autenticación y control de acceso, huellas digitales, checksum (verificación de pérdidas)
Función Hash
Tablas de hash permiten búsquedas eficientes
Operaciones
Join (nuevo peer), leave (peer deja red), lookup (mensaje de búsqueda).
Overlay P2P
Red construida sobre otra
No estructurada
Estructurada
Sin topología, búsqueda compleja incompleta, problemas de escalabilidad.
Balance mejor de carga, búsqueda completa (no compleja), topología definida.
Conecta n ordenadores, comparte aleatoriamente, doble rol (C/S), la info se busca mediante buscadores, es atractivo =).
Endereza la cabeza amigo mío!
Existen problemas legales.
Seguridad dudosa.
Latencia.
Pérdida de mensajes.
"Para todo bolsillo", no es tan seguro, alta latencia y los mensajes se pueden perder =/ . Considéralo.
Quieres usar P2P?
Aplicaciones
Tipo de búsqueda
Inundación (a todos los conocidos).
BFS: Inundación controlada.
Iterative Deeping: Aumenta profundidad poco a poco.
Índices locales: Se basa en la información que proveen los vecinos.
Chord
Topología tipo anillo.
Cada peer posee identificador.
Caro mantenimiento.
Join/Leave pueden generar inconsistencias.
Reparación costosa.
Guarda r sucesores por si alguno falla.
Chord Join
Rutea ID.
Contacta al sucesor de su ID (al mas cercano).
Es unidireccional.
Pastry
Organizado en anillo.
Ruteo se basa en prefijo.
Búsqueda
Leafset
Pastry guarda L peers (L/2 para cada lado).
Routing Table
Organizada por prefijo.
Neighbour set
Peer cercanos en términos de latencia.
Para que te quede claro!!
DHT Overlays es eficiente (log n).
Buen balance de carga.
Escalable.
Topología bien fuerte y definida.
Mensaje es enviado al nodo mas cercano.
Routing: Tree, butterfly, etc.
Eficiente, escalable, balanceado, busqueda completa.
Caro de mantener.
Búsqueda exacta.
DHT Modificado
Replicación.
Problemas de balance y escalabilidad.
Sobre DHT.
Índice adicional.
Alta latencia y tráfico.
Problemas de balance.
Conocido como
Prefix Hash Tree (PHT)
Búsqueda secuencial y paralela.
Puede que no lo encuentre.
No DHT
Prblemas de balance.
Escalabilidad limitada.
Variaciones
PORQUE
ECHO
Anillo adicional, reduce latencia y balance, independiente de la distribución.
Desvía consultas directas al anillo, reduce cuellos de botella, recolecta info mediante consultas y vecinos.
Reduce tráfico, latencia y mantenimiento, mejora balance.
MAAN
Es una extensión de CHORD.
Pre-conocimiento de datos a indexar.
Balance de carga pésimo!!
Join muy costoso.
MERCURY
Consulta multi-atributos.
Habs son nodos que almacenan datos con atributos.
Sistemas explícitos de balance.
Replica Aware
Explota vecinos (de barrio).
Soporta múltiples atributos.
Alto costo de mantenimiento.
Baja replicación.
Yarqs
Crea red de cache usadas como índice.
Búsqueda aproximada.
Las buenas respuestas toman tiempo.
Rodrigo Jara C.
Full transcript