• Aucun résultat trouvé

Simulation du réseau AFDX à qualité de service

sur la gigue de l’équation (3.5) doit être respectée. Cette condition assure que l’intervalle minimal inter-trame est respecté. Cet intervalle évite la suppression des trames par le premier commutateur qui contrôle le trafic entrant. En effet, le premier commutateur traversé par un VL ne fait pas confiance à l’end system.

BAG − ∆tx ≤ Jmax, ∆tx = xi+1− xi (3.5)

Une illustration de la gigue pour un flux avionique est donnée dans la Figure 3.4. La transmission des trames avioniques est attendue dans le commutateur toutes les durées de BAG. Si la transmission des trames est retardée au niveau de l’ordonnanceur, une gigue peut apparaître. Dans cet exemple, la deuxième trame est transmise avec une gigue non nulle, mais inférieure à la gigue maximale autorisée. En revanche, la 4ème trame subit une gigue supérieure à la gigue maximale ce qui entraîne la suppression de la dernière trame du schéma par le commutateur.

Figure 3.4 Illustration de la gigue bornée pour un flux avionique

Dans la suite, nous présentons l’outil de simulation qui a été développé dans cette thèse afin de mesurer finement les délais.

3.4

Simulation du réseau AFDX à qualité de service

Pour évaluer le comportement du réseau AFDX capable de transporter des flux vidéo additionnels, nous avons développé un outil de simulation qui modélise les principaux éléments du réseau AFDX (routage des liens virtuels, files d’attente, délai de commutation, etc.). Ce simulateur permet de simuler le comportement d’architectures de réseaux du type de celle décrite dans la section 3.1.2.

3.4.1 L’environnement de simulation

Pour le développement de notre simulateur, nous avons choisi OMNeT++ [131], un environnement de simulation à événements discrets en C++ qui permet la modélisation et

la simulation des composants et des communications du réseau. Les modèles de simulation sont décrits dans le langage NED. Les modèles sont assemblés à partir de composants réutilisables appelés modules. Les modules peuvent être connectés les uns aux autres via des portes (gates), et combinés pour former des modules composés. Les modules communiquent par le passage de messages. Les portes sont les interfaces d’entrée et de sortie des modules : les messages transportant les structures de données sont envoyés à travers les portes de sortie et arrivent à travers les portes d’entrée.

Pour la construction de l’architecture de réseau .NED, nous avons eu comme point de départ un fichier de configuration de l’A350 qui précise le nombre d’end systems et de commutateurs, les caractéristiques de chaque VL émis par un end system (identifiant, longueur minimale et maximale des trames, durée du BAG) et leur chemin (commutateurs traversés et ports d’entrée et de sortie). Sur cette configuration de l’A350, nous avons inséré des flux vidéo additionnels.

Notre simulateur simule les échanges de messages d’une seconde sur la configuration complète de l’A350 en moins de 15 minutes de simulation. Le simulateur est exécuté sur un ordinateur équipé de 16 Go de mémoire RAM et d’un processeur Intel(R) Core(TM) i7 3,6 GHz avec 8 coeurs.

3.4.2 Modélisation des équipements du réseau

Les éléments principaux qui composent le réseau AFDX sont les end systems et les commutateurs.

End system

L’end system est l’équipement du réseau qui fournit un service de transfert de données aux application. Au niveau de la couche transport, la communication avec les applications est réalisée par des ports de communication UDP ou TCP. Les messages UDP ou TCP sont fragmentés dans des paquets IP qui sont ensuite encapsulés dans des trames AFDX au niveau de la couche MAC pour être envoyés dans le réseau à travers les VLs. Dans notre modélisation de l’end system, nous simulons uniquement les opérations de niveau MAC relatives à l’AFDX car les contraintes de gigue et de délai spécifiés par le standard ARINC 664-7, qui nous intéresse dans cette thèse, concernent la couche MAC.

Au niveau d’un end system émetteur, une fois que les trames arrivent à la couche MAC, elles sont associées à un VL et sont placées dans une file d’attente correspondant à ce VL. Pour assurer que le VL respecte son contrat de trafic, un régulateur de trafic est mis en oeuvre qui sépare les trames par la durée du BAG. Ensuite, les trames de tous les

3.4 Simulation du réseau AFDX à qualité de service 73

VLs sont multiplexées pour être envoyées vers le port de sortie. L’ordre de transmission des trames des flux multiplexés est décidée par la politique d’ordonnancement appliquée. Dans notre simulateur, trois ordonnancements sont mis en oeuvre : FIFO, SPQ avec 2 priorités et une table statique d’ordonnancement. La durée de transmission de la trame est prise en compte lors de sa transmission par les ports de sortie.

Au niveau de la réception, les trames de chaque VL sont démultiplexées et sont envoyées sur le port de niveau application. Du point de vue réseau, nous considérons le délai de bout-en-bout d’une trame depuis sa sortie du régulateur et son arrivée en entrée du démultiplexeur.

La Figure 3.5 donne une vue d’ensemble sur la modélisation d’un end system avec plusieurs applications, qui est source de 5 VLs et un flux vidéo.

Figure 3.5 Modélisation d’un end system

Commutateur

Le commutateur AFDX est un équipement réseau qui effectue le filtrage et le contrôle du trafic et transmet les trames vers les end systems de destination.

Le bloc de fonctions de filtrage et contrôle de trafic a comme objectif de vérifier l’intégrité de la trame, la longueur de la trame, le budget de trafic et la destination ainsi que la durée de BAG minimale entre les trames sur chaque VL. Si les trames ne respectent pas le contrat de trafic du VL, le commutateur peut les rejeter. Pour simplifier l’implantation du simulateur, nous ne traitons pas dans notre modélisation le filtrage de trames et le contrôle de trafic car le trafic est produit de manière artificielle au niveau des end systems source et respecte donc nécessairement toutes les spécifications des VLs.

niveau du commutateur par un port d’entrée et sont dirigées vers les ports de sortie. Le commutateur garde en mémoire une table de commutation statique qui liste les ports de sortie associés à chaque VL.

Les opérations de filtrage de trames, contrôle de trafic et commutation des trames vers le bon port de sortie demandent un temps de traitement qui d’après le standard doit être inférieur à 8 µs. Dans notre simulateur, nous supposons un délai constant de commutation de 2 µs. Cette valeur de délai correspond aux mesures effectuées sur des commutateurs AFDX.

Sur le port de sortie, les trames sont classifiées et sont envoyées vers une file d’attente en fonction de leur priorité. Les files d’attente sont modélisées par un serveur qui implémente une politique de service. Les politiques de service considérées dans nos simulations au niveau des commutateurs sont FIFO ou SPQ à 2 niveaux de priorité. Le temps de service est donné par le rapport entre la longueur de la trame et le débit. En sortie du commutateur, les trames peuvent donc connaître un délai variable en fonction de l’état d’occupation des files d’attente.

Simulations Monte-Carlo. Les modules IMA ne sont pas synchronisés pour des raisons de sûreté de fonctionnement. Par conséquent, la notion d’horloge globale n’existe pas dans l’AFDX. Ni les end systems, ni les commutateurs ne sont donc synchronisés. Pour modéliser cette désynchronisation dans notre simulateur, nous définissons un offset (déphasage) par rapport à une date de référence pour chaque end system. La date de référence considérée est la date de démarrage du simulateur. Chaque combinaison d’offsets présente une réalisation différente des transmissions dans le réseau. Pour évaluer une configuration, il faut faire varier l’ensemble des offsets pour obtenir des simulations qui caractérisent en moyenne les performances d’une solution.

Pour générer différentes variations d’offsets, nous nous appuyons sur la méthode de simulation de Monte-Carlo [132]. Cette méthode considère dans l’utilisation de nombres aléatoires pour simuler le comportement d’un système par la réalisation d’un grand nombre de simulations. Dans notre approche, à chaque nouvelle simulation, nous choisissons des valeurs aléatoires d’offsets tirées dans l’intervalle [0, BAGmax], où BAGmax est la valeur

maximale de BAG définie pour l’ensemble de VLs. Cette valeur de BAGmax est inférieur à 128 ms. De cette façon, nous modélisons la phase de démarrage de chaque end system. L’end system démarre donc au bout de 128 ms maximum.

Chaque simulation nous permet de mesurer le délai de bout-en-bout, source et de traversée du réseau des trames simulées. Plusieurs simulations sont exécutées pour obtenir une distribution complète du délai. Dans cette thèse, nous utilisons la distribution de