Académique Documents
Professionnel Documents
Culture Documents
Ye-Qiong Song
LORIA – Nancy Université
Campus Scientifique, BP239
54506 Vandoeuvre-lès-Nancy
song@loria.fr
2.4. Expression de contraintes temps réel selon le L’utilisation d’un κ-pattern fixe a l’avantage de
modèle (m,k)-firm ramener le problème de l’analyse d’ordonnançabilité
du système (m,k)-firm à celui de l’analyse
Une source sous contrainte temps réel (m, k)-firm d’ordonnançabilité classique. L’application de cette
exprime sa contrainte en spécifiant simplement la valeur classification peut être utile dans le domaine du
des deux paramètres : m et k. Cette source peut se multimédia. En effet, ce concept peut être appliqué à
trouver dans l’un des deux états : normal et échec un flux de paquets vidéos pour sélectionner les
transitoire. La connaissance de son état à l’instant t paquets critiques dans un GOP (Group of Pictures) en
dépend de l’historique du traitement des k derniers utilisant le standard de compression MPEG. Par
clients générés par la source. Si l’on associe ‘1’ à un exemple, un flux compressé utilisant la structure du
client respectant son échéance et ‘0’ à un client ratant GOP suivante [IPBBPBBPBB], où les paquets I (Intra
son échéance, cet historique est alors entièrement décrit images) et P (Predicted images) sont plus importants
par une suite de k bits appelée une k-séquence. que les paquets B (Bi-directional
predicted/interpolated images), peut être considéré
Dans un système qui peut être modélisé par MIQSS, comme étant un flux ayant des contraintes temporelles
on peut définir l’état du système à un instant t à partir de type (4,10)-firm et spécifié par le κ-pattern suivant
des états des sources du même instant. Un système est {πi(1≤i≤k)} = {1100100100}. Ce κ-pattern marque les
dit en état d’échec transitoire si au moins une de ses paquets des trames I et P comme critiques et les
sources est en échec transitoire (une sorte de ET logique paquets des trames B comme optionnels, en se basant
entre les états de l’ensemble de sources). sur le critère d’importance relative des trames MPEG.
Il convient de noter que le choix du meilleur
Notons que la k-séquence réalisée par un algorithme marquage dépend de la nature des sources de flux.
d’ordonnancement n’est pas nécessairement répétitive. L’étude plus détaillée sur ce sujet sort du cadre de ce
On parle alors de k-séquence dynamique. document. Par conséquent, en cas de surcharge où il
est impossible d’assurer les échéances de tous les
Un cas particulier d’expression de contrainte (m,k)- paquets d’un flux MPEG, une des possibilités pour
firm est la spécification d’une k-séquence fixe appelée un limiter la dégradation de la QdS est de garantir la
κ-pattern. Cette technique s’inspire du modèle de calcul livraison à temps des trames I et P, si possible, au
imprécis où une tâche est composée d’une partie critique détriment des trames B. En spécifiant pour chaque
(c’est-à-dire obligatoire) et d’une partie optionnelle. Le flux sa contrainte (m,k)-firm, le respect de m parmi
κ-pattern d’une source ayant une contrainte temporelle une fenêtre de k paquets consécutifs permettrait de
(m,k)-firm est défini par la succession de k éléments de maintenir une QdS acceptable en évitant de rater les
l’alphabet {0, 1} où ‘0’ indique une demande de échéances consécutives. En général, le rejet des
traitement optionnelle et ‘1’ une demande critique avec paquets adéquats selon un profil de perte autorisé bien
∑
k défini, permet de réduire la charge du système et
π = m où πi est le ième élément du κ-pattern pour
i =1 i résulte en une transmission accélérée des paquets en
1 ≤ i ≤ k . En répétant continuellement le κ-pattern, on attente.
classe les demandes de traitement des clients d’un flux
(ou une source) en deux catégories : optionnelle et
critique. Il est facile de prouver qu’il suffit de traiter
3. Techniques d’analyse de temps de réponse d’un client de priorité i (de source Si) consiste
toujours à trouver le temps maximal d’attente dû à : 1)
l’occupation du serveur par des clients plus
Supposons que nous nous intéressons à fournir la prioritaires (de priorités de 1 à i-1) ; 2) l’occupation
garantie déterministe de temps de réponse dans le du serveur par un client moins prioritaire car non
modèle MIQSS avec l’ordonnancement à priorité fixe. préemptif.
Il est clair que cela n’est possible que lorsque le flux
d’entrée soit borné. Nous allons présenter dans cette
section deux approches développées séparément par la Bornes pour majorer les
communauté du temps réel et la communauté des flux d’entrée
réseaux. La première, appelée WCRTA (« Worst Case 6
Response Time Analysis »), repose sur la trajectoire 5 F(t) périodique
du pire cas, et la seconde, appelé NC (« Network
4 F(t) périodique
Calculus »), sur une courbe linéaire caractérisée par la
taille de la rafale (notée par σ) et le débit moyen (noté
3 avec gigues
1 2 3
source
t
Cette équation calcule le temps de réponse pour le Cas 1 : J = 0
premier client en tête de la file d’attente de la ième source
J
1 2
J
3
source. t
Cas 2 : J ≤ T - C
J J
Si la valeur retournée de Ri par l’équation 3 est source
1 3 2
J t
supérieure à la période du client, le pire temps de Cas 3 : J > T
réponse peut se produire pour les prochains clients car
au moins le prochain sera gêné par ce présent qui est
de la même priorité [21]. En incluant la gigue dans Figure 4 Ordre d’arrivée des clients avec des
[21] ou en prenant les résultats dans [13], l’équation gigues différentes
générale du pire temps de réponse du kième client pour
J i ∈⎡⎣0, Ti ⎡⎣ s’exprime par :
Dans le cas considéré dans [13, page19], l’ordre de
i −1 ⎢ I in + J j ⎥
n +1
Ii,k ∑
= max i +1≤ j ≤ N (C j ) + ( k − 1) * Ci + (⎢
⎢ Tj ⎥
⎥ + 1)C j (4) traitement de clients par le serveur est l’ordre de leur
génération à la source. Pour ce faire, on peut imaginer
j =1 ⎣ ⎦
de donner des priorités décroissantes aux clients
{
Ei , k = Ci + I i , k } (5) générés, garantissant ainsi l’ordre de génération
pendant la période où plusieurs clients de la même
k
(
Ri = Max Ei , k − (k − 1) ⋅ Ti ) (6) source sont en attente de service dans la file d’attente.
Un client venant d’une source de priorité i ne sera
Où Ei,k est l’instant de fin de service du kième client donc jamais bloqué par ceux qui vont arriver après
de la période occupée. L’itération s’arrête pour la (dans le cas sans gigue) de la même source et qui ont
première valeur de Ei ,k < Ti car cela marque la fin de la priorité i.
la période occupée. Compte tenu du résultat dans [19], Dans notre cas, comme on s’intéresse à
si une période occupée est inférieure à r+2P, nous l’ordonnancement de paquets dans un réseau, un
prenons le soin d’examiner toutes les périodes nœud intermédiaire d’un réseau de commutation de
occupées durant r + 2P afin de déterminer le pire paquets n’aura pas la connaissance de cet ordre
temps de réponse. L’équation 4 donnant Ii,k converge logique à la source et ne peut donc considérer que
si et seulement si la charge générée par les sources des l’ordre d’arrivée des clients (qu’il soit identique ou
i premières priorités est inférieure ou égale à 1. différent de l’ordre du départ à la source). Il faut alors
prendre en compte en plus, dans le pire cas, le blocage
La prise en compte du cas de plusieurs sources par du service d’un client de priorité i par tous les autres
priorité clients de la même priorité qui risquent d’arriver avant
le client considéré à cause de la gigue.
Bien que dans [13, page26] il soit remarqué que
ces équations restent encore valables même si la gigue Nous proposons donc une extension pour estimer
est supérieure à la période, dans notre cas, le domaine le pire temps de réponse pour des valeurs de gigues
de validité des équations 4 à 6 se limite bien au cas importantes dans le cas où l’ordre d’arrivé est
des gigues inférieures aux périodes. En effet, avec des considéré à la place de l’ordre de génération [13,
gigues supérieures à la période, les clients ne suivent page19]. Pour une gigue Ji telle que
plus nécessairement l’ordre d’arrivées prévu mTi ≤ J i < ( m + 1)Ti , alors dans le pire cas, on peut avoir
(équivalent à l’ordre de leur génération à la source jusqu’à m clients de la même source qui bloquent le
sans gigue) comme illustré par le cas 3 dans la Figure client courant. Nous ajoutons dans l’expression du
4. pire temps de réponse un délai supplémentaire comme
étant un facteur de blocage additionnel. Pour le
Cette figure montre qu’une source génère des
premier client d’une période occupée, le pire temps de
clients dans l’ordre (1, 2, 3). Mais ces clients ont subi
réponse est exprimé par :
des délais divers (gigues) avant arriver dans la file
d’attente pour être servis. On voit bien que dans le cas
i −1 ⎢ I in + J j ⎥
n +1
{ }
I i , k = max i +1≤ j ≤ N (C j ) + mCi + ∑ (⎢
⎢ Tj ⎥
⎥ + 1)C j (7)
Fi (t ) − Fi ( s ) ≤ σ i + ρi (t − s ) ∀0 ≤ s ≤ t (11)
j =1 ⎣ ⎦
La même procédure que précédemment pour les σi représente la taille de la rafale maximale et ρi
équations 4, 5 et 6 reste valable dans ce cas pour représente le débit moyen à long terme de la ième
calculer les pires temps de réponse des prochaines source.
itérations si nécessaire. L’état stationnaire est atteint Considérons un ensemble de N sources de clients,
pour une valeur de Ei,k inférieure à la période. tel que chaque source i est (σi , ρi)-borné, non
L’équation générale du temps de réponse du kième préemptive et servie selon la politique à priorité fixe.
client de la ième source pour une gigue Rappelons que le client de la source Si est plus
J i ∈ ⎡⎣mTi ,(m + 1)Ti ⎡⎣ s’exprime par :
prioritaire que le client de Sj si et seulement si i<j.
La borne du temps de réponse d’un client de la ième
i −1 ⎢ I in + J j ⎥ source est [7] :
n +1
{ }
I i , k = max i +1≤ j ≤ N (C j ) + mCi + ( k − 1)Ci + ∑ (⎢
⎢ Tj ⎥
⎥ + 1)C j (8)
j =1 ⎣ ⎦
i
∑σ j ( )
+ maxi +1≤ j ≤ N Wj
{
Ei , k = Ci + I i , k } (9) Di max =
j =1
i −1 (12)
c− ∑ρ j
j =1
(
Ri = Max Ei , k − (k − 1) ⋅ Ti
k
) (10)
N
Pour la condition de stabilité c ≥ ∑ρ i .
i =1
Ce résultat est très important pour analyser les
pires temps de réponse pour des topologies complexes
et des flux à gigues importantes dans un réseau. Où c est la vitesse de traitement du serveur (bit/s)
et Wi = c.Ci la taille d’un client (en bits).
0
-18 -16 -14 -12 -10 -8 -6 -4 -2 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60
Qt Travail Arrivée T= 10 Qtt Travail Arrivée T=20
W
Pente Optimale T=10 Pente Optimale T=20
σ= (T + J ) (14)
T
4. (m,k)-WFQ
S1
Sk1
Prior=1 L’ordonnanceur WFQ (Weighted Fair Queueing)
SK1 [26] est déployé dans les commutateurs et routeurs du
S1 réseau Internet pour fournir de la QdS grâce à ses
propriétés de garantie de bande passante et de délai
Ski borné pour des flux (σ,ρ)-bornés. L’algorithme (m,k)-
Prior=i
SKi WFQ [3] consiste à intégrer les contraintes temporelles
(m,k)-firm au processus d’ordonnancement de WFQ.
S1 Nous faisons d’abord un rappel du principe de WFQ afin
SkP d’expliquer ensuite l’apport de (m,k)-WFQ.
Prior=P
SKP
4.1. Algorithme WFQ et ses limites
Figure 7 Modèle MIQSS avec Ki sources par WFQ garantit à chaque flux servi la proportion de la
priorité bande passante réservée selon son coefficient de partage
Φi. Chaque paquet est estampillé par un tag appelé date
Ce modèle peut correspondre à un commutateur virtuelle de fin de service. Le serveur sélectionne
Ethernet qui ne peut gérer qu’un nombre limité de toujours le paquet dont la date virtuelle de fin de service
priorités P (≤8 selon IEEE802.1p), alors que le est le premier à partir de l’instant de sélection. Dans
nombre de priorités utilisatrices (ou le nombre de WFQ la date virtuelle de fin de service est définie par :
sources) N est supérieur à P. On regroupe alors ces N
sources en P priorités avec N = K1 + K2 + … + KP où
Ki représente le nombre de sources par priorité i. Si
l’ordonnancement pour accéder au serveur est avec
priorité fixe sans préemption, nous pouvons appliquer
{ ( )}
Fik = max Fik −1 , V t ik +
Lki
φi
(15)
σi Lmax
Di ,max = + . (16)
gi c
( )
R*(t)
MUX
⎡M e− M ⎛ p − R ⎞ ⎤
+
⎢ R + R ⎜⎝ p − r ⎟⎠ , ⎥
= max ⎢ ⎥ +T
(k-m,k)- R*2(t) Régulateur (18)
( )
filtre λo (b,ρ) R*3(t) Dmax
⎢⎛ ( λ M + λ σ ) b − M ⎛ ω − R ⎞ ⎞ ⎥
⎢⎣⎝⎜ + ⎜ ⎟⎟
⎝ p − r ⎠ ⎠⎦⎥
C O
e
Courbe d’arrivée réelle
r
vic
b Dans ce document nous suivons la troisième approche
ser
C C’
en modifiant légèrement le modèle (m,k)-firm. Cette
de
ω
e
modification consiste à relâcher la contrainte
urb
R
Co
B B’
traditionnelle de l’échéance sur chaque paquet. Nous
Courbe d’arrivée servie
p par (m,k)-WFQ définissons une échéance globale pour un ensemble de k
paquets consécutifs. Ce nouveau modèle est noté par R-
M A A’ (m,k)-firm (Relaxed (m,k)-firm). Nous allons montrer
Temps (sec)
que ce relâchement peut satisfaire certain nombre
Τ d’applications et permet de résoudre efficacement le
problème du taux d’utilisation.
Figure 10. Borne maximale sur le délai par (m,k)-
WFQ dans le cas du trafic (M,p,b,r)-borné 5.1. Définition de R-(m,k)-firm
k Δ
3
Source
2
Cet exemple montre que R-(m,k)-firm est plus souple
1
car nous avons une liberté plus grande pour servir des
Figure 12: QdS de bout en bout par flux paquets dans une fenêtre de k paquets, permettant ainsi
d’éviter plus facilement les points d’interférence (pics de
La contrainte R-(m,k)-firm peut intéresser la charge).
transmission de paquets audio et video sur l’Internet. En
effet, les paquets arrivés sont souvent mis en mémoire Maintenant le modèle R-(m,k)-firm est décrit, nous
tampon jusqu’à une certaine limite Δ avant le allons proposer dans la section suivante un mécanisme
déroulement du contenu (musique ou film) dans le buffer de gestion de file d’attente appelé DLB (Double Leaks
(k paquets par exemple). En cas de surcharge du réseau, Bucket) pour garantir de façon déterministe la contrainte
il peut être préférable de rejeter un certain nombre de R-(m,k)-firm tout en fournissant un taux élevé
paquets (k-m paquets par exemple) afin de réduire d’utilisation de ressources. En effet, satisfaire la
immédiatement la congestion tout en assurant une contrainte R-(m,k)-firm n’est pas un trivial car le facteur
certaine fluidité au détriment de la qualité (auditive ou (m,k) et le facteur délai sont antagonistes. D’une part,
visuelle). servir plus de paquets favorise le facteur (m,k) mais
conduit à plus de délai. D’autre part, rejeter plus de
paquets peut réduire le délai mais risqué de violer le
5.3. Exemple de R-(m,k)-firm facteur (m,k).
q1
S wit c h
Courbe
d'arriv ée
TV B
q2
2
+C
ρ
C1
q1 Courbe de
C1 serv ice
DL SL q2
C2
C1+
σ
C1
Figure 14: Model de DLB (version paquet)
tint t1 t2
Le réseau doit garantir les paquets qui traversent SL, Figure 16 : Evolution de la courbe de service
tandis que DL, contrôlé par un « switch », donne la
capacité de rejet de DLB. Avec une capacité garantie de
SL, la contrainte R-(m,k)-firm peut être satisfaite. Les Soit S la taille d’un paquet, la garantie déterministe de
paquets sortis par DL peuvent d’ailleurs soit être rejetés la contrainte R-(m,k)-firm d’un flux (σ,ρ)-borné est
définitivement, soit être conservés pour une transmission donné par les deux conditions suivantes.
ultérieure avec une autre classe de trafic moins
prioritaire par exemple. C1 m
Condition (1) q1 ≥ ≥
Comme montré dans Figure 14, il y a deux buffers C2 k − m
avec la capacité d’un paquet pour DL et SL notés par Condition (2) Si σ <q2 alors
TVB (temporary vessel buckets). Ces buffers sont ⎛ q −1 ⎛ q − q q ⎞ ⎞
bloquants au sens où on ne peut prendre un paquet du max ⎜⎜ 2 S ,⎜ 2 1 + 1 ⎟ S ⎟⎟ ≤ Δ
DLB si le paquet dans le TVB est sorti. En plus, le TVB ⎝ C1 ⎝ C1 +C2 C1 ⎠ ⎠
de DL ne peut prendre un paquet de DLB que seulement sinon
quand le « switch » est ouvert (en état 1). La Figure 15 ⎛ q −1 ⎛ σ − q q ⎞ ⎞
montre le fonctionnement du « switch ». Soient C1 et C2 max ⎜⎜ 2 S ,⎜ 1 + 1 S⎟ ≤ Δ
⎟ ⎟
⎝ C1 ⎝ C1 +C2 C1 ⎠ ⎠
les capacités respectives de SL et DL. Le « switch »
fonctionne selon le niveau du seau noté par q et est
contrôlé par une fonction à double seuils (Figure 15) où Condition (1) assure le facteur (m,k) tandis que
1 correspond à l’état ouvert et 0 à l’état fermé du Condition (2) assure le facteur délai Δ de R-(m,k)-firm.
« switch ». Nous renvoyons le lecteur à [5] pour la preuve.