Un Problema de Conjuntos en Computación |
||||
|
Inicio 1 2 3 4 5 6 |
Relojes Vectoriales
Los relojes vectoriales son un tipo de reloj lógico propuesto independientemente por Colin Fidge ([4]) y Friedemann Mattern ([8]). Interesantes recorridos sobre temas y aplicaciones de los mismos se puede encontrar en [1,10,11,12]. Esta técnica consiste en un mapeo entre eventos en una historia distribuida y vectores de enteros. Cada sitio mantiene un vector con entradas, donde es la cantidad de sitios en el sistema distribuido. Este vector 1 se inicializa en ceros. La entrada del sitio mantiene el reloj local, mientras que la entrada mantiene el conocimiento actual que el sitio tiene de la actividad en el sitio . Estos vectores se incrementan en el reloj local cada vez que ocurren eventos en el sitio. También, todo mensaje debe incluir el reloj vectorial que tenía el sitio emisor cuando el mensaje fue enviado, y al recibir mensajes, se debe actualizar el vector local, tomando en cuenta la etiqueta de tiempo incluida en cada mensaje. El sitio actualiza su vector de acuerdo con las siguientes reglas:
Dado un evento se dice que la etiqueta de tiempo o el reloj vectorial asociado a es el reloj vectorial que tenía el sitio particular cuando fue ejecutado. Se denotará a este vector como . Dados dos relojes vectoriales y , se definen las siguientes comparaciones:
Mattern demostró en [8] que existe un isomorfismo entre los tiempos que se obtienen de un reloj vectorial cuando los eventos son ejecutados y la relación de causalidad entre los eventos de . Eso significa que :
Esta característica es conocida como la condición fuerte de reloj (strong clock condition, [8,10,12]).
En la figura 3 se pueden observar las etiquetas vectoriales para los eventos de la historia distribuida de la figura 1. Estas etiquetas se obtuvieron al aplicar las reglas de generación de los relojes vectoriales (V0,V1 y V2), utilizando . Por otra parte, si se recolectan las etiquetas vectoriales de esta historia distribuida se obtiene un conjunto de vectores: . A este conjunto se le denominará conjunto posible, dado que existe una historia distribuida que puede generar todas las etiquetas de ese conjunto (aquella de la figura 1). También son conjuntos posibles: y . Contrariamente, un conjunto imposible es aquel conjunto de etiquetas vectoriales para el cual es imposible construir una historia distribuida que contenga todos esos vectores. Hay muchos de ellos y obtenerlos es sencillo ([9,11]).
Revista digital Matemática, Educación e Internet.
|