SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Comunicación a grupos
Sistemas Distribuidos
Alberto Lafuente, Mikel Larrea
Dpto. ATC, UPV/EHU
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 2
Comunicación a grupos
• Modelo:
– grupos de procesos
– radiado (comunicación 1:N), distintas semánticas
– broadcast y multicast
• Aplicaciones:
– notificación de eventos
– descubrimiento de servicios remotos
– replicación de servicios, para tolerancia a fallos,
disponibilidad, rendimiento…
• Ejemplos: Isis, Horus, Ensemble, JGroups,
Transis, Totem, Cactus, Phoenix, Spread, Appia…
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 3
Comunicación a grupos (2)
• Infraestructura de soporte (middleware):
– identificación de los grupos
– Entrega de mensajes a los miembros del grupo,
respetando la semántica correspondiente
– Gestión de la pertenencia al grupo (entradas, salidas,
fallos…) de manera consistente: vistas “síncronas”
• Modelo de comunicación:
– multicast(G, m). Difusión del mensaje m al grupo G.
Suposición: el emisor es miembro del grupo
– deliver(m). Entrega del mensaje m al proceso que
ejecuta dicha llamada
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 4
Comunicación a grupos (3)
• Modelo de comunicación:
multicast()
send()
Aplicación
distribuida
Soporte
de comunicación
a grupos
Soporte
de comunicación
a grupos
Soporte
de comunicación
a grupos
Aplicación
distribuida
Aplicación
distribuida
deliver() deliver()
receive() receive()
Soporte de comunicaciones y red
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 5
Message Receipt and Delivery
The logical organization of a distributed system to distinguish
between message receipt and message delivery
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 6
The hold-back queue for arriving
multicast messages
Message
processing
Delivery queue
Hold-back
queue
deliver
Incoming
messages
When delivery
guarantees are
met
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 7
Comunicación a grupos (4)
• Los procesos pueden fallar
– suponemos fallos de parada permanente (crash)
– dos tipos de procesos: correctos e incorrectos
• Los canales de comunicación son casi-fiables
– todos los mensajes enviados entre procesos correctos
terminan por ser recibidos
– Los canales fiables garantizan la entrega de los
mensajes enviados por procesos incorrectos a procesos
correctos (por supuesto, antes de fallar)
• se emplean para demostrar resultados teóricos, en la práctica se
utilizan canales casi-fiables o incluso más débiles (no fiables)
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 8
Comunicación a grupos (5)
• Semánticas de difusión. Aspectos:
– fiabilidad
– orden de entrega
• Implementación “aproximada” (no fiable):
– multicast(G, m): ∀p ∈ G, send(p, m)
– al ejecutar receive(m): ejecutar deliver(m)
• difusión no fiable: algunos procesos correctos
entregan el mensaje, mientras que otros procesos
correctos no lo entregan (sucede si el emisor falla
durante multicast)
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 9
Comunicación a grupos (6)
• Difusión fiable (“todos o ninguno”):
• validez: si un proceso correcto difunde un mensaje m, entonces
dicho proceso entrega el mensaje m
• acuerdo: si un proceso correcto entrega un mensaje m,
entonces todos los procesos correctos entregan el mensaje m
– el algoritmo anterior no cumple esta propiedad
• integridad: para cualquier mensaje, los procesos correctos lo
entregarán como mucho una vez, y únicamente si ha sido
previamente difundido
– Implementación (R-multicast, R-deliver):
• al ejecutar R-multicast(G, m): ejecutar multicast(G, m)
• al ejecutar receive(m) por primera vez:
1. si no se es el emisor original de m: ejecutar multicast(G, m)
2. ejecutar R-deliver(m)
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 10
Reliable multicast algorithm
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 11
Comunicación a grupos (7)
• Difusiones (fiables) ordenadas:
• orden FIFO: si un proceso difunde un mensaje m1 antes que
otro mensaje m2, entonces ningún proceso correcto entregará
m2 sin haber previamente entregado m1
• orden causal: si la difusión de un mensaje m1 precede
causalmente la de otro mensaje m2, entonces ningún proceso
correcto entregará m2 sin haber previamente entregado m1
– el orden causal implica orden FIFO
• orden total: si dos procesos correctos Pi y Pj entregan dos
mensajes m1 y m2, entonces Pi entregará m1 antes que m2 si y
sólo si Pj también entrega m1 antes que m2
– a la difusión con orden total también se le conoce como difusión
atómica. Se suele utilizar como base para la consistencia en
sistemas replicados
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 12
Comunicación a grupos (8)
• Difusión FIFO:
p q r
m1
m2
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 13
Comunicación a grupos (9)
• Difusión causal (causal → FIFO):
p q r
m1
m2
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 14
Comunicación a grupos (10)
• Difusión con orden total (“atómica”):
p q r
m1 m2
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 15
Total, FIFO and causal ordering of
multicast messages
F3
F1
F2
T2
T1
P1 P2 P3
Time
C3
C1
C2
Notice the consistent
ordering of totally ordered
messages T1 and T2,
the FIFO-related messages
F1 and F2 and the causally
related messages C1 and
C3
– and the otherwise
arbitrary delivery ordering of
messages.
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 16
Comunicación a grupos (11)
• Tipos de difusión:
– difusión no fiable (por ejemplo, IP-multicast)
– difusión fiable
• sin orden
• orden FIFO
• con orden causal (por tanto, FIFO)
• con orden total
• con orden total y FIFO
• con orden total y causal (por tanto, FIFO)
• Ejemplo: USENET News
• fiable (TCP), FIFO (no causal, no total)
• causal en la práctica: enviar el mensaje original en la respuesta
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 17
Display from bulletin board program
Bulletin board: os.interesting
Item From Subject
23 A.Hanlon Mach
24 G.Joseph Microkernels
25 A.Hanlon Re: Microkernels
26 T.L’Heureux RPC performance
27 M.Walker Re: Mach
end
Bulletin board: os.interesting
Item From Subject
23 A.Hanlon Mach
27 G.Joseph Microkernels
26 A.Hanlon Re: Microkernels
24 T.L’Heureux RPC performance
25 M.Walker Re: Mach
end
Alice
Bob
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 18
Comunicación a grupos (12)
• Implementación de difusiones ordenadas:
– difusión FIFO: mediante contadores
– difusión causal: mediante relojes vectoriales
– difusión con orden total síncrona:
• al ejecutar A-multicast(G, m): ejecutar R-multicast(G, m),
incluyendo en el mensaje m la marca de tiempo local t(m)
• al ejecutar R-deliver(m): planificar A-deliver(m) para el
instante local t(m)+∆
– ∆: tiempo máximo de transmisión de mensajes en el sistema +
desviación máxima de los relojes (se suponen sincronizados)
– si A-deliver no se puede ejecutar en el instante planificado
(porque el mensaje se ha entregado fiablemente demasiado
tarde), significa que el sistema ha dejado de comportarse de
manera síncrona
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 19
Comunicación a grupos (13)
• ISIS:
– middleware para comunicación a grupos
– desarrollado para UNIX (Cornell University, 1983)
– grupos de procesos + gestión de vistas + difusiones
– FBCAST: difusión FIFO
– CBCAST: difusión causal
• basada en relojes vectoriales
– ABCAST: difusión atómica y causal
• basada en un proceso secuenciador
– GBCAST: gestión de vistas
• protocolo flush
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 20
Causal ordering using vector
timestamps (ISIS)
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 21
Comunicación a grupos (14)
• Ejemplo de difusión causal:
p q r
m1
m2
[000] [000] [000]
[010]
[010]
[010] [010]
[110]
[110]
[110]
[110]
[010]
[110]
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 22
Comunicación a grupos (15)
• Ejercicio de difusión causal:
P1
m2
m1
P2
P4
P3
m3 m4
0000
0000
0000
0000
1000
0010
1000 1100
1010 1110
1010 1110 1120
0010
1110 1120
10101110 1120
1120
Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 23
Total ordering using a sequencer

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Festibity
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 

Kürzlich hochgeladen (14)

Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 

Comm grupos-slides

  • 1. Comunicación a grupos Sistemas Distribuidos Alberto Lafuente, Mikel Larrea Dpto. ATC, UPV/EHU
  • 2. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 2 Comunicación a grupos • Modelo: – grupos de procesos – radiado (comunicación 1:N), distintas semánticas – broadcast y multicast • Aplicaciones: – notificación de eventos – descubrimiento de servicios remotos – replicación de servicios, para tolerancia a fallos, disponibilidad, rendimiento… • Ejemplos: Isis, Horus, Ensemble, JGroups, Transis, Totem, Cactus, Phoenix, Spread, Appia…
  • 3. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 3 Comunicación a grupos (2) • Infraestructura de soporte (middleware): – identificación de los grupos – Entrega de mensajes a los miembros del grupo, respetando la semántica correspondiente – Gestión de la pertenencia al grupo (entradas, salidas, fallos…) de manera consistente: vistas “síncronas” • Modelo de comunicación: – multicast(G, m). Difusión del mensaje m al grupo G. Suposición: el emisor es miembro del grupo – deliver(m). Entrega del mensaje m al proceso que ejecuta dicha llamada
  • 4. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 4 Comunicación a grupos (3) • Modelo de comunicación: multicast() send() Aplicación distribuida Soporte de comunicación a grupos Soporte de comunicación a grupos Soporte de comunicación a grupos Aplicación distribuida Aplicación distribuida deliver() deliver() receive() receive() Soporte de comunicaciones y red
  • 5. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 5 Message Receipt and Delivery The logical organization of a distributed system to distinguish between message receipt and message delivery
  • 6. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 6 The hold-back queue for arriving multicast messages Message processing Delivery queue Hold-back queue deliver Incoming messages When delivery guarantees are met
  • 7. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 7 Comunicación a grupos (4) • Los procesos pueden fallar – suponemos fallos de parada permanente (crash) – dos tipos de procesos: correctos e incorrectos • Los canales de comunicación son casi-fiables – todos los mensajes enviados entre procesos correctos terminan por ser recibidos – Los canales fiables garantizan la entrega de los mensajes enviados por procesos incorrectos a procesos correctos (por supuesto, antes de fallar) • se emplean para demostrar resultados teóricos, en la práctica se utilizan canales casi-fiables o incluso más débiles (no fiables)
  • 8. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 8 Comunicación a grupos (5) • Semánticas de difusión. Aspectos: – fiabilidad – orden de entrega • Implementación “aproximada” (no fiable): – multicast(G, m): ∀p ∈ G, send(p, m) – al ejecutar receive(m): ejecutar deliver(m) • difusión no fiable: algunos procesos correctos entregan el mensaje, mientras que otros procesos correctos no lo entregan (sucede si el emisor falla durante multicast)
  • 9. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 9 Comunicación a grupos (6) • Difusión fiable (“todos o ninguno”): • validez: si un proceso correcto difunde un mensaje m, entonces dicho proceso entrega el mensaje m • acuerdo: si un proceso correcto entrega un mensaje m, entonces todos los procesos correctos entregan el mensaje m – el algoritmo anterior no cumple esta propiedad • integridad: para cualquier mensaje, los procesos correctos lo entregarán como mucho una vez, y únicamente si ha sido previamente difundido – Implementación (R-multicast, R-deliver): • al ejecutar R-multicast(G, m): ejecutar multicast(G, m) • al ejecutar receive(m) por primera vez: 1. si no se es el emisor original de m: ejecutar multicast(G, m) 2. ejecutar R-deliver(m)
  • 10. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 10 Reliable multicast algorithm
  • 11. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 11 Comunicación a grupos (7) • Difusiones (fiables) ordenadas: • orden FIFO: si un proceso difunde un mensaje m1 antes que otro mensaje m2, entonces ningún proceso correcto entregará m2 sin haber previamente entregado m1 • orden causal: si la difusión de un mensaje m1 precede causalmente la de otro mensaje m2, entonces ningún proceso correcto entregará m2 sin haber previamente entregado m1 – el orden causal implica orden FIFO • orden total: si dos procesos correctos Pi y Pj entregan dos mensajes m1 y m2, entonces Pi entregará m1 antes que m2 si y sólo si Pj también entrega m1 antes que m2 – a la difusión con orden total también se le conoce como difusión atómica. Se suele utilizar como base para la consistencia en sistemas replicados
  • 12. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 12 Comunicación a grupos (8) • Difusión FIFO: p q r m1 m2
  • 13. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 13 Comunicación a grupos (9) • Difusión causal (causal → FIFO): p q r m1 m2
  • 14. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 14 Comunicación a grupos (10) • Difusión con orden total (“atómica”): p q r m1 m2
  • 15. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 15 Total, FIFO and causal ordering of multicast messages F3 F1 F2 T2 T1 P1 P2 P3 Time C3 C1 C2 Notice the consistent ordering of totally ordered messages T1 and T2, the FIFO-related messages F1 and F2 and the causally related messages C1 and C3 – and the otherwise arbitrary delivery ordering of messages.
  • 16. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 16 Comunicación a grupos (11) • Tipos de difusión: – difusión no fiable (por ejemplo, IP-multicast) – difusión fiable • sin orden • orden FIFO • con orden causal (por tanto, FIFO) • con orden total • con orden total y FIFO • con orden total y causal (por tanto, FIFO) • Ejemplo: USENET News • fiable (TCP), FIFO (no causal, no total) • causal en la práctica: enviar el mensaje original en la respuesta
  • 17. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 17 Display from bulletin board program Bulletin board: os.interesting Item From Subject 23 A.Hanlon Mach 24 G.Joseph Microkernels 25 A.Hanlon Re: Microkernels 26 T.L’Heureux RPC performance 27 M.Walker Re: Mach end Bulletin board: os.interesting Item From Subject 23 A.Hanlon Mach 27 G.Joseph Microkernels 26 A.Hanlon Re: Microkernels 24 T.L’Heureux RPC performance 25 M.Walker Re: Mach end Alice Bob
  • 18. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 18 Comunicación a grupos (12) • Implementación de difusiones ordenadas: – difusión FIFO: mediante contadores – difusión causal: mediante relojes vectoriales – difusión con orden total síncrona: • al ejecutar A-multicast(G, m): ejecutar R-multicast(G, m), incluyendo en el mensaje m la marca de tiempo local t(m) • al ejecutar R-deliver(m): planificar A-deliver(m) para el instante local t(m)+∆ – ∆: tiempo máximo de transmisión de mensajes en el sistema + desviación máxima de los relojes (se suponen sincronizados) – si A-deliver no se puede ejecutar en el instante planificado (porque el mensaje se ha entregado fiablemente demasiado tarde), significa que el sistema ha dejado de comportarse de manera síncrona
  • 19. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 19 Comunicación a grupos (13) • ISIS: – middleware para comunicación a grupos – desarrollado para UNIX (Cornell University, 1983) – grupos de procesos + gestión de vistas + difusiones – FBCAST: difusión FIFO – CBCAST: difusión causal • basada en relojes vectoriales – ABCAST: difusión atómica y causal • basada en un proceso secuenciador – GBCAST: gestión de vistas • protocolo flush
  • 20. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 20 Causal ordering using vector timestamps (ISIS)
  • 21. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 21 Comunicación a grupos (14) • Ejemplo de difusión causal: p q r m1 m2 [000] [000] [000] [010] [010] [010] [010] [110] [110] [110] [110] [010] [110]
  • 22. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 22 Comunicación a grupos (15) • Ejercicio de difusión causal: P1 m2 m1 P2 P4 P3 m3 m4 0000 0000 0000 0000 1000 0010 1000 1100 1010 1110 1010 1110 1120 0010 1110 1120 10101110 1120 1120
  • 23. Comunicación a grupos - Alberto Lafuente, Mikel Larrea, UPV/EHU 23 Total ordering using a sequencer