Académique Documents
Professionnel Documents
Culture Documents
ndice
Introduccin
Arquitecturas para computacin distribuida
Arquitecturas de computacin en Google
Arquitectura de
los Sistemas
Distribuidos
Arquitectura cliente-servidor
Variaciones del modelo
Aspectos de diseo del modelo cliente/servidor
Arquitectura editor-subscriptor
Arquitectura Peer-to-peer
Sistemas P2P desestructurados
Sistemas P2P estructurados
Protocolo Chord
Sistemas Operativos Distribuidos
2
Arquitecturas de los SD
Grado de acoplamiento
2-Arquitecturas de SD
Tolerancia a fallos:
Cada de T: M reasigna sus trabajos pendientes (efectos laterales!)
Cada de M: punto crtico de fallo
int MPI_Cart_create(MPI_Comm comm, int ndims, int *dims, int *periods, int reorder, MPI_Comm *comm_cart);
int MPI_Cart_shift(MPI_Comm comm_cart, int direction, int disp, int *rank_source, int *rank_dest);
Using MPI
William Gropp, Ewing Lusk y Anthony Skjellum (MIT Press)
Sistemas Operativos Distribuidos
6
2-Arquitecturas de SD
Interaccin 1-N
Editor/subscriptor
Extensin de esquema guiado por eventos a SD
Facilita el desacoplamiento espacial y, potencialmente, el temporal
Interaccin M-N
Peer-to-peer
Procesos cooperantes con el mismo rol
Interaccin N-N
Pregel: A System for Large-Scale Graph Processing
Grzegorz Malewicz et al.; SIGMOD 10
Sistemas Operativos Distribuidos
9
Modelo cliente/servidor
Esquema cliente/servidor
Interfaz de Servicio
Peticin (args.)
Cliente
2-Arquitecturas de SD
Resp=Cdigo(args)
Mismas ops. para todos servicios pero sobre distintos recursos (REST)
nfasis en recursos: ops. CRUD (HTTP GET, PUT, DELETE, POST)
Ejemplo:
AddBook(nb) vs.
Servidor
Respuesta
GUI
GUI + parte de la lgica de negocio
GUI + lgica de negocio
GUI + lgica de negocio + parte de lgica de acceso
2-Arquitecturas de SD
Cliente
Proxy
Respuesta
Open
Peticin
Interfaz de Servicio 2
Respuesta
Reverse
Servidor
Sistemas Operativos Distribuidos
17
Cliente/servidor jerrquico
Servidor nico:
2-Arquitecturas de SD
Cdigo mvil
Viaja el cdigo en vez de los datos y/o resultados
Requiere:
C
C
C
p
S
p
C
C
Arquitecturas homogneas o
Interpretacin de cdigo o
Mquinas virtuales
Modelos alternativos
Agentes mviles
Evaluacin remota
Interfaz de Servicio
Peticin
Cliente
Cdigo
Servidor
2-Arquitecturas de SD
Interfaz de Servicio
Peticin(args)+Cdigo
Cliente
Servidor
Respuesta
Resp=Cdigo(args)
Resp=Cdigo(args)
mbito global
Mejor nombre de texto de carcter jerrquico (como pathname)
Transparencia de ubicacin
Posible replicacin: ID servicio (DMS1, PS1) | (DMS2, PS2) ....
Posibilidad de migracin de servicio (incluso en mitad de un servicio)
Convivencia de mltiples versiones del servicio
ID servicio = [DM+pto]
M2
M1
C DM2 + ptoS
DM2 + ptoS
2-Arquitecturas de SD
Info. de contacto
Sistemas Operativos Distribuidos
28
Direccin de servicio
Fernando Prez Costoya
M2
2 Idsrv ptoS
M2
Idsrv ptoS
M1
C DM2+idsrv
1
Binder ptoB
Idsrv ptoS
M1
C DM2+idsrv
M2
idsrv?
ptoS
Binder ptoB
Mensaje
M2
DM2 + ptoS S
Info. conocida
DM2 + ptoS S
Binder ptoB
Info. binder
Binder ptoB
Sistemas Operativos Distribuidos
30
M3
Idsrv DM2 + ptoS
M1
C
idsrv
binder DM3+ptoB
M3
idsrv DM2 + ptoS
M1
C
idsrv
idsrv?
binder DM3+ptoB
DM2 + ptoS S
binder DM3 +ptoB
Sistemas Operativos Distribuidos
31
2-Arquitecturas de SD
DM2 + ptoS
2
M2
DM2 + ptoS S
binder DM3 +ptoB
M2
Idsrv ptoS
idsrv
BL ptoL | BG DM3+ptoB
DM2 + ptoL BL
Idsrv ptoS
M2 1
M3
Idsrv DM2
BG DM3 + ptoB
DM2 + ptoS S
BL ptoL | BG DM3+ptoB
4 Idsrv DM2
Sistemas Operativos Distribuidos
33
Binding
idsrv?
idsrv?
M1
idsrv
M2
M3
BG DM3 + ptoB
Idsrv DM2
Sistemas Operativos Distribuidos
34
DM2 + ptoL BL
Idsrv ptoS
1
DM2
ptoS
M2
DM2 + ptoS S
BL ptoL | BG DM3+ptoB
Fernando Prez Costoya
Servidor secuencial
Servidor:
Servidor concurrente
Cliente:
2-Arquitecturas de SD
m pre-arrancados; m T/P M
Si peticin, ninguno libre y n < M se crea
Si inactivo tiempo prefijado y n > m se destruye
Gestin de conexiones
open(f,...)
3
Peticiones autocontenidas.
x N | pos 0
OPEN, f
x
f; inodo N
2-Arquitecturas de SD
10
read(3,b,t)
3
x N | ant+tl
READ, x, t
lseek(3,m,p)
3
DATOS, tl (ledo)
x N | pos p
LSEEK,x,m=SEEK_SET,p
p
f; inodo N
f; inodo N
CLOSE, x
open(f,...)
3 N | pos 0
OK
BUSCAR, f
N
f; inodo N
2-Arquitecturas de SD
close(3)
f; inodo N
11
read(3,b,t)
3 N | ant+tl
lseek(3,m,p)
READ, N, ant, t
3 N | pos p
DATOS, tl (ledo)
f; inodo N
f; inodo N
close(3)
3
Beneficios
f; inodo N
2-Arquitecturas de SD
12
Leases
Modo de operacin
C2
C3
lock(m1)
lock(m2)
lock(m3)
..............
..............
..............
unlock(m1)
unlock(m2)
unlock(m3)
m1 libre
m2 C2
m3 libre
Sistemas Operativos Distribuidos
51
2-Arquitecturas de SD
S
Fernando Prez Costoya
13
C2
C3
C2
C3
lock(m1)
lock(m2)
lock(m3)
lock(m1)
lock(m2)
lock(m3)
..............
..............
..............
..............
..............
..............
unlock(m1)
unlock(m2)
unlock(m3)
unlock(m1)
unlock(m2)
unlock(m3)
m1 C1
m2 C2
m3 libre
C2
C3
cola de mensajes de S
m1 C1
m2 C2
m3 libre
C2
C3
lock(m1)
lock(m2)
lock(m3)
lock(m1)
lock(m2)
lock(m3)
..............
..............
..............
..............
..............
..............
unlock(m1)
unlock(m2)
unlock(m3)
unlock(m1)
unlock(m2)
unlock(m3)
c1 lease(m1)
c3 lock(m3) cola de mensajes de S
c2 lease(m2)
Treinicio>Tlease S
2-Arquitecturas de SD
m1 C1
m2 C2
m3 libre
c3 lock(m3)
cola de mensajes de S
S
Fernando Prez Costoya
14
2-Arquitecturas de SD
Alternativas:
Uso de pocas:
Peticiones de cliente llevan asociadas un n de poca
En rearranque de cliente C: transmite (++n de poca) a servidores
Servidor aborta servicios de C con n de poca menor
Uso de leases:
Servidor asigna lease mientras dura el servicio
Si cliente no renueva lease se aborta el servicio
15
Modelo editor/subscriptor
Su1
suscribe(ev5)
notifica(ev5)
Su2
suscribe(ev3)
Su3
suscribe(ev5)
notifica(ev5)
Su4
Ed1
publica(ev5)
Ed2
Ed3
suscribe(ev1)
Ejemplo editor/suscriptor
Mercado burstil
Tipo de evento
Cl
Ed
genera
datos
genera
datos
Subscriptor
Proceso interesado (PI) en operaciones sobre un determinado valor
Editores
Proceso que realiza operaciones (PO) sobre un determinado valor
imprime
datos
almacena
datos
proyecta
datos
imprime
datos
almacena
datos
proyecta
datos
Se1
Se2
Se3
Su1
Su2
Su3
2-Arquitecturas de SD
16
Su1
Su2
Su1
Ed1
Su2
Ed2
Su3
Su4
Su1
Ed1
Int.
Su2
Ed2
Su3
Ed3
Su3
Ed3
Su4
Int.
Su4
Ed1
Int.
Ed2
Int.
Ed3
Proceso intermediario
Red de intermediarios
Desacoplamiento espacial
Desacoplamiento espacial
Escalabilidad y fiabilidad
Entidad
Entidad
Entidad
Entidad
Entidad
Entidad
Entidad
Entidad
Estructurados:
Entidad
2-Arquitecturas de SD
Interfaz de Dilogo
Sistemas Operativos Distribuidos
67
17
Protocolo Chord
Hashing consistente asigna ID a clave recurso y a IP de nodo
ID con m bits tal que n recursos (K) + n nodos (N) << 2m
IDs organizados en anillo mdulo 2m
Proporciona distribucin uniforme
2-Arquitecturas de SD
18
Fingers en anillo 24
Wikipedia Chord
Sistemas Operativos Distribuidos
75
2-Arquitecturas de SD
19
Alta de un nodo
Operacin join de nodo N:
Alta de nodos
Baja voluntaria de nodos
Baja involuntaria de nodos (cadas)
2-Arquitecturas de SD
20
Np
Ns
Np
Ns
Np
Ns
Np
Ns
Nn
Nn
Nn
Nn
Estado
inicial
join(Nn)
stabilize(Nn)
stabilize(Np)
Baja de un nodo
2-Arquitecturas de SD
21