Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitectura de
los Sistemas
Distribuidos
Índice
• Introducción
• Arquitecturas para computación distribuida
– Arquitecturas de computación en Google
• Modelo Map-Reduce y Pregel
• Arquitectura cliente-servidor
– Variaciones del modelo
– Aspectos de diseño del modelo cliente/servidor
• Arquitectura editor-subscriptor
• Arquitectura Peer-to-peer
– Sistemas P2P desestructurados
– Sistemas P2P estructurados
• Protocolo Chord
Interfaz de Servicio
Petición (args.)
Resp=Código(args)
Interfaz de Servicio
Petición (args.)
Forward
Open
Reverse
C C C S
p p p p p
C S C S C S
p
C C C S
Interfaz de Servicio
Petición
Resp=Código(args)
Interfaz de Servicio
Petición(args)+Código
Cliente Servidor
Respuesta
Resp=Código(args)
M1 M2
1
C DM2 + ptoS DM2 + ptoS S
M2
2 Idsrv ptoS
DM2 + ptoB binder
M1
C DM2+idsrv
Idsrv ptoS
1
M2
Binder ptoB
DM2 + ptoS S
M2
Idsrv ptoS
DM2 + ptoB binder
M1
¿idsrv?
1
C DM2+idsrv ptoS
M2
Binder ptoB 2
DM2 + ptoS S
Binder ptoB
Sistemas Distribuidos Fernando Pérez Costoya
30
(3a) ID servicio = [idsrv]; Sólo BG: Alta
M3
Idsrv DM2 + ptoS
DM3 + ptoB binder
M1 2
M2 1
binder DM3+ptoB
DM2 + ptoS S
M3
idsrv DM2 + ptoS
DM3 + ptoB binder
M1
¿idsrv?
1
C idsrv DM2 + ptoS
M2
binder DM3+ptoB 2
DM2 + ptoS S
M1 M2
Idsrv ptoS
C idsrv DM2 + ptoL BL
2
M3 M2 1
Idsrv DM2
BG DM3 + ptoB DM2 + ptoS S
3
4 Idsrv DM2 BL ptoL | BG DM3+ptoB
Sistemas Distribuidos Fernando Pérez Costoya
33
(3b) ID servicio = [idsrv]; BG+BL: Consulta
C S
open(“f”,...)
x N | pos 0
OPEN, “f”
3 x
x
“f”; inodo N
C S
read(3,b,t)
x N | ant+tl
READ, x, t
3 x
DATOS, tl (leído)
“f”; inodo N
C S
lseek(3,m,p)
x N | pos p
LSEEK,x,m=SEEK_SET,p
3 x
p
“f”; inodo N
C S
close(3)
x -
CLOSE, x
3 -
OK
“f”; inodo N
C S
open(“f”,...)
BUSCAR, “f”
3 N | pos 0
N
“f”; inodo N
C S
read(3,b,t)
READ, N, ant, t
3 N | ant+tl
DATOS, tl (leído)
“f”; inodo N
C S
lseek(3,m,p)
3 N | pos p
“f”; inodo N
C S
close(3)
3 -
“f”; inodo N
cola de mensajes de S
m1 C1
m2 C2
m3 libre S
Sistemas Distribuidos Fernando Pérez Costoya
55
Serv. cerrojos con estado: leases (4)
C1 C2 C3
c1 lease(m1)
c3 lock(m3) cola de mensajes de S
c2 lease(m2)
Ø Treinicio>Tlease S
Sistemas Distribuidos Fernando Pérez Costoya
56
Serv. cerrojos con estado: leases (5)
C1 C2 C3
suscribe(tipo5)
Su1 notifica(ev5)
Ed1
suscribe(tipo3)
Su2
publica(ev5)
Ed2
suscribe(tipo5)
Su3 notifica(ev5)
Ed3
baja(tipo1)
Su4
suscribe(tipo5)
Su1 obtiene()
Ed1
suscribe(tipo3)
Su2
publica(ev5)
Ed2
suscribe(tipo5)
Su3 obtiene()
Ed3
baja(tipo1)
Su4
Cl Ed
genera genera
datos datos
Su1 Ed1
Su2
Ed2
Su3
Ed3
Su4
Su1 Ed1
Su2
Int. Ed2
Su3
Ed3
Su4
Proceso intermediario
Desacoplamiento espacial
Cuello botella y punto fallo
Su1 Ed1
Int. Int.
Su2 Int.
Int. Int. Ed2
Su3 Int.
Int. Int. Ed3
Su4
Red de intermediarios
Desacoplamiento espacial
Escalabilidad y fiabilidad
Sistemas Distribuidos Fernando Pérez Costoya
73
Modelo Peer-to-Peer (P2P)
• Todos los nodos tienen mismo rol y funcionalidad (servents)
– No hay cuellos de botella ni puntos críticos de fallo
– Se aprovechan recursos de todas las máquinas
• Se suelen caracterizar además por:
– Volatilidad: Nodos entran y salen del SD; variabilidad en conectividad
– Capacidad de autogestión sin una autoridad global centralizada
• Uso de red superpuesta (overlay):
– Red lógica sobre la física
– Nodos de proceso como nodos de red
– Gestionan esquemas de encaminamiento y localización de recursos
• Desventajas de arquitectura P2P
– Difícil administración conjunta y mayores problemas de seguridad
Entidad Entidad
Entidad
Entidad
Entidad
Entidad
Entidad
Entidad Entidad
Interfaz de Diálogo
peers
Wikipedia Chord
Sistemas Distribuidos Fernando Pérez Costoya
91
Búsqueda en anillo 24
Wikipedia Chord
Sistemas Distribuidos Fernando Pérez Costoya
92
Búsqueda con fingers
Np Ns Np Ns Np Ns Np Ns
Nn Nn Nn Nn