Examen PAPR (2)

Examen écrit de 2h mercredi 28 mars 2007 de 14:00 à 16:00. ... L'approche
classique dans les réseaux sans fil consiste à construire des architectures ...

Part of the document


Examen PAPR 2006-2007 Examen écrit de 2h mercredi 28 mars 2007 de 14:00 à 16:00.
Tous documents autorisés. Le barème est donné à titre indicatif.
1ère partie : Réseaux
Question 1 (10 points): (Question de Cours) a) Que veux dire la notion de « work-conserving » ? Décrivez pourquoi le
mécanisme de file d'attente à l'entrée d'un routeur peut ne pas être
« work-conserving ». Comment s'assurer que le routeur est « work-
conserving »?
b) Pourquoi les opérateurs ne souhaitent pas faire transiter par leurs
réseaux un trafic qui n'est pas destiné à un de leur client ? Par quel
moyen s'assurent ils qu'un telle trafic ne traverse pas leurs réseaux ?
Nous souhaitons reconnaître l'application qui est véhiculée sur le réseau
par un flot. A chaque flot TCP est assigné une application.
c) Donner au moins trois applications de la reconnaissance applicative.
d) Comment pouvez-vous détecter le début d'un flot TCP ? sa fin ?
e) Peut-on détecter une application en regardant seulement son entête TCP ?
comment ? est ce une solution fiable ?
f) Peut on détecter une application en regardant le contenu des paquets ?
comment ? est ce que cette solution est toujours utilisable ?
Question 2 (8 points): (Radio logicielle)
L'approche classique dans les réseaux sans fil consiste à construire des
architectures matérielles particulières pour chaque type de réseaux. Par
exemple on utilisera un téléphone portable pour la communication GSM/GPRS,
un téléphone UMTS pour le 3G, une carte WIFI pour les réseaux sans fil IEEE
802.11 etc...
Cette solution a l'inconvénient de ne pas être évolutive en ce sens qu'un
téléphone GSM ne peut être utilisé pour se connecter à un réseau sans fil
WIFI et une carte WIFI ne peu se connecter qu'à un réseau WIFI. a) Pensez vous qu'il est possible de construire un système de communication
qui se reconfigurerait pour s'adapter au réseau GSM, WIFI, UMTS et aux
autres normes du futur qui ne sont pas encore implantées ? Quelles sont
les raisons qui vous font penser que cela est possible ?
b) Quels sont les challenges que vous voyez au niveau de la couche
physique, au niveau de la couche MAC, au niveau des couches de routage
et transport pour une telle radio adaptative? Comment un processeur
réseau peut répondre à certains de ces challenges ?
c) Imaginez qu'une telle radio adaptative existe. Décrivez une solution
permettant de démarrer une communication dans un environnement
totalement inconnu et de la continuer avec les meilleures performances
possibles.
d) Proposez une architecture générique pour un telle n?ud sans fil.
2ème partie : Architecture des Processeurs Réseau
1 . Questions de cours (10 points : )
Il y a dix questions, répondez de façon concise. a) Expliquez les avantages et les problèmes inhérents au mécanisme de
pipeline des processeurs RISC souvent utilisés comme processeurs de
traitement paquet dans une architecture de processeur réseau (ex. les
Micro Engines du IXP1200).
b) Enumérez et expliquez au mois trois types de parallèlisme utilisé dans
les processeurs réseaux ; évaluez les avantages et les inconvénients de
chaque type de parallèlisme.
c) Comment fonctionne une mémoire scratchpad et quel role principal
possède-t-elle dans le IXP1200.
d) Dans quelles situations un changement de contexte est-il utile et
quelles ressources du processeur implique-t-il ?
e) Discutez les principales différences entre l'architecture du IXP1200 et
celle du processeur PAPR.
f) Quels mécanismes de communication entre composants électroniques
connaissez vous ? Lesquels sont habituellement utilisés dans les
processeurs réseaux ? Quels sont les avantages et inconvénients
g) Expliquez pourquoi on découpe le plus souvent les paquets entrants dans
un processeur réseau dans des morceaux de taille égale et les transforme
en structure chainée (de la sorte du slot dans l'architecture PAPR).
h) Pour bénéficier au maximum du parallèlisme , certaines applications
dont la classification sont écrites en forme de task farm utilisant un
parallèlisme explicite (une ou plusieurs taches d'entrée, un niveau
intermédiaire de tâches qui effectuent toutes un traitement identique
puis une tache de sortie) et sacrifient ainsi la propriété d'arrivée
dans l'ordre (in-order delivery); pouvez-vous imaginer d'autres causes
qui risquent de perturber l'ordre d'arrivée des paquets dans le
multiprocesseurs sur puce PAPR?
(Pour répondre à la question il est nécessaire de connaître la façon
dont les FIFO MWMR sont implémentées, voir cours 4) .
[pic]
i) Nommez trois coprocesseurs souvent présents dans les architecures de
Processeurs réseaux.
j) Donnez au moins deux raisons pour lesquelles un processeur réseau
implementé sur ASIC (Application specific Integrated circuit, circuit
intégré spécifique à une application) n'est pas un but envisagéable en
recherche universitaire?
2 .Le plate-forme PAPR (6 points ) Les descripteurs PAPR ont une longueur de 64 bit (2 mots). On aimerait
maintenant pouvoir stocker plus d'information (notamment plus de bits
DATE pour la numérotation des paquets) et on souhaite estimer les
conséquences du passage à des descripteurs de 4 mots sur la performance
du système.
a) On considère un graphe de tâches comportant une tâche d'entrée, un
niveau de N tâches en task farm (voir le dessin de l'exercice 1.h) et une
tâche de sortie. Ce graphe est déployé sur une architecture matérielle
comportant N processeurs en plus des 2 co-processeurs d'entrée/sortie.
Supposons un scénario ou le nombre de conflits d'accès aux bancs mémoire
est minimisé par un déploiement qui utilise de façon généreuse les bancs
mémoire. Une tâche tourne seule sur un processeur, chaque processeur
utilise son banc mémoire en exclusivité et chaque FIFO MWMR est placée
seule dans un banc mémoire. Un accès mémoire dure 10 cycles. Supposons
dans un premier temps qu'il n'y a aucun de conflits d'accès aux FIFOMWMR.
Combien de transactions VCI nécessite le transfert d'un descripteur d'une
longueur de 2 mots utilisant le protocole MWMR entre deux niveaux de
taches (rappel : pendant la 3ème transaction du protocole, il est
possible de transmettre des rafales de plusieurs mots) ? Combien de cycles
nécessite-t-il ? Mêmes questions pour un descripteur de 4 mots.
b) Meme dans le scénario décrit ci-dessus, des conflits peuvent survenir ;
donnez deux raisons liés aux composants matériels.
3 : Questions des TME (6 points)
a) Combien d'interfaces réseaux sont présentes sur la carte contenant
l'IXP2400? Quel est le role de ces différentes interfaces? b). Programmation
Ecrire deux microcodes destinés à etre exécutés sur les microengines 0 et
1.
Pour ces deux microcodes, les threads 0 à 6 ne font rien. La thread 7 du microengine 0:
*Ecrit 1 au début de la SRAM
*Ecrit 2 au 4ème octet de la SRAM
*Signale la thread 7 du microengine 1
-La thread 7 du microengine 1 :
*Attend le signal de la thread 7 du microengine 0
*Lis les 4 premiers octets de la SRAM puis les 4 suivants
*Fait la somme des 2 mots de 32 bits lus
*Ecrit cette somme au début de la DRAM Rappel de quelques instructions de base de l'assembleur des microengines: br!=[X,LABEL#] : si le numéro de thread n'est pas "X" aller à"LABEL#"
br[LABEL#] : branchement inconditionnel vers le label "LABEL#" ctx_arb[SIG] : attendre le signal "SIG" sram/dram[write/read, $X, Y, 0, 1],ctx_swap[copy_sig] : écrire/lire le
contenu du registre de transfert "X" à la position Y de la SRAM/DRAM. Ne
pas continuer l'exécution de la thread courante (ctx_swap) tant que
l'ériture/lecture n'est pas terminée. .xfer_order REG1 REG2 : lors d'une ériture/lecture en dram donne l'ordre
des registres à écrire/lire local_csr_wr[NEXT_NEIGHBOR_SIGNAL, ((&SIG