Un Problema de Conjuntos en Computación |
||||
|
Inicio 1 2 3 4 5 6 |
Computación DistribuidaLa Computación Distribuida es la rama de las Ciencias Computacionales que estudia la ejecución de un algoritmo por medio de varios sitios, dispersos geográficamente, que comparten recursos. El modelo que utilizaremos en este artículo ([7]) supondrá varios elementos:
En la figura 1 se muestra la representación gráfica de una historia distribuida. En la misma se puede apreciar un sistema distribuido con 4 sitios, donde cada línea representa la ejecución en el tiempo de un programa compuestos por varios (inclusive ningún) eventos. Los círculos negros son los eventos que ocurren en cada uno de los sitios. Así pues, el evento a es el primero del sitio 1. Finalmente, las flechas indican la propagación de un mensaje de un evento a otro. Entonces, existe un mensaje que parte del evento a y llega al evento g.
La Historia Local del sitio Existen solo 3 clases de eventos: ENVIO, RECEPCION e INTERNO. Dado esto, en la figura 1, el evento a es un ENVIO, mientras que g es un RECEPCION y aquellos que no sean ninguno de los anteriores se dicen INTERNO, como el evento c. Una de las relaciones más importantes entre los eventos es la causalidad. Por causalidad se entiende que un evento a previo a un evento g podría ser la causa del último. Entonces, la causalidad que se trata de determinar es potencial. En la figura 1, el evento a es una causa potencial del evento g, porque precisamente a es el envío de un mensaje que es recibido posteriormente por g. Además, a es una causa potencial de b, dado que ocurre antes en el sitio 1. El tema de causalidad supone un ordenamiento de los eventos en una historia distribuida. Para poder detectar este ordenamiento, se podrían utilizar relojes físicos y comparar el tiempo en que fue ejecutado cada evento para así determinar cuál es el orden de causalidad entre ellos. Empero, esta estrategia adolece de muchas complicaciones, debido a la sincronización de tales relojes. Entonces, en el seminal artículo ([6]), Leslie Lamport describe los relojes lógicos como un mapeo entre eventos en una historia distribuida y el conjunto de los números enteros, de manera que se captura el orden causal.
Lamport ([6]) definió la relación de causalidad "
Si entre dos eventos
La figura 2 muestra el diagrama de Hasse
correspondiente a la figura 1. La relación utilizada corresponde a " En la figura 2 se aprecian las relaciones de causalidad que aparecen entre los eventos de la historia distribuida. Para ejemplificar, el evento a es causalmente antes que h, lo cual es cierto, dado que a es el ENVIO de un mensaje que luego recibe g y además g ocurre localmente antes que h. Sin embargo, no se puede determinar la relación de causalidad que existe entre b y f, lo que los hace eventos concurrentes.
Revista digital Matemática, Educación e Internet.
|