Projet : REFLECS

previous up next contents
Précédent : Génie système prouvable et méthode Remonter : Résultats nouveaux Suivant : Conditions de faisabilité temps réel


   
Maintien de la cohérence dans un système distribué temps réel en l'absence de défaillance des processeurs



Participants : Laurent George [ESIGETEL], Pascale Minet, Soumaya Kamoun.

Mots clés : cohérence, sérialisabilité, algorithme distribué, ordonnancement, condition suffisante de faisabilité .

Nous considérons un système distribué dans lequel s'exécutent des tâches $ \tau_{i}^{}$, i = 1..n qui lisent/écrivent des objets permanents liés par des invariants ou contraintes de cohérence. Chaque tâche prise isolément respecte ces invariants. On sait qu'en l'absence de défaillances, la sérialisabilité des exécutions des tâches est une condition suffisante au maintien de la cohérence [BHG87].

Nous avons défini une partition de l'ensemble des tâches en classes d'équivalence $ \tau_{c}^{}$, de telle sorte, que du point de vue de la sérialisabilité, nous pouvons raisonner indépendamment sur chaque classe $ \tau_{c}^{}$. Ainsi deux tâches n'appartenant pas à la même classe peuvent être exécutées dans n'importe quel ordre et ceci sans compromettre la sérialisabilité.

L'approche évitement des conflits étudiée est basée sur le maintien d'un ordre total (au sens de Hadzilacos et Toueg) global sur chaque classe $ \tau_{c}^{}$ : c'est-à-dire que pour toute classe $ \tau_{c}^{}$, il n'existe pas de cycle dans le graphe de la relation ``précède'' définie sur cette classe. Les tâches sont exécutées dans cet ordre, ce qui garantit la sérialisabilité.

Les solutions proposées sont conçues dans un modèle DBC (i.e. les Délais de communication et de traitement sont Bornés et Connus). Plus précisément nous supposons l'existence d'une part d'une diffusion fiable uniforme à temps de réponse borné, et d'autre part, d'horloges locales $ \varepsilon$-synchronisées et à dérive bornée. Les demandes d'activation de chaque tâche $ \tau_{i}^{}$suivent une loi sporadique d'intervalle Ti. Chaque tâche $ \tau_{i}^{}$ doit terminer son exécution avant son échéance de terminaison au plus tard Di. Nous construisons différents ordres totaux globaux sur $ \tau_{c}^{}$ (ex : ordre des demandes d'activation des tâches de $ \tau_{c}^{}$, ordre des échéances absolues des tâches de $ \tau_{c}^{}$...). Nous établissons les conditions de faisabilité temps réel, conditions sous lesquelles les tâches respectent leurs échéances, lorsque chacune des tâches a une structure en étoile (pas de synchronisation entre les processeurs exécutant la tâche) et lorsque la durée d'exécution maximum de chaque tâche sur chaque processeur concerné est connue.

Une suite envisagée pour cette étude consiste à considérer des placements de plusieurs classes d'équivalence sur un même processeur. Tout processeur maintient une file d'attente par classe d'équivalence. Se pose alors le problème de l'ordonnancement des différentes files d'attente en vue d'établir des conditions de faisabilité temps réel.

Les solutions décrites précédemment s'appliquent également dans le cadre de la redondance active. Afin qu'au moins une copie de toute tâche s'exécute entièrement en présence d'au plus f défaillances de processeurs (défaillances par arrêt), chaque tâche $ \tau_{i}^{}$, i = 1...n, s'exécute en f + 1 copies sur f + 1 processeurs (une copie s'exécute entièrement sur un processeur). Le résultat d'une tâche est celui fourni par la copie la plus rapide, les résultats fournis par les autres copies sont ignorés. Le système doit garantir que pour chaque tâche $ \tau_{i}^{}$toutes les copies de $ \tau_{i}^{}$ qui s'exécutent entièrement produisent les mêmes résultats et respectent l'échéance de terminaison au plus tard Di de $ \tau_{i}^{}$.



previous up next contents
Précédent : Génie système prouvable et méthode Remonter : Résultats nouveaux Suivant : Conditions de faisabilité temps réel