Sistemas Distribuidos

Slides:



Advertisements
Presentaciones similares
Inteligencia Artificial Búsqueda informada y exploración
Advertisements

Seminario de Actualización - Excel Avanzado y Macros
Sistemas Distribuidos
Concurrencia: Exclusión Mútua y Sincronización
Sincronización de Procesos Semáforos Emely Arráiz Ene-Mar 08.
SINCRONIZACIÓN EN SISTEMAS DISTRIBUIDOS Tema # III Sept-Dic 2008 Yudith Cardinale.
4.1 Continuidad en un punto 4.2 Tipos de discontinuidades 4.3 Continuidad en intervalos.
 El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos  Mantener la consistencia de los datos requiere mecanismos para asegurar.
Sincronización de Procesos Conceptos Problema SC Soluciones Software Soluciones Hardware Emely Arráiz Ene-Mar 08.
Sincronización y Latecomers
Sincronización de Procesos
Sincronización de Procesos
TCP/IP Error Message Módulo 8 Semestre 2 CCNA. Capítulo 9, TCP/IP Forouzan.
Sincronizacion de Procesos Distribuidos
Sincronización de Relojes
Essential ?: How do I say what multiple people are doing.
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Bd NoSQL Técnicas PROFA. MERCY OSPINA
Applications Development I 6.1 Foro Tomas Anzalotta Alvarado.
AYUDANTÍA 2 Lenguaje Imperativo y Java. Punteros Dirección a memoria (puede apuntar a NULL). Permite trabajar con memoria (variables dinámicas de heap).
ESTRUCTURAS DE DATOS Y ALGORITMOS Samuel Peñaló
Sistemas Distribuidos Jueves, 19 de enero ● Virtualización de redes ● Comunicación indirecta.
1 Universidad Del Caribe Telemática Sistemas Operativos Distribuidos y de Tiempo Real “Modelos de Sistemas” Profesor: Joel Antonio Trejo Sánchez Integrantes:
Subredes José Luis García Aparici. ¿Qué es una subred? Cuando una red de computadoras se vuelve muy grande, conviene dividirla en subredes, por los siguientes.
Manejo de Status TEA V.6 Estatus Tralix El estatus del mensaje se establece mediante un código que regresa el servidor al que se le hace.
4.4 COMUNICACIÓN CONFIABLE EN GRUPO Sistemas operativos II José Patricio González Cervantes Gerardo Sierras Vasquez.
Paul Leger Modelo OSI Paul Leger
Internet Protocols (IPs)
Sistemas Distribuidos
Semáforos y Comunicación entre Procesos
DNS Domain Name System.
Teleprocesos Ing. Leonardo Párraga.
Conmutación de Ethernet
SISTEMAS OPERATIVOS Sección Crítica.
UNIDAD III: LAS TIC COMO FUENTES DE INVESTIGACION y DIFUSION DE INFORMACION Objetivo: Conocer y aplicar adecuadamente los principios básicos de estructura.
Para conectarse a Internet
Protocolo de comunicación
sección escuchada del examen final del primer semestre
Recursos digitales para los padres de familia
Exclusión mutua de secciones
Comunicación de redes informáticas
REDES DE COMPUTADORAS SEGÚN TOPOLOGIA
Capítulo 5: Capa Enlace de Datos IV
REDES DE COMPUTADORAS SEGÚN TOPOLOGIA
L.I. Gerardo Ortiz Rivera
REDES DE COMPUTADORAS SEGÚN TOPOLOGIA
CONOCIMIENTOS PREVIOS
Clasificación de las redes de computadoras
Exclusión mutua Un Algoritmo Centralizado Algoritmo Descentralizado
UJED. CCH. TEMA: REDES… NOMBRE ALUMNO: JESUS PABLO FLORES GUZMAN
Sincronización de Procesos
CODIFICACION DEL CANAL
Sistemas Operativos Semáforos II.
How to Log in to RosettaStone and Install the Speech Component
Capítulo 1 Mis amigos y yo.
Message Passing Interface
DEFINICION DE TOPOLOGIAS DE RED La topología de red se define como la cadena de comunicación usada por los nodos que conforman una red para comunicarse.
¿Qué hora es?.
Miranda Rights El Aviso Miranda
ALGORITMOS DE ELECCION
MONITORES INTEGRANTES: Arias Marcelo Tnt. Espín Roberto Tnt. Rosero Santiago.
1 TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño.
El hígado en la enfermedad sistémica: sepsis y enfermedad crítica
Axcel Sting Anchante Mosayhuate.. Qué aspecto tienen los sistemas operativos por fuera (es decir, la interfaz con el programador), ha llegado el momento.
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
Estructura de los Sistemas Operativos
Modbus RTU. ¿Qué es el protocolo Modbus RTU? El protocolo Modbus RTU es un medio de comunicación que permite el intercambio de datos entre los controladores.
Exclusión Mutua Repaso Tema relacionado a la sesión anterior: Sincronización del reloj.
Transcripción de la presentación:

Sistemas Distribuidos Jueves, 9 de febrero Coordinación y acuerdo

Coordinación y acuerdo Requerimientos: Un grupo de procesos deben coordinar sus acciones Un grupo de procesos deben ponerse de acuerdo en cuanto al valor de una o más variables Premisas fundamentales en sistemas distribuidos

Detección de fallos Se asume que cada par de procesos está conectado a través de canales confiables i.e., aunque se produzcan fallos en la red, un protocolo de comunicación enmascara esos fallos, por ejemplo, retransmitiendo mensajes perdidos o corruptos Ningún proceso depende de otro para el envío de mensajes

Detección de fallos (2) En un canal confiable, el destinatario eventualmente recibe el mensaje en su búfer de entrada En un sistema sincrónico, se asume también que el mensaje va a ser recibido dentro de un lapso de tiempo determinado En un intervalo particular, la comunicación entre algunos procesos puede tener éxito mientras que entre otros podría estar demorada

Partición de la red

Conectividad asimétrica En redes punto-a-punto como Internet, la comunicación podría ser asimétrica Comunicación es posible del proceso p al q, pero no viceversa La conectividad podría también ser intransitiva Comunicación es posible del proceso p al q, y del q al r, pero p no podría comunicarse directamente con r La suposición de confiabilidad asegura que eventualmente los procesos se comunicarán, aunque la comunicación no se dé al mismo tiempo

Caídas Un proceso sólo falla si se cae Un proceso correcto es el que no presenta fallos en ninguna parte de su ejecución ¿Cómo decidimos si un proceso se cayó? Detectores de fallos Detectores de fallos locales La mayoría son no confiables Regresan 2 posibles valores: Unsuspected o Suspected Los detectores confiafles Regresan 2 posibles valores: Unsuspected o Failed

Detector no confiable Cada proceso envía un mensaje “p is here” a todos los demás procesos cada T segundos El detector de fallos estima un tiempo máximo de transmisión de mensajes en D segundos Si el detector de fallos local donde se encuentra el proceso q no recibe un “p is here” después de T + D segundos de haber recibido el último, reporta a q que p está Suspected Si luego lo recibe, reporta a q que p está OK

Exclusión mutua distribuida Los procesos distribuidos necesitan a menudo coordinar sus actividades Si se comparten recursos, la exclusión mutua es necesaria para evitar interferencias y asegurar la consistencia Problema tradicional de la sección crítica Sin embargo: No podemos usar variables compartidas No hay facilidades provistas por el kérnel

Solución Exclusión mutua basada sólo en el paso de mensajes A veces, los recursos son controlados por servidores que proveen mutex Pero en los demás casos prácticos, es necesario un mecanismo separado para implementar la exclusión mutua

Algoritmos Asumimos: Sistema es asincrónico Procesos no fallan Envío de mensajes es confiable Todos los mensajes son recibidos intactos y ... Sólo una vez

Protocolo /* enter critical section – block if necessary */ enter() /* access shared resources in critical section */ resourceAccesses() /* leave critical section – other processes may now enter */ exit()

Requerimientos Cómo máximo, un proceso puede ejecutarse en la sección crítica a la vez Solicitudes de entrada y salida de la sección crítica eventualmente tienen éxito Si una solicitud para entrar a la sección crítica ocurrió-antes que otra, entonces la entrada se otorga en ese orden La condición # 2 implica que se evitarán tanto los bloqueos mutuos como la inanición

Evaluación Ancho de banda Retardo Efecto sobre el rendimiento del sistema

Servidor central p Server Queue of requests 4 2 3. Grant 1. Request token Queue of requests 2. Release 3. Grant 4 2 p 3 1

Anillo

Ricart & Agrawala On initialization state := RELEASED; To enter the section state := WANTED; Multicast request to all processes; request processing deferred here T := request’s timestamp; Wait until (number of replies received = (N – 1)); state := HELD; On receipt of a request <Ti, pi> at pj (i ≠ j) if (state = HELD or (state = WANTED and (T, pj) < (Ti, pi))) then queue request from pi without replying; else reply immediately to pi; end if To exit the critical section reply to any queued requests;

Ejemplo p 3 34 Reply 41 1 2

Maekawa’s voting On initialization For pi to exit the critical section state := RELEASED; voted := FALSE; For pi to enter the critical section state := WANTED; Multicast request to all processes in Vi; Wait until (number of replies received = K); state := HELD; On receipt of a request from pi at pj if (state = HELD or voted = TRUE) then queue request from pi without replying; else send reply to pi; voted := TRUE; end if For pi to exit the critical section state := RELEASED; Multicast release to all processes in Vi; On receipt of a release from pi at pj if (queue of requests is non-empty) then remove head of queue – from pk, say; send reply to pk; voted := TRUE; else voted := FALSE; end if

Tolerancia a fallos ¿Qué pasa cuando un mensaje se pierde? ¿Qué pasa cuando un proceso se cae?

Elecciones Un algoritmo de elección permite escoger un único proceso para desempeñar un papel particular Por ejemplo, en una variante del algoritmo de servidor central para exclusión mutua, un proceso es escogido para funcionar como servidor Un proceso llama la elección, es decir, inicia el proceso

Anillo

Bully