processeurs réseau papr (1) ue de m2 février / mars 2007 daniela genius lip6

78
Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Upload: osanne-bonneau

Post on 04-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Processeurs Réseau PAPR (1)

UE de M2 février / mars 2007

Daniela Genius

LIP6

Page 2: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Contenu du cours

Principes & Contraintes d’architecture des

processeurs réseau

Conception des Processeurs Réseau

Etude du Marché des PR

Exemples de processeurs réseau :

IBM Power NP, Intel IXP

Processeur Réseau LIP6

Page 3: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Contenu

Introduction

Motivation

Qu’est-ce qu’un Processeur Réseau?

Quelques exemples d’utilisation des PR

Principes d’architecture & fonctionnement

de différents composants

Concept de NIC (Network Card Interface)

Étude de systèmes purement logiciels,

matériels associés & leçons à tirer

Page 4: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Motivation

augmentation des débits binaires évolution continue des protocoles et des

applications coût élévé de conception de systèmes durée élevée de l’implémentation et du test risque d’erreurs de conception réutilisation de matériel dédié (ASIC) souvent

impossible

Un Processeur réseau est à la fois spécialisé et programmable

Page 5: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Bande passante (Moctets/s)

100,000

0.1

1

1000

1980 1990 19951985 2000

DS0

année64K

1.5M

DS110

100 DS344Mb

OC12

622Mb

x24

x28

x12

10Gbx1610,000

OC192x4

OC768 40Gb

2005

PR

DS= Digital Signal/signal numérique

OC = Optical Carrier/fibre optique

diapositive de E. Sicard

Evolution des Réseaux

Page 6: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Evolution de la téléphonie

Communications téléphoniques

1

24

672

810

2430

9720

19440

38880

155520

622080

Nom du Standard

-

T1

T3

OC-1

OC-3

OC-12

OC-24

OC-48

OC-192

OC-768

Bit rate Mbps

0.064

1.544

44.736

51.840

155.520

622.080

1,2488,160

2,488.320

9,953.280

39,813.120

Un PR gère plusieurs liens OC-XYZ à la fois

Page 7: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

900MHzVoice

1G

900MHz1800MHz

Voice

2G

900-1800-1900MHzSmart Phone

Full web service

3G

900-1800MHzVoice

Tiny Internet

2.5G

12kb/s

170

1000

Data Rate

Evolution de la téléphonie mobile

Page 8: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

station de base

Stationmobile

contrôleur station de base

12Kbit/s

5Mbit/s

100Mbit/s

réseau100 stations mobiles

10 stations de base

diapositive de E. Sicard

Evolution de la téléphonie mobile

Page 9: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Stationde base

Contrôleur station de base

1Mbit/s

500Mbit/s

50Gbit/s

réseauPortables 3G 500

stations mobiles

100 stations de base

NP

NPNP

diapositive de E. Sicard

Explosion de la demande de bande passante

Flexibilité/bas coût/basse consommation/Scalabilité…

Quels enjeux?

Page 10: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Enjeux industriels

Hauts débits Sécurité

Cryptographie, pare-feux, authentification Flexibilité

Généralité Adaptable aux nouveaux standards (ATM, UMTS, IPv6) Possibilité d’ajout de fonctionnalités => outils programmables

Scalabilité Basse consommation Faible coût

Page 11: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Les grandes questions Quels systèmes ?

Quels mécanismes physiques? Quels protocoles? Quelles applications?

Tout ce qui existe actuellement Tout ce qui est nouveau ou pas encore conçu ou

pas encore standardisé Quelles vitesses?

Tout ce qui existe actuellement Des vitesses beaucoup plus élévées

Page 12: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

L’idée en bref Conçevoir de nouveaux composants programmables

Soutien spécial pour traitement des protocoles et des E/S affecter les tâches de commande au(x) processeur(s)

généraliste(s) processeurs dédiés au traitement des paquets et à la

consultation des tableaux Eventuellement fournir des composants dédiés

(coprocesseurs) aux tâches comme : calcul de checksum, cryptographie, etc.

Intégration maximale, idéalement sur une seule puce Faire en sorte que plusieurs composants matériels

puissent être combinés entre eux => Le résultat s’appelle un Processeur Réseau PR ou Network Processor NP

Page 13: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Coeur de Processeur

Coeur de Processeur

Coeur de Processeur

Grand nombre (8-16) de cœurs de processeur RISC pro-grammables, souvent avec plusieurs contextes matériels, souvent avec instructions spécialisées

Processeur généraliste, intégré pour le contrôle, la gestion et la communication avec le reste du monde

ProceseurGénéraliste

HWAssist

Tables de Routage

Mémoire Tampon (paquets)

MAC/FRAMEProcessor

vers Couche physique

MAC (Medium Access Controllers) intégrés, conçus pour différentes technologies (fibre optique, Ethernet)

Espace de stockage sur puce pour : trames, tables de routage, contrôleurs des tampons extérieurs

Qu’est-ce qu’un Processeur Réseau ?

Co-Processeurs avec fonctionnalités comme : consultation de table de routage, calcul de checksum

Mémoire externe

Micro Réseau Interne

Page 14: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Historique des PR (1) Septembre 1999 : C-Port (Motorola) annonce le

premier processeur réseau (PR) en production pour

fin 2001. But : fournir un matériel flexible pour traiter

trames ou paquets de manière distribuée à l’entrée

des commutateurs (switches) ou des routeurs à

hautes performances

Au cours de l’année 2000 : plusieurs grandes

entreprises commencent à développer des PR (Intel,

IBM, Lucent,…) pour répondre à la demande des

opérateurs réseaux

Page 15: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Historique des PR (2)début 2003, environ 20 entreprises offrent soit des PR,

soit annoncent leur developpement

fin 2003, le marché est plutôt dominé par les PME mais les grandes entreprises comblent leur retard…

Environ 200 projets utilisant des PR en cours chez les fournisseurs d’équipements réseaux : le processeur IBM est utilisé par Alcatel, CISCO, NORTEL,…

2004-2006 : nombreux rachats et liquidations de petites entreprises, des investissements des grandes dans la formation (Intel)

début 2007 ce développement continue

Page 16: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

(*) OSI/ISO= open system interconnection from International Standard Organization

OSI/ISO(*) Title Description

Layer 7 Application Application protocols, user-interface

Layer 6 Presentation Application specific format transfer

Layer 5 Session Connection to process, billing

Layer 4 Transport Point to point flow control

Layer 3 Network Connection, link switching

Layer 2 Data link Signalling, block transfer

Layer 1 Physical Transmission, coding, moduation

PR

Où situer les PR ISO/OSI

Page 17: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Exemples : Systèmes Réseau

traitement de paquets

Utilisant des adresses

Bridge, switch, VLAN switch

Internet : hote et routeur

Pare-feu, VPN, NAT,Load Balancer, Set-Top Box

Traffic Monitor, Policer, Shaper, Packet analyzer

Page 18: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

PR en amont (front-end stage) des commutateurs/routeurs à grande vitesse

Conventional SwitchNext Generation

(distributed) Switch

Doesn’t scale very well !!!! Scales very well

POS (packet Over SONET)/GbEthernet

Commutateur Ethernet

Page 19: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

QoS : Files d’attentesNetwork Control System (Exemple TrafficDesigner de QosMos)

Scenario : utilisateurs indisciplinés Une liaison à 2 Mbits surchargée Une utilisation intensive du telnet (application métier) Des sauvegardes effectuées par FTP Des utilisateurs indisciplinés qui aiment le P2P

Les objectifs : Assurer un bon temps de réponse au telnet + ssh Assurer un bon débit au protocole FTP Limiter le P2P et le mail en cas de charge

Projet Lip6 RP-ASIM avec QosMos en 2004/2005stage N. Wilczak en ete 2004

Page 20: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Monitoring : Exemples

Page 21: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Traffic Designer : Technologie fondatrice

Classification Applicative

Analyse de la grammaire et du comportement des fluxReconnaître les applications sur des ports non

standards

Analyse des négociations dynamiques de portsPassive FTP, Oracle, SAP, VoIP, …

Analyse des données internes à chaque applicationfichiers attachés, URL, Noms des bases

Classification décorrélée du service

Audit, Billing, QoS, Firewall ….

Page 22: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Traffic Shaping

Accès WAN à 2Mbits 2 flux important identifiés :

FTP : Téléchargement hautement prioritaire

SMB: Système de fichier distribué – important mais moins prioritaire

Réservation de BW :

•¼ pour le SMB

•¾ pour le FTP

Anarchie = aucune maîtrise des flux

Page 23: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Exemple: interface utilisateur

Page 24: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Systèmes purement logiciels

Utilise des matériels classiques (PC)

Logiciels système

Tournant sur un système complet

Allouant la mémoire nécessaire

Commandant les entrées-sorties des

périphériques

Réalisant tout le traitement du protocole

Page 25: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Pourquoi étudier le traitement des protocoles

sur les matériels classiques ? (1) Dans le passé : Utilisé dans les premiers routeurs IP Beaucoup d’algorithmes développés ou optimisés pour le

matériel classique Dans le présent :

Utilisé dans les systèmes réseau à basse vitesse Plus facile à créer ou à modifier Moins coûteux que les matériels dédiés

Page 26: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Pourquoi étudier le traitement des protocoles

sur les matériels classiques ? (2) Dans le futur :

Les processeurs continuent d’accroître leur vitesse de

traitement

Il subsiste quelques matériels classiques dans tous les

systèmes

Si la puissance de traitement augmente moins vite que

la bande passante des réseaux :

=> Besoin de matériels dédiés

=> Les matériels classiques deviennent inutilisables

Page 27: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Matériels des ordinateurs classiques

Quatre parties importantes :

Le processeur

La mémoire

Les interfaces d’E/S

un ou plusieurs bus

Page 28: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Paradigme du bus (1)

Seulement 2 opérations de base : fetch & store Fetch

Place l’adresse d’un périph sur les lignes d’adresse Envoie la commande fetch sur les lignes de

commande Attend que le périph qui possède l’adresse réponde En cas de succès, extraction des valeurs présentes

sur les lignes de données

Page 29: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Paradigme du bus (2) Store

Place l’adresse du périphérique sur les lignes d’adresse

Place la valeur sur les lignes de données Envoie la commande store sur les lignes de

commande Attend que le périph qui possède l’adresse

réponde En cas d’échec, signalement de l’erreur

Les opérations sur d’autres bus sont semblables à celles vues ici

Page 30: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Bus (1) Généralités sur les bus :

Matériel quelconque connectable au bus

Périph. quelconque adressable par une adresse quelconque

L’espace d’adressage peut contenir des “trous”’

Bande passante limitée

Page 31: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Bus (2)

Utilisation d’un bus plus large :

Transfère plus de données par unité de temps

Plus coûteux

Demande plus d’espace physique

=> compromis : pour simuler un bus large, on utilise

du matériel qui multiplexe les transferts

Page 32: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

E/S réseau sur matériels classiques

Compromis pour améliorer les performances

Network Interface Card (NIC) :

Lien entre le bus et le réseau

Fonctionne comme tous les autres périphs d’E/S

Prend en compte les aspects électriques/optiques du

réseau

Gère les détails de fonctionnement du bus

Communique via le bus avec le CPU ou les autres

périphériques

Page 33: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Accélérer les opérations d’E/S réseau Idée clé : faire migrer plus de fonctionnalités sur la carte

réseau

4 techniques utilisées avec les bus :

Reconnaissance & filtrage d’adresse dans la carte

Bufferisation des paquets dans la carte

Utilisation de DMA( Direct Memory Access)

Traitement des données & chaînage des buffers

Page 34: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Reconnaissance & filtrage d’adresses dans la NIC

La NIC accepte un ensemble donné d’adresses : L’adresse unicast de la station L’adresse de diffusion restreinte du réseau

(broadcast) Zéro ou plusieurs adresses multicast

Quand le paquet arrive, la NIC vérifie l’adresse destination : Elle accepte le paquet si l’adresse est dans la liste Elle ignore tous les autres

Page 35: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Stockage des paquets dans la NIC

La NIC dispose d’une mémoire locale :

=> tout paquet entrant est placé dans sa mémoire

=>la mémoire de l’ordinateur ou son bus peuvent

fonctionner plus lentement que le réseau le

demande

=> peut gérer de brèves rafales de paquets

Page 36: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Accès direct mémoire ou DMA

Le CPU : Alloue des tampons en mémoire pour les paquets Transmet l’adresse du buffer à la NIC Peut continuer les autres traitements en cours

La NIC : Accepte les paquets provenant du réseau Copie les paquets entrants via le bus dans les

buffers mémoire du CPU Informe le CPU que les paquets sont arrivés

Page 37: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Chaînage des buffers

Le CPU : Alloue plusieurs buffers Transmet une liste chaînée à la NIC

La NIC : Reçoit le paquet suivant L’écrit dans un ou plusieurs buffers

=> un buffer peut être plus petit qu’un paquet

Page 38: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Stockage des paquets dans la NIC

La NIC dispose d’une mémoire locale :

=> tout paquet entrant est placé dans la mémoire

=>la mémoire de l’ordinateur ou son bus peuvent

fonctionner plus lentement que le réseau le

demande

=> peut supporter de brèves rafales de paquets

Page 39: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Enchaînement des opérations

Le CPU : Alloue plusieurs buffers Construit une liste chaînée d’opérations Transmet la liste à la NIC

La NIC : Suit la liste et exécute les instructions Interrompt le CPU après chaque opération

=> plusieurs opérations sont exécutées sans intervention du CPU

Page 40: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Algorithmes et Structures de Données

Voir Chapitre 5 du livre : D. Comer

Network System Desin Using Network Processors

Page 41: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Contenu du cours (2)

Principes d’architecture des processeurs

réseau - critères & contraintes

Conception des Processeurs Réseau

Exemples de processeurs réseau :

IBM Power NP, Intel IXP

Processeur Réseau LIP6

Page 42: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Architecture de PR : les possibilités (1)

Étude des systèmes purement logiciels (par ex. Click) sur des matériels conventionnels Processeur Memoire Entrées/Sorties Bus

Cartes réseau optimisées afin de réduire la charge du CPU

Page 43: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Architecture de PR : les possibilités (2)Influence de la structure du système

Processeur réseau intégré sur puce : atouts

Réseau sur puce pour remplacer le bus Conception de systèmes utilisant des composants “off

the shelf” (SoClib) réutilisables

Page 44: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Utilisation de processeurs programmables (1)

CPU universels

Fonctionnalité de niveau plus élevéInterface d’administration

Commande du sytèmeFonctions globales de gestion

Protocoles de routage

Processeurs embarqués

Fonctionalités intermediairesProtocoles des couches hautes

Page 45: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Utilisation de processeurs programmables (2)

Processeurs embarqués (suite)

Commande des processeurs d’E/SGestion des exceptions et des erreurs

Traitement en entrée (ingress) de haut niveau (réassembage)

Traitement en sortie (egress ) de haut niveau (mise en forme du trafic)

Processeurs d’E/S

Traitement de Base des paquets Classification Forwarding

Opérations d’entrée (ingress) de bas niveauOpérations de sortie (egress) de bas niveau

Page 46: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

ScalabilitéHiérarchie de processeurs

Rend les processeurs plus rapides

Utilise plus de threads concurrents

Augmente les types de processeurs

Augmente le nombre des processeurs

Hiérarchie de Memoires

Taille

Vitesse

Débit (bande passante)

Coût

Page 47: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Pyramide des processeurs

CPU

Proc. embarqués

Processeurs d’E/s

Hiérarchie des processeurs de plus bas niveau

•Les niveaux les plus bas ont besoin des plus forts accroissements de performances•Pour maximiser les performances, les tâches de traitement des paquets doivent être affectées aux processeurs de plus bas niveau capables d’exécuter la tâche

Page 48: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Performances des mémoires (1)

Temps de latence

– temps d’accès brut en lecture/écriture

– SRAM : 2 - 10 ns

– DRAM : 50 - 70 ns

– mémoires externes : un ordre de grandeur plus grand que

les mémoires internes

Page 49: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Performances des mémoires (2)

Temps de cycle mémoire : mesure le temps

entre 2 opérations successives (lecture/écriture)

– paramètre important dans les réseaux car

paquets grands

– temps de cycle en lecture : temps entre 2

lectures successives

– temps de cycle en écriture : temps entre 2

écritures successives

Page 50: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Pyramide des mémoires

La mémoire de plus grande taille est la moins chère

Bande passante : Mesure générale du débit mémoire L’accroissement du parallélisme du chemin de données permet plus de

débit Ne peut être étendu arbitrairement : (limité par le nombre de pattes, la taille

du bus adresses du processeur,...)

Reg

mem. internes

SRAMexternes

DRAM externes

Page 51: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Types de mémoires

Technologie Mémoire Abréviation CaractéristiquesDRAM synchrone SDRAM Synchrone avec le CPU

pour les plus faibles latencesQuad Data Rate SRAM QDR-SRAM Optimisé pour faibles latences

& accès multiplesZero Bus Turnaround ZBT-SRAM Optimisé pour les accèsSRAM aléatoiresFast Cycle RAM FCRAM Optimisé pour des transferts de blocs :

faibles temps de cycleDouble Data Rate DRAM DDR-DRAM Optimisé pour faibles latences Reduced Latency DRAM RLDRAM Faibles temps de cycle & besoins

en basse consommation

Page 52: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Mémoires caches

Technique universelle

Peut ne pas bien marcher dans les systèmes de

réseau

– Faible durée de présence des données

dans le cache

– grande taille de cache : soit avec beaucoup

d’entrées, soit offrant une grande

granularité d’accès

Page 53: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Content Addressable Memory (CAM 1)

Combinaison de plusieurs mécanismes

– mémoire à accès aléatoire

– recherche d’un contenu déterminé

Recherche rapide grâce au parallélisme du matériel

Page 54: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Content Addressable Memory (CAM 2)

Recherche ou ce qui est fourni à la mémoire :

– profil à rechercher

– contenu appelé clé

CAM renvoie :

– la première adresse dont le contenu vérifie la

clé ou

– toutes les adresses dont les contenus vérifient

la clé

Page 55: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Ternary CAM (T-CAM) Permet le masquage des entrées

Utile pour les processeurs réseau Mode de recherche :

À chaque cellule est associé un masque de bits Le matériel utilise le masque pour décider quels bits tester

Algorithme :

for each slot do {

if ( ( key & mask ) == ( slot & mask ) ) {

declare key matches slot;

} else {

declare key does not match slot;}

}

Page 56: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Utilisation d’une T-CAM pour classification

Extrait des valeurs des champs des en-têtes

Les valeurs trouvées sont constituées en chaînes

contiguës

On utilise une clé pour une recherche dans la T-CAM

Stockage de la classification dans une cellule

Page 57: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Mesures du débit (1)

Débit binaire (en bit/s)

– débit par interface

– débit cumulé

Débit de paquets (paquet/s)

– débit par interface : débit des données en entrée ou

en sortie

– débit cumulé : Somme des débits par interface - mesure

du débit total que le système peut gérer

Page 58: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Mesures du débit (2)

=> Débit cumulé crucial si le CPU gère le trafic

provenant de toutes les interfaces

=> Donne la limite du type et du nombre de

connexions réseau que le système peut

supporter

Page 59: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Débit de paquets ou débit binaire ?

Sources de l’overhead du CPU :

– traitement par bit

– traitement par paquet

L’interface matérielle gère la plus grande partie

du traitement par bit

=>Scalabilité : pour les tâches de traitement de

protocoles qui ont un coût fixe par paquet, le

nombre de paquets traités est plus important que

le débit cumulé

Page 60: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Exemples de débits de paquets

Technologie Débit du Débit de paquets Débit de paquets réseau petits paquets grands paquets (Gbps) (Kpaquet/s) (Kpaquet/s) 10Base-T 0.010 19.5 0.8100Base-T 0.100 195.3 8.2OC-3 0.156 303.8 12.8OC-12 0.622 1,214.8 51.21000Base-T 1.000 1,953.1 82.3OC-48 2.488 4,860.0 204.9OC-192 9.953 19,440.0 819.6OC-768 39.813 77,760.0 3,278.4

=> concept clé : le débit maximum de paquets se produit avec les paquets de taille minimale

Page 61: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Temps par paquet

Technologie Temps par paquet Temps par paquet petits paquets grands paquets (µs) (µs)10Base-T 51.20 1,214.40100Base-T 5.12 121.44OC-3 3.29 78.09OC-12 0.82 19.521000Base-T 0.51 12.14OC-48 0.21 4.88OC-192 0.05 1.22OC-768 0.01 0.31 Note : ces nombres s’entendent pour une seule connexion !

=> le logiciel fonctionnant sur un ordinateur généraliste donne une architecture insuffisante pour gérer des réseaux à hauts débits car le débit de paquets dépasse les capacités du CPU

Page 62: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Solutions possibles pour résoudrele goulet d’étranglement du CPU

Parallélisme à grain fin

Parallélisme à gros grain symétrique

Parallélisme à gros grain asymétrique

Coprocesseurs spécialisés

NIC avec traitement embarqué

Smart NIC avec piles embarqués

Commutation de cellules

Pipelines de données

Page 63: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Parallélisme à grain fin

Plusieurs processeurs

Parallélisme au niveau instructionl

Exemple :

– total de contrôle parallèle : ajouter les valeurs

de 8 cellules mémoire consécutives au même

moment

=> donne des avantages insignifiants dans le

traitement des paquets

Page 64: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Parallélisme symétrique à gros grain

Matériel = multiprocesseurs symétriques

– nombreux processeurs identiques

Architecture typique : chaque CPU travaille sur un paquet=> demande de la coordination

=> la coordination et l’accès aux données impliquent que N processeurs ne peuvent pas gérer N fois plus de paquets qu’un seul processeur

Page 65: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Parallélisme asymétrique à gros grain

Plusieurs processeurs Chaque processeur :

– est optimisé pour une tâche spécifique

– contient des instructions génériques de commande

=> problèmes de coordination & d’accès aux données identiques à ceux du cas symétrique

=> l’architecte doit choisir combien de copies de chaque type de processeur il intègre dans l’architecture

Page 66: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Coprocesseurs spécialisés

Matériel spécialisé

À rajouter au processeur classique pour accélérer le

traitement

Invoqué comme un sous-pregramme logiciel

Implémentation typique : boîtier ASIC

=> choisir les opérations qui donneront les plus grandes

accélérations de la vitesse de traitement

=> pour optimiser la vitesse de traitement, déplacer les

instructions qui prennent le plus de temps CPU du logiciel

vers le matériel (loi de Amdahl)

Page 67: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

NIC & traitement embarqué

Optimisations de base :

– filtrage & reconnaissance d’adresses

– bufferisation embarquée

– DMA

– chaînage des buffers & des opérations

D’autres optimisations peuvent s’envisager

Page 68: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Smart NIC avec piles embarquées

Ajout de matériels à la NIC :

– boîtiers externes pour la couche 2

– ASIC pour la couche 3

Permet à chaque NIC de fonctionner de manière

autonome

– architecture réellement multiprocesseurs

– très fort accroissement de la puissance totale

de traitement

Page 69: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Smart NIC avec traitement embarqué

NIC gère les couches 2 & 3

CPU ne gère que les exceptions

Page 70: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Pipeline de données

Déplacement de chaque paquet à travers une série de

processeurs

Chaque processeur gère quelques tâches

=> convient bien au traitement de tâches de nombreux

protocoles

=> les processeurs individuels peuvent être rapides

Page 71: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Comment concevoir un PR ?

Dépend :

– du nombre d’opérations qe le PR peut réaliser

– du rôle du PR dans le système global

Pour comprendre les PR, examinons les problèmes à

résoudre :

– Protocoles en cours d’implémentation

– tâches de traitement sur les paquets

Page 72: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Fonctions de traitement sur les paquets Recherche d’adresse & renvoi des paquets (forwarding)

Protocole de démultiplexage de trames

Segmentation, fragmentation & réassemblage

Détection & correction d’erreurs

Mesure & régulation du trafic (traffic policing)

Classification de paquets

Mise en forme du trafic (traffic shaping)

Ordonnancement & mesures du temps

Mise en file d’attente

Sécurité : authentication & confidentialité

Page 73: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Questions

Notre liste de fonctions comprend-elle tous les traitements des protocoles ?

Quelles fonctions sont les plus importantes à optimiser ?

Comment les fonctions seront-elles prises en compte par les unités matérielles dans un réseau de systèmes typique ?

Quelles unités matérielles dans un réseau de systèmes peuvent être remplacées par des PR ?

Quel jeu d’instructions minimal est suffisamment général pour implémenter toutes les fonctions ?

Page 74: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Découpage en fonctionnalités

Partition des problèmes pour réduire la

complexité

Découpage de base en 2 parties

Fonctions à appliquer quand le paquet arrive

(ingress processing)

Fonctions à appliquer quand le paquet repart

(egress processing)

Page 75: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Ingress Processing

Sécurité & détection d’erreurs

Classification ou démultiplexage

Mesure & régulation du trafic

Recherche d’adresse & renvoi de paquet

Modification d’en-tête & transport splicing

Réassemblage ou fin de flux (e.g. ATM)

Forwarding, mise en file d’attente, ordonnancement

Éventuellement, refragmentation interne pour s’adapter

aux tailles des bancs mémoires embarqués

Page 76: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Egress Processing

Ajoute de Codes détection erreurs

Recherche d’adresse & renvoi de paquet

Segmentation ou fragmentation

Traffic Shaping

Timing, ordonnancement (scheduling)

Mise en file d’attente, bufferisation

Modification de l’en-tête

Traitements de securité à la sortie

Page 77: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Styles d’architecture, flux de paquets &vitesses d’horloges

Processeur embarqué plus coprocesseurs

définis (Intel IXP)

Processeur embarqué plus processeurs d’E/S

programmables (LIP6 PAPR)

Parallélisme (nombre de processeurs gérant la

charge)

Processeurs pipeline

Data flow

Page 78: Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6

Décisions de Conception

Performance vs. Programmabilité

Parallèlisme vs. Pipeline?

Programmabilité : Expliciter le Parallèlisme?

Coût du developpement vs. performance (ASIC, FPGA…)

Compatibilité avec l‘existant vs. innovation architecturale

Généralité vs. Spécificité de la mémoire

Coprocesseurs : Lookaside ou Flow-through?

Bande passante vs. Vitesse du PR

E/S Performance vs. Nombre de pin

tour du marché (es PR) et études de cas approfondies