Projet Rodeo

previous up next contents
Précédent : Présentation générale et objectifs Remonter : Projet RODEO, Réseaux à haut Suivant : Grands domaines d'application



Fondements scientifiques

Contrôle et allocation de ressources

L'Internet actuel fournit un service de type « le réseau fait de son mieux mais sans garantie », qui revient en fait à proposer à une application un canal de transmission dont les caractéristiques (débit, délai, pertes) ne sont pas connues à l'avance et peuvent varier au cours de la durée de vie de l'application. Deux approches sont possibles pour obtenir une bonne qualité de transmission. La première approche est d'adapter ou contrôler le processus de transmission en fonction des caractéristiques du canal, le but étant de minimiser l'impact négatif de ces caractéristiques (par exemple un taux de pertes élevé) sur la qualité de la transmission. La deuxième approche est de modifier le service fourni par l'Internet, et en particulier de l'enrichir de nouvelles classes de service qui offrent des garanties de qualité, comme par exemple un taux de pertes maximal garanti. Nos travaux cette année ont porté sur les deux approches.

La première approche revient donc à adapter le processus de transmission, et plus généralement le comportement des applications, en fonctions des caractéristiques du canal de transmission, c'est-à-dire du réseau. Il faut pour la mettre en oeuvre d'abord estimer en temps réel ces caractéristiques, ensuite identifier lesquelles sont importantes pour l'application en question, enfin concevoir des mécanismes de contrôle qui permettent d'obtenir une qualité de transmission adéquate. Nos travaux portent sur chacune de ces étapes, et particulièrement sur 1) l'étude des caractéristiques (délai, pertes, gigue) des connexions Internet (à la fois point à point et multipoint) et de leur impact sur la conception de mécanismes de contrôle efficaces, et 2) le développement de mécanismes spécifiques pour applications interactives (audio/vidéo/jeux). Les méthodes mises en jeu sont l'instrumentation et la mesure, l'identification de paramètres, la modélisation analytique, et les théories de l'information et des files d'attente.

La deuxième approche pour obtenir une bonne qualité de transmission sur l'Internet cherche à modifier le service fourni par le réseau afin d'être à même d'offrir aux applications des garanties de performance. Ces garanties peuvent être soit déterministes (par exemple : le délai de transit à travers le réseau sera inférieur à 150 ms pour tous les paquets) soit stochastiques (par exemple : la probabilité que le délai dépasse 150 ms est inférieure à 1%). Nos travaux cette année ont porté sur la fourniture de garanties stochastiques. Le but est toujours d'obtenir des mécanismes simples (qui pourront donc être déployés dans l'Internet relativement rapidement) et robustes.

Nous avons donc développé des mécanismes simples, basés sur l'ajout d'un seul bit spécial dans l'en-tête des paquets. Ce bit permet d'identifier les paquets ayant droit à un service de meilleure qualité que le service habituel. Il reste encore à identifier la sémantique de ce bit (qui peut identifier des paquets nécessitant un délai faible, ou un débit élevé, etc), à définir des algorithmes d'ordonnancement dans les routeurs (pour allouer des ressources aux paquets prioritaires), à définir une politique de tarification (pour empêcher tous les utilisateurs d'identifier tous leurs paquets comme étant prioritaires), et à quantifier le service fourni aux paquets prioritaires et aux autres.

Nous avons également développé des mécanismes de contrôle d'admission. Ces mécanismes ont pour but de limiter le nombre de connexions admises dans le réseau afin d'être sûr qu'un niveau suffisant de ressources est alloué aux connexions déjà admises, et donc d'offrir à ces connexions des garanties de performance. Les travaux ont porté cette année sur la robustesse de tels mécanismes en face d'erreurs d'estimation sur les caractéristiques de trafic des nouvelles connexions, ou sur leur durée de vie, etc.

Architecture flexible de protocole haute performance

  Avec l'apparition des réseaux à haut débit, la bande passante de la couche d'accès au milieu ne représente plus un goulot d'étranglement. Ce sont plutôt les mécanismes de traitement de données au niveau transport et présentation qui nécessitent une charge de calcul importante au niveau des processeurs. D'autre part, des applications multimédias distribuées sont en cours d'introduction. Ces applications ont des besoins variés qui ne correspondent pas nécessairement aux services offerts par les protocoles de communication standards ou du moins pas à la qualité de service fournie par ces protocoles. En même temps, les performances des stations de travail ont augmenté avec l'apparition des architectures à jeu d'instructions réduit (RISC), mais pas à la même cadence que les bandes passantes des réseaux dans les dernières années. L'accès mémoire est devenu coûteux par rapport au cache et aux registres, et cette différence devrait s'accentuer dans les années à venir. Outre les fonctions de contrôle, le traitement d'un protocole renferme aussi des fonctions de manipulation de données où les données sont lues en mémoire, traitées ou « manipulées » et sauvegardées de nouveau en mémoire éventuellement (par exemple le codage de présentation, le calcul du total de contrôle au niveau transport, le chiffrement, la compression). Nos propres observations, confirmées par des mesures de performances publiées par ailleurs, montrent qu'il est possible d'obtenir des gains de performance en intégrant les opérations de manipulation de données afin de minimiser les accès mémoires. Cette technique appelée ILP (Integrated Layer Processing ou traitement en couche intégrée) devrait être complétée par un mécanisme visant plus de flexibilité : l'application devrait être impliquée dans le contrôle de transmission en effectuant une mise en unités de données « Application » (Application Level Framing ou ALF) permettant d'appliquer tous les mécanismes de manipulation sur ces trames de façon intégrée par exemple en une seule fois si possible. La mise en oeuvre de ces concepts pour des applications différentes nécessite qu'on puisse générer pour chaque application une implémentation intégrée des mécanismes de protocoles fournissant le service requis par l'application. Afin d'automatiser ce processus, il est nécessaire d'avoir un langage de spécification qui permettra de décrire les besoins de l'application.

Notre approche s'appuie sur la spécification des besoins des applications en ESTEREL et sur un « compilateur de protocoles » appelé ALFred basé sur les concepts ALF/ILP et qui va générer automatiquement le protocole de communication adapté à l'application à partir de sa spécification.

Nous avons suivi le plan suivant :

-
validation du choix du langage ESTEREL pour la spécification des besoins des applications,
-
expérimentation de l'applicabilité du principe ALF à certaines applications,
-
étude et expérimentation de la technique d'implémentation ILP,
-
conception et développement du compilateur de protocoles ALFred.

L'idée de base d'Application Level Framing (ALF) est de faire en sorte que ce soit le protocole qui s'adapte aux besoins de l'application et non l'inverse. L'application est considérée comme la plus apte à déterminer les stratégies à adopter lorsque des données sont perdues ou arrivent hors séquence. Cette conception d'une architecture intégrée et flexible nécessite, d'une part, que le système de communication ait accès à la sémantique de l'application, et, d'autre part, que l'application ait aussi un moyen d'agir sur le contrôle et la synchronisation du système de communication.

Afin de valider cette approche intégrée, nous avons voulu analyser et mesurer quel était le véritable impact d'ALF sur l'architecture et les performances du système de communication.

Pour notre étude, nous avons développé une application de transfert d'images JPEG qui se prête bien au concept ALF. Cette dernière utilise le format JFIF (JPEG File Interchange Format), format minimal de fichier qui permet d'échanger des images compressées JPEG.

Notre analyse porte principalement sur les points suivants :

-
la taille de l'ADU L'ADU est l'unité de données au niveau applicatif. Pour que ALF ait vraiment un sens, la taille de l'ADU doit être préservée à travers tout le système de communication et la fragmentation évitée. Ainsi une étroite relation doit être mise en place entre l'ADU et la MTU minimale (MTU : taille maximale d'un paquet sans fragmentation à travers le réseau).
-
le traitement hors séquence

Traiter les paquets hors séquence nous paraît un facteur important d'accroissement des performances. Les unités de données peuvent en effet être délivrées directement à l'application sans attendre le paquet suivant ou précédent.

Des mesures de performance ont été effectuées. Les résultats préliminaires montrent l'intérêt de l'approche ALF.



previous up next contents Précédent : Présentation générale et objectifs Remonter : Projet RODEO, Réseaux à haut Suivant : Grands domaines d'application