![]()
Précédent : Génie système prouvable et méthode
Remonter : Résultats nouveaux Suivant :
Conditions de
faisabilité temps réel
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
, 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
, de telle sorte,
que du point de vue de la sérialisabilité, nous pouvons raisonner
indépendamment sur chaque classe
.
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
: c'est-à-dire
que pour toute classe
, 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
-synchronisées et à dérive
bornée. Les demandes d'activation de chaque tâche
suivent une loi sporadique d'intervalle
Ti. Chaque tâche
doit terminer son exécution avant son échéance de terminaison au
plus tard Di. Nous construisons différents
ordres totaux globaux sur
(ex :
ordre des demandes d'activation des tâches de
, ordre des échéances absolues des tâches de
...). 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
, 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
toutes les copies de
qui s'exécutent entièrement produisent les mêmes résultats et
respectent l'échéance de terminaison au plus tard
Di de
.