• Aucun résultat trouvé

Algorithmes de distribution et d’ordonnancement temps r ´eel et fiables

5.3 Algorithmes de distribution et d’ordonnancement temps

eel et fiables

´

Evaluer la fiabilit´e d’un syst`eme est l’une des pr´eoccupations principales des concepteurs de syst`emes sˆurs de fonctionnement. Dans ce but, plusieurs approches ont ´et´e propos´ees dans la litt´erature. Elles diff`erent sur plusieurs crit`eres, tels que le mod`ele de fautes pris en compte et la m´ethode de calcul utilis´ee pour ´evaluer la fiabilit´e. Dans ce travail, nous ne nous int´eressons qu’aux travaux bas´es sur la th´eorie de l’ordonnancement. Suivant le nombre d’objectifs vis´es par leurs algorithmes de distribution/ordonnancement on peut classer ces approches en deux classes : algorithmes uni-objectif et algorithmes multi-objectifs.

5.3.1 Algorithmes uni-objectif

Les approches uni-objectif [16, 40, 45, 46, 54, 55, 65, 76] s’int ´eressent exclusivement au probl`eme de la fiabilit´e des syst`emes. Leur algorithme de distribution/ordonnancement ne vise qu’`a maximiser la fiabilit´e de l’allocation des composants logiciels de l’algorithme sur les compo-sants mat´eriels de l’architecture. Donc, le seul objectif pris en compte est l’objectif de fiabilit ´e.

Dogan et al. ont propos´e dans [22] deux algorithmes optimal et sub-optimal pour le probl `eme de distribution/ordonnancement temps r´eel. Leur mod`ele suppose que les fautes sont des fautes per-manentes des processeurs et des m´edia de communication. Ils supposent aussi que la d´efaillance des composants mat´eriels (processeurs et m´edia de communication) suit une loi exponentielle `a taux de d´efaillance constant. L’objectif de ces algorithmes est de g´en´erer une allocation fiable des composants logiciels de l’algorithme sur les composants mat´eriels de l’architecture, c’est-`a-dire, g´en´erer une allocation qui maximise leur fiabilit´e. La mesure de fiabilit´e calcul´ee par cette heuris-tique repr´esente la probabilit´e que chaque composant logiciel fonctionne correctement durant son ex´ecution.

He et al. ont propos´e dans [40] deux heuristiques de distribution/ordonnancement temps r ´eel pour syst`emes h´et´erog`enes, appel´ees MCMS (Minimum Cost Match Schedule) et PRMS (Pro-gressive Reliability Maximization Schedule). Ils utilisent le mˆeme mod`ele de fautes que [22]. Le but de ces heuristiques est de g´en´erer l’allocation la plus fiable possible des composants logiciels de l’algorithme sur les composants mat´eriels de l’architecture distribu´ee, tout en respectant des contraintes temps r´eel.

5.3.2 Algorithmes multi-objectifs

`

A la diff´erence des approches uni-objectif, les approches multi-objectifs [6, 64, 66, 73] s’int ´e-ressent au probl`eme de la fiabilit´e et aussi au probl`eme de la tol´erance aux fautes. Donc, ces approches visent deux objectifs qui sont la maximisation de la fiabilit ´e et la tol´erance aux fautes mat´erielles.

Shatz et al. ont propos´e dans [73] quatre algorithmes hors-ligne de distribution/ordonnancement dans le but de g´en´erer des allocations fiables et tol´erantes aux fautes. Leur mod`ele suppose que les

fautes sont des fautes permanentes des processeurs et des m´edia de communication. Ils supposent que la d´efaillance des composants mat´eriels (processeurs et m´edia de communication) suit une loi exponentielle `a taux de d´efaillance constant et que chaque composant mat´eriel d´efaillant est rem-plac´e imm´ediatement apr`es sa d´efaillance. Contrairement `a la m´ethodologie que nous pr´esenterons au chapitre 8, ces algorithmes ne consid`erent que l’objectif de la maximisation de la fiabilit´e dans leur fonction de co ˆut pour trier les composants logiciels `a ordonnancer. La mesure de fiabilit´e cal-cul´ee par ces algorithmes repr´esente la probabilit´e que le syst`eme fonctionne correctement durant la totalit´e de la mission. En effet, le co ˆut d’ex´ecution d’un composant logiciel est la somme des dur´ees de toutes ses ex´ecutions durant cette mission.

Xiao et al. ont propos´e dans [64] une heuristique de distribution/ordonnancement temps r ´eel `a deux objectifs. Le premier objectif consiste `a g´en´erer une allocation tol´erante `a une seule faute per-manente d’un processeur, tandis que le deuxi`eme objectif consiste `a maximiser la fiabilit´e de cette allocation. Leur mod`ele suppose que la d´efaillance des processeurs suit une loi exponentielle `a taux de d´efaillance constant. La tol´erance aux fautes des processeurs est obtenue par l’utilisation de la redondance passive des composants logiciels. La m´ethodologie que nous pr´esenterons au chapitre 8 utilise quant `a elle la redondance active des composants logiciels. L’heuristique que proposent Xiao et al. est une heuristique glouton de type ordonnancement de liste [83], bas ´ee sur une fonction de coˆut `a deux objectifs (temps r´eel et fiabilit´e) pour trier les composants logiciels `a ordonnancer. Au contraire de [73], la mesure de fiabilit´e calcul´ee par cette heuristique repr´esente la probabilit´e que chaque composant logiciel fonctionne correctement durant uniquement son ex ´ecution, ce qui ne n´ecessite donc pas d’estimer la dur´ee totale de la mission du syst`eme.

Auluck et Agrawal ont pr´esent´e dans [6] une heuristique de distribution/ordonnancement, ap-pel´ee RDRTPSA (Reliability Driven Real Time Periodic Scheduling Algorithms). Ils utilisent le mˆeme mod`ele de fautes et la mˆeme fonction d’´evaluation de la fiabilit´e que [73]. Cependant, `a la diff´erence de [73], Auluck et Agrawal supposent que les m´edia de communication sont sans fautes, et la mesure de fiabilit´e calcul´ee par leur fonction de d’´evaluation repr´esente la probabilit´e que le syst`eme fonctionne correctement durant un cycle d’ex´ecution du syst`eme. La taille d’un cycle d’ex´ecution repr´esente la longueur de l’allocation g´en´er´ee par leur heuristique. Enfin, la tol´erance aux fautes des processeurs est obtenue par l’utilisation de la redondance passive des composants logiciels.

5.3.3 Discussion

L’algorithme de distribution/ordonnancement que nous proposons dans le chapitre 8 est class ´e parmi les algorithmes uni-objectif. Il peut ˆetre facilement ´etendu pour tol´erer en plus des fautes mat´erielles, ce qui en ferait un algorithme multi-objectifs. Ceci est du `a l’utilisation de la redon-dance active dans notre solution.

5.4 Conclusion 73

5.4 Conclusion

Nous avons pr´esent´e dans ce chapitre diff´erents algorithmes de distribution/ordonnancement, existants dans la litt´erature, pour g´en´erer des distributions/ordonnancements tol´erants aux fautes et fiables. Les algorithmes que nous avons pr´esent´es sont tous bas´es sur la redondance logicielle des composants logiciels. Nous pr´esenterons dans ce qui suit, trois m´ethodologies pour la g´en´eration de ce type de distribution/ordonnancement. Elles sont bas´ees sur la redondance active et hybride des composants logiciels.

«La difficult´e avec la tol´erance, vient de ce qu’elle parait tout `a la fois n´ecessaire et impossible. »

Bernard WILLIAMS

Chapitre 6

ethodologie AAA-TP pour des

architectures `a liaisons point- `a-point

esum´e

Ce chapitre pr´esente une nouvelle m´ethodologie pour la g´en´eration automatique de dis-tribution/ordonnancement tol´erant aux fautes pour syst`emes distribu´es r´eactifs embarqu´es. La m´ethodologie propos´ee est adapt´ee aux architectures mat´erielles munies d’un r´eseau de communication compos´e uniquement de liaisons point-`a-point. Elle permet de tol´erer une ou plusieurs fautes temporelles des processeurs et des liens de communication. La tol´erance aux fautes est obtenue hors-ligne en deux phases. La premi`ere phase s’appuie sur un formalisme de graphes pour transformer une sp´ecification d’un graphe d’algo-rithme sans redondances en une sp´ecification avec redondances et relations d’exclusion. La deuxi`eme phase consiste `a allouer spatialement et temporellement les composants logiciels de ce nouveau graphe d’algorithme sur les composants mat´eriels d’un graphe d’architec-ture.

6.1 Pr´esentation du probl`eme bi-objectifs de tol´erance aux