• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • Tagged with
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Approche générative conjointe logicielle-matérielle au développement du support protocolaire d’applications réseaux / A generative codesign software-hardware based approach for building efficient network protocol parsers for embedded systems

Solanki, Jigar 27 November 2014 (has links)
Les communications entre les applications réseaux sont régies par un ensemble de règles regroupées sous forme de protocoles. Les messages protocolaires sont gérés par une couche de l’application réseau connue comme étant la couche de support protocolaire. Cette couche peut être de nature logicielle, matérielle ou conjointe. Cette couche se trouve à la frontière entre le coeur de l’application et le monde extérieur. A ce titre, elle représente un composant névralgique de l’application. Les performances globales de l’application sont ainsi directement liées aux performances de la couche de support protocolaire associée.Le processus de développement de ces couches consiste à traduire une spécification du protocole, écrite dans un langage de haut niveau tel que ABNF dans un langage bas niveau, logiciel ou matériel. Avec l’avènement des systèmes embarqués, de plus en plus de systèmes sur puce proposent l’utilisation de ressources matérielles afin d’accroître les performances des applicatifs. Néanmoins, peu de processus de développement de couches de support protocolaire tirent parti de ces ressources, en raison notamment de l’expertise nécessaire dans ce domaine.Cette thèse propose une approche générative conjointe logicielle-matérielle au développement du support protocolaire d’applications réseaux, pour améliorer leur performance tout en restant ergonomique pour le développeur de l’application. Notre approche est basée sur l’exploitation d’un langage dédié, appellé Zebra pour générer les différents composants logiciels et matériels formant la couche de support. L’expertise nécessaire est déportée dans l’utilisation du langage Zebra et les composants matériels générés permettent d’accroître les performances de l’application.Les contributions de cette thèse sont les suivantes : Nous avons effectué une analyse des protocoles et applications réseaux. Cette analyse nous a permis d’identifier les composants pour lesquels il est possible d’obtenir des gains de performances.Nous avons conçu et exploité un langage dédié, Zebra, permettant de décrire les différentes entités de la couche de support protocolaire et générant les éléments logiciels et matériels la composant. Nous avons construit un système sur puce exécutant un système d’exploitation Linux afin d’étayer notre approche. Nous avons conçu des accélérateurs matériels déployables pour différents protocoles réseaux sur ce système et pilotables par les applicatifs. Afin de rendre l’accès aux accélérateurs matériels transparent pour les applications réseaux, nous avons développé un intergiciel gérant l’ensemble de ces accès. Cet intergiciel permet à plusieurs applications et/ou à plusieurs clients d’une même application d’utiliser les accélérateurs pour le traitement des messages protocolaires. Nous avons évalué les performances de notre approche dans des conditions réelles. Nous avons comparé ces performances à celles de couches de supports faisant référence dans le domaine. Nous avons constaté un gain de performance conséquent pour l’approche que nous proposons. / Communications between network applications is achieved by using rulesets known as protocols. Protocol messages are managed by the application layer known as the protocol parsing layer or protocol handling layer. Protocol parsers are coded in software, in hardware or based on a co-design approach. They represent the interface between the application logic and the outside world. Thus, they are critical components of network applications. Global performances of network applications are directly linked to the performances of their protocol parser layers.Developping protocol parsers consists of translating protocol specifications, written in a high level language such as ABNF towards low level software or hardware code. As the use of embedded systems is growing, hardware ressources become more and more available to applications on systems on chip (SoC). Nonetheless, developping a network application that uses hardware ressources is challenging, requiring not only expertise in hardware design, but also a knowledge of the protocols involved and an understanding of low-level network programming.This thesis proposes a generative hardware-software co-design based approach to the developpement of network protocol message parsers, to improve their performances without increasing the expertise the developper may need. Our approach is based on a dedicated language, called Zebra, that generates both hardware and software elements that compose protocol parsers. The necessary expertise is deported in the use of the Zebra language and the generated hardware components permit to improve global performances.The contributions of this thesis are as follows : We provide an analysis of network protocols and applications. This analysis allows us to detect the elements which performances can be improved using hardware ressources. We present the domain specific language Zebra to describe protocol handling layers. Software and hardware components are then generated according to Zebra specifications. We have built a SoC running a Linux operating system to assess our approach.We have designed hardware accelerators for different network protocols that are deployed and driven by applications. To increase sharing of parsing units between several tasks, we have developped a middleware that seamlessly manages all the accesses to the hardware components. The Zebra middleware allows several clients to access the ressources of a hardware accelerator. We have conducted several set of experiments in real conditions. We have compared the performances of our approach with the performances of well-knownprotocol handling layers. We observe that protocol handling layers baded on our approach are more efficient that existing approaches.
2

Approche langage au développement du support protocolaire d'applications réseaux

Burgy, Laurent 28 April 2008 (has links) (PDF)
Une application réseau communique avec d'autres applications par le biais d'un ensemble consen- <br />suel de règles régissant la communication, appelé protocole. Cette communication est gérée par la <br />partie de l'application connue comme la couche de support protocolaire qui gère la manipulation de <br />messages protocolaires. Elle s'avère être un composant critique d'une application réseau puisqu'elle <br />représente l'interface entre celle-ci et le monde extérieur. Elle est donc soumise à deux contraintes <br />fortes : une contrainte d'efficacité pour pouvoir traiter un grand nombre de messages et une contrainte <br />de robustesse pour faire face à des attaques visant à déstabiliser l'application ou la plate-forme maté- <br />rielle sous-jacente. Malgré ces contraintes, le processus de développement de cette couche demeure <br />rudimentaire et requiert un haut niveau d'expertise. Il consiste à traduire manuellement une spécifi- <br />cation du protocole écrite dans un formalisme haut niveau comme ABNF vers du code bas niveau tel <br />que du C. Le fossé entre ces niveaux d'abstraction favorise l'apparition d'erreurs. <br />Cette thèse propose une approche langage au développement de la couche de support protocolaire <br />d'applications réseaux, pour améliorer leur robustesse sans compromettre leur performance. Notre ap- <br />proche est fondée sur l'utilisation d'un langage dédié, Zebu, pour décrire la spécification des couches <br />de support protocolaire d'applications réseaux qui utilisent des protocoles applicatifs textuels à la <br />HTTP. La syntaxe de Zebu est très proche de celles du formalisme ABNF, favorisant ainsi l'adoption <br />de Zebu par des experts du domaine. En annotant la spécification ABNF d'un protocole, l'utilisateur <br />de Zebu peut adapter une couche de support protocolaire à une application donnée. Dans un premier <br />temps, le compilateur Zebu vérifie la spécification annotée pour déceler d'éventuelles incohérences. <br />Ensuite, une couche de support protocolaire définie par les annotations fournies est générée automati- <br />quement. Cette couche consiste en un ensemble de structures de données pour représenter un message, <br />un analyseur syntaxique qui remplit ces structures de données et des fonctions utilitaires pour l'ac- <br />cès à ces données ou piloter l'analyse syntaxique des messages. Par défaut, l'analyseur syntaxique de <br />messages généré n'accepte que les messages respectant scrupuleusement la spécification. Ce critère <br />de validation peut être modifié pour plus de flexibilité ou de meilleures performances.

Page generated in 0.1032 seconds