Estados globales y cortes consistentes Objetivo: descubrir si una propiedad particular de un sistema distribuido es cierta cuando se ejecuta Tratar de establecer un estado global del sistema como estado de la coleccin de procesos Planteamiento: elaborar un estado global significativo de los estados locales registrados en diferentes tiempos reales Historia de un proceso historia(p i ) = h i = <e i 0 , e i 1 , e i 2 , > Prefijo finito h i k = <e i 0 , e i 1 , e i k > s i k estado del proceso p i inmediatamente antes de que ocurra el suceso k "Redes de ordenadores", Cuestiones de diseo 33 Estados globales y cortes consistentes Historia global de unin de las historias individuales de los procesos Estado global: cualquier conjunto de estados de los procesos individuales (S 1 , S 2 , , S N ) Prefijos iniciales de las historias individuales de los procesos Corte de la ejecucin del sistema: subconjunto de su historia global que es la unin de los prefijos de las historias de los procesos C = h 1 C1 Uh 2 C2 U
Uh N CN El estado s i en el estado global S correspondiente al corte C es el de p i inmediatamente despus del ltimo suceso procesado por p i en el corte e i Ci (i=1, , N) Frontera del corte: conjunto de sucesos {e i Ci : i=1, , N} 2 "Redes de ordenadores", Cuestiones de diseo 34 Estados globales y cortes consistentes Corte consistente: si para cada suceso que contiene, contiene todos los sucesos que sucedieron antes de cada suceso individual e C, f e f C Estado global consistente: corresponde con un corte consistente Podemos definir la ejecucin de un sistema distribuido como las transiciones entre estados globales S 0 S 1 S 2
Si 2 sucesos ocurren simultneamente, establecemos su orden por el
identificador de proceso "Redes de ordenadores", Cuestiones de diseo 35 Estados globales y cortes consistentes Ejecucin: ordenacin de orden total de todos los sucesos en una historia global que es consistente con cada ordenacin de la historia local i (i=1, ,N) Linealizacin o ejecucin consistente: ordenacin de los sucesos en una historia global que es consistente con su relacin suceci antes en H No todas las ejecuciones pasan a travs de estados consistentes globales, pero todas las linealizaciones pasan slo a travs de estados globales consistentes Alcanzabilidad: Un estado S es alcanzable desde un estado S si existe una linealizacin que pasa a travs de S y despus por S 3 "Redes de ordenadores", Cuestiones de diseo 36 Predicados de estado global Predicado: funcin que pasa del conjunto de estados globales de los procesos en el sistema a {Verdadero, Falso} Estabilidad Una vez que el sistema entra en un estado en el que el predicado es Verdadero, permanece a Verdadero en todos los estados futuros alcanzables desde ese estado Seguridad Ejemplo: a propiedad no deseable de estar bloqueado indefinidamente, S 0 estado original del sistema Seguridad con respecto a a es la asercin que a evala a Falso para todos los estados S alcanzables desde S 0 Vitalidad Ejemplo: b, propiedad deseable de alcanzar la terminacin Propiedad que para cualquier linealizacin L comenzando en el estado S 0 , b se evaluar a Verdadero para algn estado Se alcanzable desde S 0 "Redes de ordenadores", Cuestiones de diseo 37 Evaluacin de predicados de estado global Determinar casos en los que dado un predicado de estado global era sin duda alguna Verdadero en algn punto de la ejecucin que observamos, y los casos en los que posiblemente era Verdadero Posiblemente: podemos extraer un estado global consistente S de un sistema en ejecucin y encontrar que (S) es Verdadero. Una observacin nica de un estado global consistente no nos permite concluir si un predicado no estable ser evaluado siempre a Verdadero en la ejecucin actual Posiblemente : hay un estado consistente S a travs del cual pasa una linealizacin H tal que (S) es Verdadero Sin duda alguna : para todas las linealizaciones L de H, hay un estado consistente S a travs del cual pasa L tal que (S) es Verdadero 4 "Redes de ordenadores", Cuestiones de diseo 38 Observacin de estados globales consistentes Debemos recoger los estados globales consistentes frente a los que evaluar Ejemplo: predicado |x i x j | 50 Condicin de estado global consistente V(s i )[i] V(s j )[i] para i,j = 1, 2, ,N; V(s i ) el vector de marcas de tiempo del estado s i del proceso p i "Redes de ordenadores", Cuestiones de diseo 39 Red de estados globales consistentes Captura la relacin de alcanzabilidad entre estados globales consistentes Nodos: estados globales consistentes Arcos: posibles transiciones entre estados Cada nivel representa un paso en la ejecucin del sistema Dado S = (s 1 , s 2 , , s N ) un estado consistente, un estado S = (s 1 , s 2 , , s i , , s N ) que difiere de S slo porque contiene el siguiente estado de algn proceso p i es alcanzable desde S en el siguiente nivel de la red si y slo si para j = 1, 2, , N ji: V(s j )[j] V(s i )[j] Una linealizacin atraviesa la red desde cualquier estado global a cualquier otro estado global alcanzable desde l en el siguiente nivel (en cada paso algn proceso experimenta un suceso) La red muestra todas las linealizaciones correspondientes a una historia 5 "Redes de ordenadores", Cuestiones de diseo 40 Red de estados globales consistentes S ij = estado global despus de i eventos en el proceso 1 y j eventos en el proceso 2