Analyse de Performance des Protocoles de Contrôle de Congestion

Transcription

Analyse de Performance des Protocoles de Contrôle de Congestion
SETIT 2009
5th International Conference: Sciences of Electronic,
Technologies of Information and Telecommunications
March 22-26, 2009 – TUNISIA
Analyse de Performance des Protocoles de Contrôle de
Congestion pour les Centres de Données Sous
Ethernet
Héla MLIKI*, Lamia CHAARI * et Lotfi KAMOUN*
Laboratoire d’Electronique et de Technologie de L’Information (L.E.T.I)
Ecole National d’Ingénieur de Sfax, 3038 Sfax TUNISIE
[email protected]
[email protected]
[email protected]
Résumé: Les évolutions récentes des applications réseaux ont imposé de nouvelles contraintes sur les commutateurs
Métro-Ethernet ; d’abord en raison d’un nombre plus élevées de stations à interconnecter, et ensuite en raison des
exigences de services et de performances. Ces contraintes ont contribué à mettre en évidence des limites des réseaux
Ethernet commutés relatives au contrôle. C’est pourquoi récemment, de nombreux travaux ont été consacrés au
contrôle de congestion au niveau des commutateurs Métro-Ethernet et divers algorithmes ont été proposés. Ces
algorithmes diffèrent principalement par le trafic supplémentaire générer ainsi que le temps de réaction vis-à-vis du
gradient du trafic. Nous proposons dans cet article une étude des mécanismes de contrôle de congestion de type BNC
(Backward Notification Congestion Management) pour Ethernet métropolitain. Les principaux mécanismes de contrôle
de congestion doivent être conformes aux spécifications définies par le standard IEEE 802.1Qau. Dans notre analyse
Nous intéressons particulièrement aux deux techniques ECM (Ethernet Congestion Manager) et QCN (Quantification
Congestion Notification). Nous étudions le mécanisme de chacun de ces deux protocoles et les algorithmes qu’ils
mettent en œuvre ainsi que les principales contraintes qui ont guidé leur conception concernent la complexité, le
contrôle et les performances.
Mots clés: ECM, Métro-Ethernet, QCN, Congestion , Analyse de performance, OMNeT++.
protocoles et procédures qui supportent la gestion de
congestion. Il est réalisé pour les flux à long vie de
données dans un domaine réseau de bande passante
limité.
INTRODUCTION
Les réseaux Ethernet possèdent de nombreuses
caractéristiques qui ont contribué à leur succès actuel.
S’agissant des fonctionnalités, la transparence et
l’auto-configuration facilitent le déploiement et la
maintenance, et améliorent l’´evolutivit´e des réseaux
Ethernet. Ses évolutions récentes démontrent que
Ethernet est une technologie qui s’adapte `a des
environnements aux contraintes diverses. Mais pour
cela, il est parfois nécessaire d’y implémenter de
nouvelles techniques visant à combler les faiblesses
héritées de sa conception initiale.
Ceci est réalisé en permettant aux nœuds du cœur
de réseau de signaler une information de congestion
aux stations de bords, afin de limiter leur débit pour
éviter la perte des trames. Ce mécanisme permet de
supporter les protocoles de couche supérieure qui ont
un taux élevés de perte ou bien qui sont sensible à la
latence.
Ce standard permet donc d’améliorer la
performance du réseau Ethernet métropolitain et
d’éviter la perte des trames et de réduire la latence
[NAT 07].
L'IEEE 802.1Qau a travaillé sur les mécanismes de
contrôle de congestion pour Ethernet depuis l’année
(2007). L'étendue de l'activité de la gestion de
congestion à l'IEEE 802.1 est limitée aux centres de
données qui génèrent un flot de données important à
l’issu duquel la probabilité de l’occurrence d’une
congestion est importante. Ce standard spécifie les
Les composants de base d’une architecture qui
intègre un système de contrôle de congestion sont le
point de congestion, le point de réaction et le point de
réflexion. Cette architecture est illustrée par la figure1.
-1-
SETIT2009
•Point de congestion: c’est l'entité qui exécute
l'algorithme de la détection de congestion et propage
cette information aux autres entités. Elle est
implémentée au niveau du commutateur.
-Le point de la réflexion réside à la destination, on
parle alors d’un contrôle de congestion de type FNC
(Forward Notification congestion management). On
considère alors le chemin de bout en bout. Toutefois,
on aura un plus long délai de la réaction (2xRTT) a
•Point de réaction : c’est l'entité qu'agit suite au
message de l'indication de congestion (congestion
indication message) et ajuste le débit (augmentation
ou réduction). Elle est habituellement implémenter au
niveau de la source et pourrait résider aussi au
commutateur d’extrémité.
comparé à notification de type BNC.
Dans le présent article, nous étions amenés à
mettre l’accent sur les techniques de contrôle de
congestion de type BCN (Backward Notification
congestion management). La section 2 sera consacrée
à l’étude et l’analyse du fonctionnement
du
mécanisme de contrôle de congestion ECM.
La
section 3 traitera le mécanisme QCN. La section 4
réservée pour l’analyse de performance ainsi que
l’interprétation des résultats. La dernière section est
consacrée pour conclure cet article suggérer certaines
perspectives à ce travail.
Point de réflexion : c’est l'entité qui reflète
l'information de contrôle de congestion au point de la
réaction.
1. ECM : Ethernet Congestion Manager
Connu aussi comme BCN Backward Congestion
Notification. ECM est un mécanisme de gestion de
congestion de la couche deux. Son principe consiste
à pousser la congestion du centre du réseau vers les
bords, utilise des limiteurs de débit au bord du réseau
pour reformuler les flux qui cause la congestion et
contrôler le débit en se basant sur la rétroaction venant
des points de congestion [JIA 06].
Figure 1 : Composants de contrôle de congestion.
1.1. Détection
Selon l'emplacement du point de la réflexion, deux
variétés du contrôle de congestion peuvent être
définies :
Pour détecter une congestion, il faut contrôler
l’utilisation de la file d’attente à un point de
congestion possible comme le commutateur du réseau
cœur. Ainsi il faut vérifier que les seuils de la file ne
sont pas dépassés [DAV 07] [NIC 03].
-Le point de la réflexion réside au point de
congestion (commutateur), on parle alors d’un
contrôle de congestion de type BNC (Backward
Notification congestion management). Son avantage
est un délai faible de la réaction. Cependant, il ne tient
pas du chemin de bout en bout, il est alors risqué pour
l’augmentation du débit.
La spécification des différents seuils de la file est
illustrée à la figure 2.
Figure 2 : File d'attente au niveau du commutateur du réseau cœur
-2-
SETIT2009
Handle_bcn_frame( rate_lim, bcn_frame)
{
Fb= calc_feedback(bcn_frame);
If (Fb < 0)
{
rate_lim R= rate_lim R* (1- min (Gd*Fb, alpha | );
rate_lim CPID= bcn_frameCPID;
}
Else
{
if (bcn_frame.CPID = = rate_lim CPID)
{
rate_lim R= rate_lim R+ min
(Gi*Fb, beta | );
}
}
}
La signification des différents seuils ainsi que les
indicateurs d’états de la file d’attente du commutateur
du réseau cœur est donné par le tableau 1.
Tableau 1 : Paramètres de la file d'attente.
PARAMÈTRES
ETAT
QLEN=Longueur
courante de la file.
QOLD=Longueur
de la file à un
échantillon
précédent.
CONFIGURATION
QEQ=Seuil d’équilibre
QMC=Seuil moyen de
congestion
QSEC=Seuil sévère de
congestion : ECM(0,0)
Si le feedback est négative (Fb<0) alors il y aura
une diminution de débit sinon on augmente le débit
1.2. Signalisation
La signalisation est définie par un message envoyé
du point de la congestion vers les stations de bord
émettrices de flux. Ce message ECM contient les
statuts et les variations de la file [DAV 07].
[GUE 07a]
Pour une congestion sévère on prend la réaction
suivante :
Le débit courant est mis à 0 et une horloge
aléatoire T est déclenchée tel que T∈[0,Tmax]; a
l’expiration de cette horloge le débit prend une valeur
minimale
Le principe de la signalisation par le feedback
positive et négative est illustré à la figure 3.
R
Rmin. Pour les prochains feedback négative
on aura des diminutions exponentielles pour le temps
de l’horloge maximale et le débit minimum :
Tmax
Tmax*2 et Rmin
Rmin/2. Pour le
prochain feedback positive Tmax et Rmin sont remis
aux valeurs initiales.
Il est à noter qu’aux absences de message ECM de
la part du point de congestion la station émettrice qui
défini le point de réaction augmente doucement sont
débit. Le bénéfique de cette augmentation
exponentielle se manifeste par une exploitation douce
d’une extra bande passante et de prendre en
considération le cas d’une perte du message du
feedback positive. L’augmentation individuelle du
débit est réalisée à un intervalle régulier Td, taux
courant R
R+Rd.
Figure 3 : Signalisation de congestion par les
feedback positive et négative.
On peut calculer aussi la valeur du RTT (Round
Trip Time) selon l’équation (1):
1.3. Réaction
(1)
La réaction est prise au niveau de la station
émettrice, celle-ci réduit son débit en se basant sur les
données du message de signalisation envoyé par le
point de congestion. L’ajustement du débit de la
source est défini selon l’algorithme Additive Increase
Multiplicative Decrease (AIMD) [DAV 07].
La figure 4 illustre un exemple d’augmentation et
de diminution de débit selon le feedback [DAV 07].
Dans le tableau 2 nous avons regroupé les
différents paramètres d’état et de configuration au
niveau du point de réaction.
Pour une congestion non sévère l’ajustement de
débit est défini par l’algorithme suivant :
-3-
SETIT2009
passante disponible. Toutefois, nous ne pouvons pas
augmenter le débit en se basant sur une valeur
instantané de Fb<0 ou de Qoff ou Qdelta parce qu’ils
vont tous changé de valeurs positives en négatives à
l’augmentation de RTT (Temps de cycle).
Pour exploiter donc un chemin d’une bande
passante disponible nous avons utilisé la méthode
SONAR au niveau de Point de Réaction (RP: Reaction
point) qui définie les étapes suivantes [ABU 97]:
• Réduction
decrease ».
multiplicative
« Multiplicative
• Recouvrement rapide « Fast Recovery (FR) ».
• Augmentation active « Active Increase (AI) ».
Figure 4 : Augmentation et diminution de débit
selon le feedback.
Tableau 2 : Paramètres définie au niveau du point de
ETAT
La figure 5 illustre le recouvrement rapide ainsi
que l’augmentation active.
PARAMÈTRES
CONFIGURATION
W=poids de composant
dérivé.
R= débit courant.
CPID= le courant
Congestion Point ID.
Gd=le gain de diminution
RTTavg=la dernière
mesure de RTT (Round
Trip time).
Rmin=le débit courant
minimum.
Tmax=Temps courant
maximale.
Gi=le gain
d’augmentation.
α= le débit maximum de
diminution.
β=le débit maximum
d’augmentation.
Figure 5 : Fast Recovery and Active Increase.
Wrtt=poids de filtre RTT.
1.4. Principe de la méthode SONAR
Td=horloge
d’augmentation
individuelle.
Le limiteur de débit RL (Rate Limiter) représente
dans la méthode SONAR le point de réaction (RP)
c'est-à-dire la machine émettrice.
Rd=somme
d’augmentation
individuelle.
Le RL envoie un ping périodique pour exploiter
une extra bande passante. Le comutateur qui ne
possède pas d’une extra bande passante répond en
indiquant cela, sinon pas de réponse.
A l’absence d’une réponse de la part du comutateur
le RL conclu que le chemin possède une extra bande
passante, le RL déduit cela à chaque fois qu’un ping
n’obtient pas d’ « echo ».
Rmin=débit minimum.
Tmax=temps maximum.
réaction.
1. QCN :
Quantification
Notification
1.5. L’algorithme en Rate Limiter (RL)
Congestion
RL passe à l’état WP à chaque fois qu’il reçoit un
signal Fb<0 ;
Lors d’une congestion sévère nous avons besoin de
s’assurer que la source trouve vite un débit plus faible.
A la disparition de ce problème de congestion et la
disposition d’une extra bande passante, il faut
permettre à la source de saisir une extra bande
passante. Pour cela il faut assurer un recouvrement
stable d’une bande passante disponible en se basant
sur une indication stable de l’existence d’une bande
Si l’horloge WP s’achève, le prochain paquet
envoyé par RL est un Paquet spéciale « special paket
».
Le paquet spécial représente un paquet de données
avec 1 bit remis pour indiquer qu’il est spécial.
Après que le paquet spécial est lancé, RL passe à
-4-
SETIT2009
un état d’attente d’écho WE (Waiting for echo).
envoyé par cycle, ensuite effectué un cycle de AI de
par exemple 75Kb envoyé.
Si RL entend un écho pour son SP « special paket
» alors le Ping Timer retourne à WP (Waiting to
probe) et le RL contenu l’opération (FR ou AI) [ABU
02].
A chaque instant la source est en FR ou bien en AI,
nous avons alors un boucle infinie de FR et AI.
A l’absence d’une bande passante disponible un
boucle de FR et de AI est effectué comme c’est décrit
dans la figure 8.
Si le WE temps s’achève alors le Ping Timer passe
à SF (Shortfuse) et le RL passe à HAI.
Le principe de l’algorithme Sonar au niveau du
limiteur de débit est illustré par la figure 6.
Figure 8 : Boucle infinie de FR et AI.
1.7. Loi de changement de débit courant (CR) et de
débit cible (TR)
A l’arrivé d’un feedback négative (Fb<0) :
Figure 6 : Algorithme de SONAR en RL.
Pendant le premier cycle de FR : Le débit courant
CR (Current Rate) diminue pour chaque signale de
Fb<0, et le débit cible (TR : Target Rate) reste
inchangé.
En HAI, RL augmente le débit grâce aux valeurs
byte_ctr et le ping Timer.
Pendant les cycles suivants : TR←CR (avant le
ping) ; CR← CR*(1-GD|FB|).
Le fonctionnement de l’horloge de valeurs byte_ctr
et le ping Timer est donné par la figure 7.
A la fin de chaque cycle FR : CR← (CR+TR)/2 (CR← Rd/2); TR ne change pas.
A la fin de chaque cycle AI ou HAI : TR←TR+RI
(pour AI) et TR← RI*Cycle_counter (pour HAI).
A la fin du premier cycle FR, si TR<10*CR alors
TR← TR/8 et CR← (TR+CR)/2.
Opération au niveau de Switch
Nous utilisons une horloge qui définie la période
de non congestion.
Soit : Q_eq= seuil de l’équilibre de la file
d’attente.
Figure 7 : Les horloges de RL : Byte-Ctr et ping
Timer.
Q_len= la longueur courante de la file.
Nous supposons que Q_eq=6 paquets.
Nous allons maintenir une estimation de feedback
pour chaque Rate Limiter (RL).
Nous supposons aussi que la bande passante est
disponible pour une file de longueur inférieure à 6
paquets.
Nous trouvons le Ping Timer dans un des trois
états : Waiting to probe (WP), Waiting for echo(WE),
Shortfuse (SF).
Si nous aurons Q_len < Q_eq cela veut dire que le
débit d’entrés dans la file est inférieur au débit sortant
1.6. Compteur d’Octet (Byte counter)
A chaque fois que le Q_len est inférieur à 6
paquets, le switch met son horloge de congestion. Si
l’horloge expire alors la bande passante est disponible
sinon l’horloge sera remit de nouveau pour Q_len
inférieur à 6 paquets. Si le Q_len devient à un moment
donné supérieur à 6, l’horloge sera interrompue et un
feedback négative est envoyé à la source avec une
probabilité P proportionnelle à Fb.
C’est pour calculer le nombre de cycle de FR (Fast
recovery) et de AI (Active Increase).
A l’arrivé d’un feedback négative le ping Timer se
déclenche et on effectue un recouvrement rapide
« Fast Recovery » FR.
Le compteur d’octet (Byte counter) calcule cinq
cycles de Fast Recovery pour par exemple 150 Kb
-5-
SETIT2009
Qsc=8
Qmc=5
Qeq=3
Les statistiques du débit minimal, maximal et
moyen du point de réaction sont données par la figure
10.
2. Résultats
Les résultats de simulation pour différentes
paramètres d’exécution de l’algorithme d’ECM sont
représentés par des diagrammes qui représentent
l’évolution du débit et la longueur courante de la file
au cours de la simulation. Nous avons utilisé
OMNeT++ comme outil de simulation [AND 05]
[GAB].
OMNeT ++ fourni une architecture à composant
pour les modèles; Les composants (modules) sont
programmés avec C++, puis assemblés dans des larges
composants en utilisant un langage de description de
haut niveau NED (NEtwork Description), elle peu
s’exécuter sur les systèmes d’exploitation Linux,
Unix, Windows.
L’algorithme
implémenté
ECM
(Ethernet
Congestion Manager) consiste à ajuster le débit de la
source selon l’état de la bande passante (disponible ou
non).
Le scénario utilisé à l’implémentation de
l’algorithme d’ECM contient une station qui émet des
messages, une file d’attente où les messages attendent
avant d’être servi pour le Core switch, et une station
réceptrice des messages.
Figure 10 : Les statistiques du débit minimal,
maximal et moyen du point de réaction.
Les statistiques de la longueur minimale,
maximale et moyenne de la file du point de congestion
sont données par la figure 11.
Figure 9: Topologie du réseau utilisé pour
l'implémentation d'ECM.
L’exécution de l’algorithme d’ECM dans un réseau
qui souffre de la congestion nous a fourni des
différents résultats selon les paramètres donnés dans le
fichier omnetpp.ini.
Pour les mêmes variables d’états et de
configurations du point de réaction qui sont inspirés
des expériences de Guenter Roeck en juillet 2007
[GUE 07b], nous avons effectué des variables d’états
et de configurations différentes pour le point de
congestion.
Figure 11: Les statistiques de la longueur
minimale, maximale et moyenne de la file du point de
congestion.
La variation du débit au cours de la simulation au
niveau du point de réaction est donnée par la figure
12.
Les paramètres d’états et de configurations de
point de réaction sont :
W=2
alpha=0.5
beta=0.5
CR=1000000 bit/s
Rmin=1000000 bit/s
Gd=0.00026667
Gi=0.53333
Tmax=1ms
Rd=100 bit/s
Td=1ms
les paramètres de configurations de point de
congestion sont :
-6-
SETIT2009
à celui d’ECM (Ethernet Congestion Manager). Les
efforts futurs devront aussi prendre en considération
une topologie de réseau plus compliqué avec plusieurs
nœuds. En outre, on peut envisager un Core Switch
qui dispose de plusieurs files d’attentes.
RÉFÉRENCES
[ABU 02] Abdu Kabbani,Rong Pan, Balaji Prabhaker and
Mick Seaman, “QCN : Algorithm for P-code”.
[ABU 97] Abdu Kabbani,Ashvin Lakshmikantha, Rong
Pan, Balaji Prabhkar, Mick seaman, “QCN: Transience,
Equilibrium,
Implementation”,
Telecom
Center
Workshop, 4 Septembre 1997.
Figure 12 : La variation du débit au cours de la
simulation au niveau du point de réaction.
[AND 05] Andrs Varga, “ OMNeT++ Descret Event
Simulation System version 3.2 User Manual », 29 Mars
2005.
La variation de la longueur de la file au cours de la
simulation au niveau du point de congestion est
donnée par la figure 13.
[DAV 07] David Bergamasco, « Ethernet Congestion
Manager (ECM) », IEEE 802 Plenary Meeting, 13 Mars
2007.
[GAB] Gabor Tabi, “Get into GNED, An introduction to the
GNED editor of OMNEST/OMNeT++”.
[GUE 07a] Guenter Roeck, « Cngestion Management
Protocols Addressing Concerns with Closed Loop,
Congestion Management Protocols », Teak Technologies
IEEE 802.1Qau, Stockholm Interim Meeting, September
2007.
[GUE
07b]
Guenter
Roeck,
Teak
Technologies, « Congestion Management Protocols
Simulation Results and Protocol Variations », Juin 2007
[JIA 06] J.Jiang and Raj Jain, “Simulation Modelling of
BCN V2.0 Phase 1: Model Validation”, IEEE
Congestion group Meeting, Denver, 8 Mars 2006.
Figure 13 : La variation de la longueur de la file
au cours de la simulation au niveau du point de
congestion.
[NAT 07]Natalie Giroux, Ken Young, “802.1Qau Design
Criteria Throughts”, juin 2007.
[NIC 03] Nicky Van Foreest, “Simulation Queueing
Network with ONeT++”, 24 Janvier 2003.
3. Conclusion
Nous proposant dans cet article une étude de
protocoles de contrôle de congestion ECM (Ethernet
Congestion Manager) et QCN (Quantification
Congestion Notification). Ce travail se place dans la
problématique de l’explosion de charge des réseaux et
le besoin sérieux de gérer et d’éviter les congestions.
Le mécanisme d’ECM et de QCN se base sur la
détection d’une congestion au cœur du réseau puis la
signalée aux stations émettrices pour que celles-ci
prend la réaction adéquate à la suite de l’information
de notification de congestion.
Pour exploiter un chemin d’une bande passante
disponible, avec ECM nous utilisons l’algorithme
Additive Increase Multiplicative Decrease (AIMD).
Cependant, avec QCN nous servons de la méthode
SONAR au niveau de Point de Réaction (RP :
Reaction point).
Nous souhaitons améliorer notre travaille, en
ajoutant l’implémentation de l’algorithme de QCN
(Quantification Congestion Notification) et le comparé
-7-

Documents pareils