Académique Documents
Professionnel Documents
Culture Documents
Basados en
Coordinacin
Prof. M. Curiel
Basada en lminas y libro de
Tanenbaum y Van Steem
Contenido
z
z
z
z
z
z
z
Cmputo y Coordinacion:
z
En SD basados en Coordinacin, el
enfoque recae en cmo ocurre la
Coordinacin entre procesos.
Taxonoma de Modelos de
Coordinacin
Temporal
Coupled
Decoupled
Coupled
Referential
Decoupled
Direct
Mailbox
Meeting
oriented
Generative
communication
Taxonoma
z
Taxonoma
Coupled
Coupled
Referential
Decoupled
Temporal
Decoupled
Direct
Mailbox
Meeting
oriented
Generative
communication
Taxonoma
Coupled
Coupled
Referential
Decoupled
Temporal
Decoupled
Direct
Mailbox
Meeting
oriented
Generative
communication
Taxonoma
Coordinacin directa:
los procesos deben
estar funcionando y se
conocen.
Coordinacin de Buzon de
Correo: no se requiere que
los procesos que se estn
comunicando funcionen al
mismo tiempo para que
funcione la comunicacin.
sta ocurre colocando los
mensajes en un buzn de
correo (posiblemente
compartido).
En la comunicacin es
necesario referirse al buzn
de correo que mantendr
los mensajes a ser
intercambiados.
Coordinacin orientada a
reunin: los procesos no se
conocen entre s. Existe un
concepto de reunin en la
cual los procesos se
agrupan temporalmente
para coordinar sus
actividades. Segn este
modelo los procesos s
deben estarse ejecutando
al mismo tiempo.
Un tipo de sistemas de
publicacin/suscripcin
caen dentro de esta
categora.
Temporal
Coupled
Decoupled
Coupled
Referential
Decoupled
Direct
Mailbox
Meeting
oriented
Generative
communication
Taxonoma
z
Taxonoma
Coupled
Temporal
Decoupled
z
Coupled
Referential
Decoupled
Direct
Mailbox
Meeting
oriented
Generative
communication
Comunicacin Generativa:
(Linda) un conjunto de
procesos independientes
utilizan un espacio de datos
persistente, compartido,
conformado por tuplas.
Las tuplas son registros de
datos etiquetados
compuestos por varios
campos de entrada.
Las etiquetas sirven para
distinguir entre tuplas que
representan diferentes
clases de informacin.
Taxonoma
z
Taxonoma
z
Si no se encuentra ninguna
coincidencia el proceso puede elegir
bloquearse hasta que se encuentra
alguna coincidencia.
Estos espacios de comunicacin
generativa se consideran tambin con
frecuencia como sistemas de
publicacin/suscripcin.
Arquitecturas
z
Arquitectura General
z
Arquitectura General
Qu pasa cuando las suscripciones tienen
que compararse con elementos de datos y
se da la coincidencia?
Arquitectura General
2. Se remite una notificacin, despus de lo
cual los suscriptores pueden realizar la
operacin read para leer el elemento de
datos. El middleware necesariamente tiene
que guardar el elemento de datos. Tambin
es posible anexar un contrato a un elemento
de datos, de forma que cuando expire dicho
elemento se elimine automticamente.
Publisher
Data item
Subscriber
Subscriber
Read/Delivery
Subscription
Notification
Publish/subscribe middleware
Match
Arquitectura General
z
Arquitecturas Tradicionales
Solucin ms simple: arquitectura
Cliente/Servidor centralizada: WebSphere de
IBM, implementaciones de JMS (Sun),
implementaciones de Jini y JavaSpaces.
Jini y JavaSpaces
z
Jini y JavaSpaces
z
Jini y JavaSpaces
z
Write A
Write B
Read T
C
Insert a
copy of A
A
Tuple instance
Look for
tuple that
matches T
Insert a
copy of B
Return C
(and optionally
remove it)
A
B
A JavaSpace
equiparar la tupla:
Tupla item = new Tupla(newInteger(64)), new Integer(42))
Dos campos coinciden si ambos tienen una copia de la misma referencia o
si el campo en la tupla plantilla es NULL. Una instancia de tupla es igual a una
tupla plantilla si sus campos concuerdan.
Jini y JavaSpaces
z
z
z
Jini y JavaSpaces
z
TIB/Rendezvous
z
TIB/Rendezvous
z
TIB/Rendezvous
z
10
TIB/Rendezvous
z
Publ. on A
Subs. to A
Subj: A
Subs. to A
Publ. on B
Subs. to A
Subs. to B
Subs. to B
Subj: B
RV lib
RV lib
RV lib
RV lib
RV lib
RV
daemon
RV
daemon
RV
daemon
RV
daemon
RV
daemon
Network
Multicast message
on A to subscribers
Arquitecturas Punto-a-Punto
z
z
11
Ejemplo: Sub-2-Sub
z
ij
12
Ejemplo Sub-2-Sub
z
S ij S k 0
Si descubren un tercer
nodo k con:
ijk
Bidirectional ring
12
10
Node IDs
8
6
4
2
5
10
15
20
25
30
35
Attribute value
13
Ejemplo Sub-2-Sub
z
Ejemplo Sub-2-Sub
z
14
Movilidad y Coordinacin
z
Lime
z
Lime
Transient, shared dataspace
Process
Process
Process
Local
dataspace
Local
dataspace
Local
dataspace
Wireless link
15
Lime
z
Comunicacin en Sistemas de
Publicacin/Suscripcin
z
Enrutamiento basado en
contenido
z
16
Enrutamiento basado en
contenido
z
1
1
3 1
R1
5
R2
3
4
Enrutamiento basado en
contenido
z
17
Enrutamiento basado en
contenido
z
Interfaz
Filtro
Hacia el
a [0,3]
Nodo 3
Hacia el
a [2 ,5 ]
nodo 4
Hacia el
No
a [2,5]
enrutador especifica
r1
-do
3 1
a [0,3]
R1
3
4
a [0,3]
a [2,5]
18
Asignacin de Nombres
z
Asignacin de Nombres
z
Asignacin de Nombres
z
19
Evento
Descripcin
S1
S2
S3
S4
S5
Descripcin de Eventos
Compuestos
z
Room unoccupied
Door is locked
t=10s
(start)
Room is occupied
Door is unlocked
(generate event)
20
Descripcin de Eventos
Compuestos
z
(generate event)
Room unoccupied
Door is locked
(start)
t=10s
Room is occupied
(start)
Door is unlocked
t=2s
Descripcin de Eventos
compuestos
z
21
Sincronizacin
z
Consistencia y Replicacin:
Mtodos Estticos
z
Consistencia y Replicacin:
Mtodos Estticos
Dividir el espacio de tuplas en sub-espacios, cada
una de cuyas tuplas es del mismo tipo. Como las
tuplas entran por teclado es posible determinar a
tiempo de compilacin en qu subespacio opera
una invocacin a read, take o write.
z Cada sub-espacio puede organizarse mediante una
tabla de hash, utilizando uno de los campos de las
tuplas.
z Las tuplas de un mismo sub-espacio pueden
replicarse
enwrite
diferentes
mquinas.
Una invocacin
a read,
o take se ejecuta
calculando la funcin de
z
hash del i-simo campo para determinar la posicin de la tabla donde pertenece
la instancia de la tupla. Si el campo i-simo es NULL, no puede aplicar una funcin de
hash y es necesario hacer una bsqueda completa.
22
Consistencia y Replicacin:
Mtodos Estticos
z
Tuple broadcast
Network
Process doing
a write broadcasts
(a)
Tuple delete
Subspaces
Network
(b)
Consistencia y Replicacin:
Mtodos Estticos
z
23
Network
(a)
Template broadcast
Network
(b)
Consistencia y Replicacin:
Mtodos Estticos
z
A broadcasts
tuple to these
machines
B broadcasts template
to these machines
24
Consistencia y Replicacin:
Mtodos Estticos
z
Replicacin Dinmica
z
z
z
Ejem: GigaSpaces
Se construy encima de JavaSpaces.
En este sistema la distribucin y replicacin
de tuplas se realizan por dos razones:
desempeo y disponibilidad. Se utilizan
estrategias diferentes en ambos casos. Por
esta razn se soportan varias polticas de
replicacin.
Replicacin Dinmica
z
25
Replicacin Dinmica
z
Application
Dataspace
slice
Distribution
Distribution
Distribution
manager
manager
manager
Invocation
handler
Policy
table
Local OS
To network
Replicacin Dinmica
z
26
Resumen
z
Resumen
z
Resumen
z
27