• Aucun résultat trouvé

Pr´esentation du probl`eme bi-objectifs de tol´erance aux fautes et de pr´edictibilit´e

Rappelons que notre travail s’inscrit dans l’objectif global de la conception de syst `emes dis-tribu´es r´eactifs embarqu´es `a contraintes strictes. Notre probl´ematique vise dans ce chapitre deux caract´eristiques particuli`eres de ces syst`emes qui sont la tol´erance aux fautes et la pr´edictibilit´e. Plus particuli`erement, nous allons traiter le probl`eme de la g´en´eration automatique de distribu-tions/ordonnancements temps r´eel pr´edictibles et tol´erantes aux fautes. La tol´erance aux fautes consiste `a introduire dans la distribution/ordonnancement un ensemble de redondances pour que le

syst`eme continue `a fonctionner en pr´esence de certaines d´efaillances mat´erielles. La pr´edictibilit´e consiste `a v´erifier hors-ligne que les contraintes temporelles sont respect´ees en absence et en pr´esence de d´efaillances.

Nous ne nous int´eressons, dans ce chapitre, qu’au probl`eme de distribution/ordonnancement li´e aux architectures mat´erielles munies d’un r´eseau de communication compos´e uniquement de liaisons point-`a-point. Afin de bien pr´esenter le probl`eme de distribution/ordonnancement tol´erante aux fautes et pr´edictible, nous pr´esentons tout d’abord notre mod`ele de fautes.

6.1.1 Mod`ele de fautes

Nous ne nous int´eressons dans ce travail qu’aux techniques de tol´erance aux fautes mat´erielles bas´ees sur des solutions logicielles. ´Etant donn´e que chaque nouvelle solution pour la tol´erance aux fautes est li´ee aux hypoth`eses de d´efaillances d´efinies par son mod`ele de fautes, dans notre mod`ele de faute nous supposons que :

Hypoth`ese 2 Les capteurs sont fiables, c’est- `a-dire que les valeurs issues des capteurs (op´erations d’entr´ees) sont suppos´ees correctes.

Hypoth`ese 3 Les actionneurs sont fiables, c’est- `a-dire que les actionneurs (op´erations de sorties) r´eagissent aux ´ev`enements d’entr´ees en produisant des actions de sortie ad´equates.

Hypoth`ese 4 Les fautes mat´erielles sont des fautes des op´erateurs de calculs et des fautes des liens de communication. La faute d’un lien de communication peut ˆetre la faute d’un de ses com-posants (cf. section 4.3.1, page 56).

Hypoth`ese 5 Le syst`eme accepte au plusNpf1 fautes des op´erateurs de calcul etNlf2 fautes de liens de communications dans un cycle d’ex´ecution de son algorithme sur son architecture. Hypoth`ese 6 Le r´eseau de communication physique n’est jamais partitionn´e, mˆeme en pr´esence deNpf +Nlf fautes actives dans un cycle d’ex´ecution de son algorithme sur son architecture. Hypoth`ese 7 Les fautes des composants mat´eriels (op´erateurs de calcul et liens de communica-tion) sont des fautes transitoires, c’est- `a-dire que la dur´ee de l’activation d’une faute d’un compo-sant est limit´ee dans le temps.

Hypoth`ese 8 Les op´erateurs de calculs et les liens de communication sont `a d´efaillances tem-porelles, c’est-`a-dire que les valeurs calcul´ees par les op´erateurs de calcul sont soit correctes et d´elivr´ees `a temps, soit correctes et d´elivr´ees trop tˆot, trop tard ou infiniment tard.

Nous supposons aussi que le logiciel est sans fautes (hypoth`ese 1, section 3.2, page 39). Enfin, notre hypoth`ese de d´efaillances temporelles couvre les deux hypoth`eses de d´efaillances les plus utilis´ees, qui sont : hypoth`ese de d´efaillances par omission et hypoth`ese de silence sur d´efaillances [68].

1Npf = Number of Processor Failures.

6.1 Pr´esentation du probl`eme bi-objectifs de tol´erance aux fautes et de pr´edictibilit´e 77

6.1.2 Donn´ees du probl`eme

Le but de ce chapitre est de r´esoudre le probl`eme de la recherche d’une distribution/ordonnan-cement des composants logiciels du graphe d’algorithme sur les composants mat ´eriels du graphe d’architecture, qui doit tol´erer des fautes mat´erielles des op´erateurs de calcul et des liens de com-munication, tout en minimisant la longueur de cette distribution/ordonnancement dans le but de satisfaire la contrainte temps r´eel Rtc en absence et en pr´esence de d´efaillances. Ce probl`eme a

´et´e abord´e d’une fac¸on g´en´erale dans le chapitre 3 (probl`eme 2, page 40). Plus particuli`erement, ce probl`eme de distribution/ordonnancement tol´erante aux fautes/pr´edictible peut ˆetre formalis´e comme suit :

Probl`eme 4 ´Etant donn´es :

• une architecture mat´erielle h´et´erog`eneArc compos´ee d’un ensemble P d’op´erateurs de calcul et d’un ensemble L de liens de communication (cf. section 4.3.1, page 56) :

P = {. . . , pi, . . . , pj, . . .}, L = {. . . , li,j, . . .}

• un algorithme Alg compos´e d’un ensemble E de d´ependances de donn´ees et d’un ensemble O d’op´erations (cf. section 4.2, page 48) :

O = {. . . , oi, . . . , oj, . . .}, E = {. . . , (oi . oj), . . .}

• des caract´eristiques d’ex´ecutionExe des composants de Alg sur les composants de Arc (cf.

sec-tion 4.4.1, page 58),

• un ensemble de contraintes mat´eriellesDis (cf. section 4.4.2, page 60), • une contrainte temps r´eelRtc (cf. section 4.4.2, page 60),

• un crit`ere de minimisation de la longueur de la distribution/ordonnancement,

• un nombre Npf de fautes d’op´erateurs de calcul et un nombre Nlf de fautes de liens de

communication qui peuvent causer la d´efaillance du syst`eme,

il s’agit de trouver une applicationA qui place chaque op´eration (resp. d´ependance de donn´ees) deAlg sur un op´erateur (resp. un lien) deArc, et qui lui assigne un ordre d’ex´ecutiontksur son op´erateur (resp. un lien) :

A : Alg −→ Arc

Algi 7−→ A(Algi) = (Arcj, tk)

qui respecte Dis, minimise la longueur de la distribution/ordonnancement afin de satisfaire Rtc, et tol´ereNpf +Nlf fautes d’op´erateurs et de liens de communication.

Remarque 10 Dans la suite de ce chapitre nous d´esignons par le mot « processeur » son op´erateur de calcul.