• Aucun résultat trouvé

Exemple de graphe d’architecture

5.2.3 Contraintes d’exécution et de communication

En plus de l’algorithme et de l’architecture, d’autres données tout aussi importantes sont à prendre en considération. Il s’agit des temps d’exécution ainsi que des temps de communication ou de transmission des données.

Texe I I0 A B C D O

P1, P3 4 3 2 6 8 4 4

P2, P4 6 5 3 8 2 4 6

TABLE5.1: Exemple de temps d’exécution.

Un temps d’exécution est défini pour chaque paire(ti, pj), il correspond au pire temps d’exécution de la tâche ti sur le processeur pj. En supposant que les processeurs sont hétérogènes, une tâche pourrait avoir des temps d’exécution différents selon le processeur sur lequel elle s’exécute. Un cas particulier est celui où une tâche ne peut s’exécuter sur un processeur donné, auquel cas l’association est exprimée par la valeur "∞".

D’autre part, à chaque paire (ti 7→ tj, Lnm), est associé un temps qui exprime le pire temps de transfert de données ti 7→ tj sur le lien de communication Lnm. Quant au temps de communication intra-processeur, il est supposé être nul.

Tcom I 7→ A , I 7→ B I0 7→ B , I0 7→ C A 7→ D , B 7→ D , C 7→ O

L12, L13 4 6 2

L21, L24 8 5 3

L34 6 4 2

TABLE5.2: Exemple de temps de communication.

Les tableaux 5.1 et 5.2 sont respectivement des exemples de temps d’exécution et de communication pour l’algorithme ALG et l’architecture ARC des figures 5.2 et 5.3.

5.2.4 Notations

Le tableau 5.3 contient les notations [Kalla et al., 2004] utilisées dans nos approches. Le numéro exposant entre parenthèses désigne l’étape de l’heuristique.

5.2 Modèles d’entrée des approches proposées 93

Libelle´ S´emantique

Tconc(n) Liste des tâches concurrentes (Une tâche est dite concurrente si tous ses prédécesseurs sont déjà ordonnancés)

Tsched(0) La liste des tâches déjà ordonnancées

Sbest(n) (ti, pj) La date au plus tôt à laquelle la tâche ti peut commencer l’exécution sur le processeur pj

Sworst(n) (ti, pj) La date au plus tard à laquelle la tâche ti peut commencer l’exécution sur le processeur pj

¯

S(n)(ti) La date de début au plus tard depuis la fin de ti pred(ti) L’ensemble des prédécesseurs de la tâche ti succ(ti) L’ensemble des successeurs de la tâche ti

R(n) La longueur du chemin critique

TABLE5.3: Sémantique des notations.

5.2.5 Longueur d’ordonnancement (Makespan)

Dans notre approche, l’ordonnancement est hors ligne, ce qui signifie que les temps de début d’exécu-tion de chaque tâche sur chaque processeur ainsi que les temps de transfert des données sur chaque lien de communication sont connus a priori. La longueur d’ordonnancement (schedule lenght ou Makespan) est le temps de fin d’exécution de la tâche qui, parmi toutes les tâches, s’est terminée en dernier. Il est défini comme suit :

M = max pj  max tion pj end(ti, pj)  (5.1)

où end(ti, pj) est le temps de terminaison d’exécution de la tâche tisur le processeur pj.

La longueur d’ordonnancement est un objectif à minimiser. La fonction de pression d’ordonnancement (schedule pressure) [Sorel, 1994], notée σ(n)est définie pour chaque opération ti ∈ Tconc(n) et chaque

processeur pj comme suit :

σ(n)(ti, pj) = Sbest(t(n) i,pj)+ ¯St(n)i (5.2)

σ(n)(ti, pj) = Sbest(t(n)

i,pj)+ texe+ tcomm+ ¯St(n)i (5.3)

Elle est utilisée pour sélectionner la tâche qui minimise la longueur du chemin critique. Une variante de la pression d’ordonnancement, notée¯σ(n)est calculée comme suit :

¯

σ(n)(ti, pj) = Sworst(t(n)

i,pj)+ ¯St(n)i (5.4)

L’utilisation de Sworst permet la réduction de la longueur d’ordonnancement en présence de pannes de N composants arbitraires.

La pression d’ordonnancement sûre (dependable schedule pression) [Kalla et al., 2004] notée δ(n) est une fonction coût servant à définir la priorité entre les tâches. Elle est calculée pour chaque tâche ti ∈ t(n)concet un ensemble de processeurs Ptaches ⊂ P comme suit :

δ(n)(ti, Ptaches) = max pj∈Ptaches(ti)σ¯(n)(ti, pj) (5.5) où Ptaches(ti) =  pj/pj ∈minN +1 pj∈Pσ¯(n)(ti, pj) 

La pression d’ordonnancement sûre mesure à quel point l’ordonnancement d’une tâche augmente le chemin critique d’un algorithme en absence de panne. Nous l’utiliserons comme fonction coût pour estimer la longueur d’ordonnancement.

5.2.6 Modèle de fiabilité

La fiabilité est une caractéristique qui concerne aussi bien les processeurs que les liens de communi-cation. Selon le modèle de fiabilité le plus adopté [Shatz et al., 1992], les pannes sont transitoires et la

5.2 Modèles d’entrée des approches proposées 95

durée maximale d’une panne n’affecte que la tâche courante s’exécutant sur le processeur où la panne est survenue. Ceci est également valable pour les liens de communication. En plus, l’occurrence de pannes suit une loi Poisson avec un paramètre constant λ.

La fiabilité d’un système mesure finalement sa continuité de service. La fiabilité d’un processeur P (respectivement d’un lien de communication L) pendant la durée d est [Girault and Kalla, 2009] :

R = e−λd. (5.6)

Par conséquent, le taux de panne d’un processeur P (respectivement d’un lien de communication L) est :

F = 1 − R = 1 − e−λd. (5.7)

Plus particulièrement, la fiabilité d’une tâche ou d’une dépendance de données X placée sur un composant hardware C est :

R(X, C) = e−λcexe(X,C)

(5.8)

L’utilisation de la fiabilité et de la longueur d’ordonnancement comme critères entraîne des difficultés techniques. Ceci est dû au fait que la fiabilité dépend intrinsèquement de la durée des tâches et des communications [Girault and Kalla, 2009]. Par conséquent, plutôt que d’utiliser le modèle classique de la fiabilité [Shatz et al., 1992], nous utiliserons le concept du GSFR (Global System Failure Rate) [Girault and Kalla, 2009]. Le GSFR, notéΛ(S), est le taux de panne par unité de temps de l’ordonnancement multi-processeurs obtenu, il est défini comme suit :

Λ(S) = −log R(S)

U(S) (5.9)

où U(S) =P

(ti,p)∈SExe(ti, p) est l’utilisation totale des ressources hardware et R sa fiabilité. Une telle formulation de la fiabilité signifie que le système est vu comme une seule tâche exécutée sur

une machine. De cette manière, le taux de panne ne dépend plus de la durée de la tâche. Maximiser la fiabilité consiste en une minimisation du GSFR.

D’autres facteurs sont également à prendre en compte, ce sont les taux de panne relatifs aux processeurs ainsi qu’aux liens de communication. De telles données d’entrée permettent d’évaluer la fiabilité du système.

P1,P2 P3,P4 L12, L14, L32 L13, L24, L34

10−5 10−7 10−6 10−4

TABLE5.4: Exemple de taux de panne de processeurs/liens.

Le tableau 5.4 représente un exemple de taux de pannes d’un ensemble de processeurs et des liens de communication les reliant.

5.3 AAA-Bi-Hiérarchique

Dans l’approche AAA-Bi-Hiérarchique [Bendib et al., 2013], deux objectifs sont pris en compte. Il s’agit de la fiabilité et de la longueur d’ordonnancement. Étant donné un algorithme (application) et une architecture cible, le but est de produire des ordonnancements réalisant de bons compromis entre les deux objectifs.

5.3.1 Principe de l’approche

Dans le problème d’ordonnancement initial (Figure 5.4), les entrées sont une application ALG, une architecture ARC ainsi qu’un ensemble de contraintes d’exécution et de communication. En plus, une contrainte de départ est injectée au problème afin de limiter l’espace de recherche.

5.3 AAA-Bi-Hiérarchique 97

Documents relatifs