La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6."— Transcription de la présentation:

1

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

3 Contenu du cours uPrincipes & Contraintes darchitecture des processeurs réseau u Conception des Processeurs Réseau uEtude du Marché des PR u Exemples de processeurs réseau : IBM Power NP, Intel IXP u Processeur Réseau LIP6

4 Contenu n Introduction l Motivation l Quest-ce quun Processeur Réseau? n Quelques exemples dutilisation des PR n Principes darchitecture & fonctionnement de différents composants n Concept de NIC (Network Card Interface) n Étude de systèmes purement logiciels, matériels associés & leçons à tirer

5 Motivation uaugmentation des débits binaires uévolution continue des protocoles et des applications ucoût élévé de conception de systèmes udurée élevée de limplémentation et du test urisque derreurs de conception uréutilisation de matériel dédié (ASIC) souvent impossible uUn Processeur réseau est à la fois spécialisé et programmable

6 Bande passante (Moctets/s) 100, DS0 année 64K 1.5M DS DS3 44Mb OC12 622Mb x24 x28 x12 10Gb x16 10,000 OC192 x4 OC768 40Gb 2005 PR DS= Digital Signal/signal numérique OC = Optical Carrier/fibre optique diapositive de E. Sicard Evolution des Réseaux

7 Evolution de la téléphonie Communications téléphoniques Nom du Standard - T1 T3 OC-1 OC-3 OC-12 OC-24 OC-48 OC-192 OC-768 Bit rate Mbps ,2488,160 2, , , Un PR gère plusieurs liens OC-XYZ à la fois

8 900MHz Voice 1G 900MHz 1800MHz Voice 2G MHz Smart Phone Full web service 3G MHz Voice Tiny Internet 2.5G 12 kb/s Data Rate Evolution de la téléphonie mobile

9 station de base Station mobile contrôleur station de base 12Kbit/s 5Mbit/s 100Mbit/s réseau 100 stations mobiles 10 stations de base diapositive de E. Sicard Evolution de la téléphonie mobile

10 Station de base Contrôleur station de base 1Mbit/s 500Mbit/s 50Gbit/s réseau Portables 3G 500 stations mobiles 100 stations de base NP diapositive de E. Sicard Explosion de la demande de bande passante Flexibilité/bas coût/basse consommation/Scalabilité… Quels enjeux?

11 Enjeux industriels u Hauts débits u Sécurité n Cryptographie, pare-feux, authentification u Flexibilité n Généralité n Adaptable aux nouveaux standards (ATM, UMTS, IPv6) n Possibilité dajout de fonctionnalités => outils programmables u Scalabilité u Basse consommation u Faible coût

12 Les grandes questions uQuels systèmes ? uQuels mécanismes physiques? uQuels protocoles? uQuelles applications? n Tout ce qui existe actuellement n Tout ce qui est nouveau ou pas encore conçu ou pas encore standardisé uQuelles vitesses? n Tout ce qui existe actuellement n Des vitesses beaucoup plus élévées

13 Lidée en bref uConçevoir de nouveaux composants programmables uSoutien spécial pour traitement des protocoles et des E/S n affecter les tâches de commande au(x) processeur(s) généraliste(s) n processeurs dédiés au traitement des paquets et à la consultation des tableaux uEventuellement fournir des composants dédiés (coprocesseurs) aux tâches comme : calcul de checksum, cryptographie, etc. uIntégration maximale, idéalement sur une seule puce uFaire en sorte que plusieurs composants matériels puissent être combinés entre eux => Le résultat sappelle un Processeur Réseau PR ou Network Processor NP

14 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 Proceseur Généraliste HW Assist Tables de Routage Mémoire Tampon (paquets) MAC/FRAME Processor 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 Quest-ce quun Processeur Réseau ? Co-Processeurs avec fonctionnalités comme : consultation de table de routage, calcul de checksum Mémoire externe Micro Réseau Interne

15 Historique des PR (1) u Septembre 1999 : C-Port (Motorola) annonce le premier processeur réseau (PR) en production pour fin But : fournir un matériel flexible pour traiter trames ou paquets de manière distribuée à lentrée des commutateurs (switches) ou des routeurs à hautes performances u Au cours de lannée 2000 : plusieurs grandes entreprises commencent à développer des PR (Intel, IBM, Lucent,…) pour répondre à la demande des opérateurs réseaux

16 Historique des PR (2) udébut 2003, environ 20 entreprises offrent soit des PR, soit annoncent leur developpement ufin 2003, le marché est plutôt dominé par les PME mais les grandes entreprises comblent leur retard… u Environ 200 projets utilisant des PR en cours chez les fournisseurs déquipements réseaux : le processeur IBM est utilisé par Alcatel, CISCO, NORTEL,… u : nombreux rachats et liquidations de petites entreprises, des investissements des grandes dans la formation (Intel) udébut 2007 ce développement continue

17 (*) OSI/ISO= open system interconnection from International Standard Organization OSI/ISO (*) TitleDescription Layer 7ApplicationApplication protocols, user-interface Layer 6PresentationApplication specific format transfer Layer 5SessionConnection to process, billing Layer 4TransportPoint to point flow control Layer 3NetworkConnection, link switching Layer 2Data linkSignalling, block transfer Layer 1PhysicalTransmission, coding, moduation PR Où situer les PR ISO/OSI

18 Exemples : Systèmes Réseau u traitement de paquets uUtilisant des adresses uBridge, switch, VLAN switch uInternet : hote et routeur uPare-feu, VPN, NAT,Load Balancer, Set-Top Box uTraffic Monitor, Policer, Shaper, Packet analyzer

19 u PR en amont (front-end stage) des commutateurs/routeurs à grande vitesse Conventional Switch Next Generation (distributed) Switch Doesnt scale very well !!!! Scales very well POS (packet Over SONET)/GbEthernet Commutateur Ethernet

20 QoS : Files dattentes Network Control System (Exemple TrafficDesigner de QosMos) Scenario : utilisateurs indisciplinés u Une liaison à 2 Mbits surchargée u Une utilisation intensive du telnet (application métier) u Des sauvegardes effectuées par FTP u Des utilisateurs indisciplinés qui aiment le P2P Les objectifs : u Assurer un bon temps de réponse au telnet + ssh u Assurer un bon débit au protocole FTP u Limiter le P2P et le mail en cas de charge Projet Lip6 RP-ASIM avec QosMos en 2004/2005 stage N. Wilczak en ete 2004

21 Monitoring : Exemples

22 Traffic Designer : Technologie fondatrice Classification Applicative Analyse de la grammaire et du comportement des flux Reconnaître les applications sur des ports non standards Analyse des négociations dynamiques de ports Passive FTP, Oracle, SAP, VoIP, … Analyse des données internes à chaque application fichiers attachés, URL, Noms des bases Classification décorrélée du service Audit, Billing, QoS, Firewall ….

23 Traffic Shaping u Accès WAN à 2Mbits u 2 flux important identifiés : n FTP : Téléchargement hautement prioritaire n 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

24 Exemple: interface utilisateur

25 Systèmes purement logiciels u Utilise des matériels classiques (PC) u Logiciels système n Tournant sur un système complet n Allouant la mémoire nécessaire n Commandant les entrées-sorties des périphériques n Réalisant tout le traitement du protocole

26 Pourquoi étudier le traitement des protocoles sur les matériels classiques ? (1) uDans le passé : n Utilisé dans les premiers routeurs IP n Beaucoup dalgorithmes développés ou optimisés pour le matériel classique uDans le présent : n Utilisé dans les systèmes réseau à basse vitesse n Plus facile à créer ou à modifier n Moins coûteux que les matériels dédiés

27 Pourquoi étudier le traitement des protocoles sur les matériels classiques ? (2) u Dans le futur : n Les processeurs continuent daccroître leur vitesse de traitement n Il subsiste quelques matériels classiques dans tous les systèmes u 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

28 Matériels des ordinateurs classiques u Quatre parties importantes : n Le processeur n La mémoire n Les interfaces dE/S n un ou plusieurs bus

29 Paradigme du bus (1) u Seulement 2 opérations de base : fetch & store n Fetch l Place ladresse dun périph sur les lignes dadresse l Envoie la commande fetch sur les lignes de commande l Attend que le périph qui possède ladresse réponde l En cas de succès, extraction des valeurs présentes sur les lignes de données

30 Paradigme du bus (2) n Store l Place ladresse du périphérique sur les lignes dadresse l Place la valeur sur les lignes de données l Envoie la commande store sur les lignes de commande l Attend que le périph qui possède ladresse réponde l En cas déchec, signalement de lerreur u Les opérations sur dautres bus sont semblables à celles vues ici

31 Bus (1) uGénéralités sur les bus : n Matériel quelconque connectable au bus n Périph. quelconque adressable par une adresse quelconque n Lespace dadressage peut contenir des trous n Bande passante limitée

32 Bus (2) u Utilisation dun bus plus large : n Transfère plus de données par unité de temps n Plus coûteux u Demande plus despace physique => compromis : pour simuler un bus large, on utilise du matériel qui multiplexe les transferts

33 E/S réseau sur matériels classiques u Compromis pour améliorer les performances u Network Interface Card (NIC) : n Lien entre le bus et le réseau n Fonctionne comme tous les autres périphs dE/S n Prend en compte les aspects électriques/optiques du réseau n Gère les détails de fonctionnement du bus n Communique via le bus avec le CPU ou les autres périphériques

34 Accélérer les opérations dE/S réseau u Idée clé : faire migrer plus de fonctionnalités sur la carte réseau u 4 techniques utilisées avec les bus : n Reconnaissance & filtrage dadresse dans la carte n Bufferisation des paquets dans la carte n Utilisation de DMA( Direct Memory Access) n Traitement des données & chaînage des buffers

35 Reconnaissance & filtrage dadresses dans la NIC uLa NIC accepte un ensemble donné dadresses : n Ladresse unicast de la station n Ladresse de diffusion restreinte du réseau (broadcast) n Zéro ou plusieurs adresses multicast uQuand le paquet arrive, la NIC vérifie ladresse destination : n Elle accepte le paquet si ladresse est dans la liste n Elle ignore tous les autres

36 Stockage des paquets dans la NIC uLa NIC dispose dune mémoire locale : => tout paquet entrant est placé dans sa mémoire =>la mémoire de lordinateur ou son bus peuvent fonctionner plus lentement que le réseau le demande => peut gérer de brèves rafales de paquets

37 Accès direct mémoire ou DMA uLe CPU : n Alloue des tampons en mémoire pour les paquets n Transmet ladresse du buffer à la NIC n Peut continuer les autres traitements en cours uLa NIC : n Accepte les paquets provenant du réseau n Copie les paquets entrants via le bus dans les buffers mémoire du CPU n Informe le CPU que les paquets sont arrivés

38 Chaînage des buffers uLe CPU : n Alloue plusieurs buffers n Transmet une liste chaînée à la NIC uLa NIC : n Reçoit le paquet suivant n Lécrit dans un ou plusieurs buffers => un buffer peut être plus petit quun paquet

39 Stockage des paquets dans la NIC uLa NIC dispose dune mémoire locale : => tout paquet entrant est placé dans la mémoire =>la mémoire de lordinateur ou son bus peuvent fonctionner plus lentement que le réseau le demande => peut supporter de brèves rafales de paquets

40 Enchaînement des opérations uLe CPU : n Alloue plusieurs buffers n Construit une liste chaînée dopérations n Transmet la liste à la NIC uLa NIC : n Suit la liste et exécute les instructions n Interrompt le CPU après chaque opération => plusieurs opérations sont exécutées sans intervention du CPU

41 Algorithmes et Structures de Données uVoir Chapitre 5 du livre : D. Comer Network System Desin Using Network Processors

42 Contenu du cours (2) uPrincipes darchitecture des processeurs réseau - critères & contraintes u Conception des Processeurs Réseau u Exemples de processeurs réseau : IBM Power NP, Intel IXP u Processeur Réseau LIP6

43 Architecture de PR : les possibilités (1) uÉtude des systèmes purement logiciels (par ex. Click) sur des matériels conventionnels n Processeur n Memoire n Entrées/Sorties n Bus uCartes réseau optimisées afin de réduire la charge du CPU

44 Architecture de PR : les possibilités (2) uInfluence de la structure du système uProcesseur réseau intégré sur puce : atouts n Réseau sur puce pour remplacer le bus n Conception de systèmes utilisant des composants off the shelf (SoClib) réutilisables

45 Utilisation de processeurs programmables (1) CPU universels Fonctionnalité de niveau plus élevé Interface dadministration Commande du sytème Fonctions globales de gestion Protocoles de routage Processeurs embarqués Fonctionalités intermediaires Protocoles des couches hautes

46 Utilisation de processeurs programmables (2) Processeurs embarqués (suite) Commande des processeurs dE/S Gestion 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 dE/S Traitement de Base des paquets Classification Forwarding Opérations dentrée (ingress) de bas niveau Opérations de sortie (egress) de bas niveau

47 Scalabilité uHiérarchie de processeurs n Rend les processeurs plus rapides n Utilise plus de threads concurrents n Augmente les types de processeurs n Augmente le nombre des processeurs uHiérarchie de Memoires n Taille n Vitesse n Débit (bande passante) n Coût

48 Pyramide des processeurs CPU Proc. embarqués Processeurs dE/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 dexécuter la tâche

49 Performances des mémoires (1) uTemps de latence – temps daccès brut en lecture/écriture – SRAM : ns – DRAM : ns – mémoires externes : un ordre de grandeur plus grand que les mémoires internes

50 Performances des mémoires (2) uTemps 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

51 Pyramide des mémoires uLa mémoire de plus grande taille est la moins chère uBande passante : n Mesure générale du débit mémoire n Laccroissement du parallélisme du chemin de données permet plus de débit n Ne peut être étendu arbitrairement : (limité par le nombre de pattes, la taille du bus adresses du processeur,...) Reg mem. internes SRAMexternes DRAM externes

52 Types de mémoires Technologie Mémoire Abréviation Caractéristiques DRAM synchrone SDRAM Synchrone avec le CPU pour les plus faibles latences Quad Data Rate SRAM QDR-SRAM Optimisé pour faibles latences & accès multiples Zero Bus Turnaround ZBT-SRAM Optimisé pour les accès SRAM aléatoires Fast Cycle RAM FCRAM Optimisé pour des transferts de blocs : faibles temps de cycle Double Data Rate DRAM DDR-DRAM Optimisé pour faibles latences Reduced Latency DRAM RLDRAM Faibles temps de cycle & besoins en basse consommation

53 Mémoires caches uTechnique universelle uPeut 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 dentrées, soit offrant une grande granularité daccès

54 Content Addressable Memory (CAM 1) u Combinaison de plusieurs mécanismes – mémoire à accès aléatoire – recherche dun contenu déterminé u Recherche rapide grâce au parallélisme du matériel

55 Content Addressable Memory (CAM 2) uRecherche ou ce qui est fourni à la mémoire : – profil à rechercher – contenu appelé clé uCAM renvoie : – la première adresse dont le contenu vérifie la clé ou – toutes les adresses dont les contenus vérifient la clé

56 Ternary CAM (T-CAM) u Permet le masquage des entrées u Utile pour les processeurs réseau u Mode de recherche : n À chaque cellule est associé un masque de bits n 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;} }

57 Utilisation dune T-CAM pour classification uExtrait des valeurs des champs des en-têtes uLes valeurs trouvées sont constituées en chaînes contiguës uOn utilise une clé pour une recherche dans la T-CAM uStockage de la classification dans une cellule

58 Mesures du débit (1) u Débit binaire (en bit/s) – débit par interface – débit cumulé u 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

59 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

60 Débit de paquets ou débit binaire ? u Sources de loverhead du CPU : – traitement par bit – traitement par paquet u Linterface 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é

61 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 Base-T OC OC , Base-T , OC , OC , OC , ,278.4 => concept clé : le débit maximum de paquets se produit avec les paquets de taille minimale

62 Temps par paquet Technologie Temps par paquet Temps par paquet petits paquets grands paquets (µs) (µs) 10Base-T , Base-T OC OC Base-T OC OC OC u Note : ces nombres sentendent 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

63 Solutions possibles pour résoudre le goulet détranglement du CPU u Parallélisme à grain fin u Parallélisme à gros grain symétrique u Parallélisme à gros grain asymétrique u Coprocesseurs spécialisés u NIC avec traitement embarqué u Smart NIC avec piles embarqués u Commutation de cellules u Pipelines de données

64 Parallélisme à grain fin uPlusieurs processeurs uParallélisme au niveau instructionl uExemple : – 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

65 Parallélisme symétrique à gros grain u Matériel = multiprocesseurs symétriques – nombreux processeurs identiques u Architecture typique : chaque CPU travaille sur un paquet => demande de la coordination => la coordination et laccès aux données impliquent que N processeurs ne peuvent pas gérer N fois plus de paquets quun seul processeur

66 Parallélisme asymétrique à gros grain u Plusieurs processeurs u Chaque processeur : – est optimisé pour une tâche spécifique – contient des instructions génériques de commande => problèmes de coordination & daccès aux données identiques à ceux du cas symétrique => larchitecte doit choisir combien de copies de chaque type de processeur il intègre dans larchitecture

67 Coprocesseurs spécialisés u Matériel spécialisé u À rajouter au processeur classique pour accélérer le traitement u Invoqué comme un sous-pregramme logiciel u 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)

68 NIC & traitement embarqué u Optimisations de base : – filtrage & reconnaissance dadresses – bufferisation embarquée – DMA – chaînage des buffers & des opérations u Dautres optimisations peuvent senvisager

69 Smart NIC avec piles embarquées u Ajout de matériels à la NIC : – boîtiers externes pour la couche 2 – ASIC pour la couche 3 u Permet à chaque NIC de fonctionner de manière autonome – architecture réellement multiprocesseurs – très fort accroissement de la puissance totale de traitement

70 Smart NIC avec traitement embarqué u NIC gère les couches 2 & 3 u CPU ne gère que les exceptions

71 Pipeline de données u Déplacement de chaque paquet à travers une série de processeurs u Chaque processeur gère quelques tâches => convient bien au traitement de tâches de nombreux protocoles => les processeurs individuels peuvent être rapides

72 Comment concevoir un PR ? u Dépend : – du nombre dopérations qe le PR peut réaliser – du rôle du PR dans le système global u Pour comprendre les PR, examinons les problèmes à résoudre : – Protocoles en cours dimplémentation – tâches de traitement sur les paquets

73 Fonctions de traitement sur les paquets u Recherche dadresse & renvoi des paquets (forwarding) u Protocole de démultiplexage de trames u Segmentation, fragmentation & réassemblage u Détection & correction derreurs u Mesure & régulation du trafic (traffic policing) u Classification de paquets u Mise en forme du trafic (traffic shaping) u Ordonnancement & mesures du temps u Mise en file dattente u Sécurité : authentication & confidentialité

74 Questions u Notre liste de fonctions comprend-elle tous les traitements des protocoles ? u Quelles fonctions sont les plus importantes à optimiser ? u Comment les fonctions seront-elles prises en compte par les unités matérielles dans un réseau de systèmes typique ? u Quelles unités matérielles dans un réseau de systèmes peuvent être remplacées par des PR ? u Quel jeu dinstructions minimal est suffisamment général pour implémenter toutes les fonctions ?

75 Découpage en fonctionnalités u Partition des problèmes pour réduire la complexité u Découpage de base en 2 parties u Fonctions à appliquer quand le paquet arrive (ingress processing) u Fonctions à appliquer quand le paquet repart (egress processing)

76 Ingress Processing u Sécurité & détection derreurs u Classification ou démultiplexage u Mesure & régulation du trafic u Recherche dadresse & renvoi de paquet u Modification den-tête & transport splicing u Réassemblage ou fin de flux (e.g. ATM) u Forwarding, mise en file dattente, ordonnancement u Éventuellement, refragmentation interne pour sadapter aux tailles des bancs mémoires embarqués

77 Egress Processing u Ajoute de Codes détection erreurs u Recherche dadresse & renvoi de paquet uSegmentation ou fragmentation u Traffic Shaping u Timing, ordonnancement (scheduling) u Mise en file dattente, bufferisation u Modification de len-tête u Traitements de securité à la sortie

78 Styles darchitecture, flux de paquets & vitesses dhorloges u Processeur embarqué plus coprocesseurs définis (Intel IXP) u Processeur embarqué plus processeurs dE/S programmables (LIP6 PAPR) u Parallélisme (nombre de processeurs gérant la charge) u Processeurs pipeline u Data flow

79 Décisions de Conception uPerformance vs. Programmabilité uParallèlisme vs. Pipeline? uProgrammabilité : Expliciter le Parallèlisme? uCoût du developpement vs. performance (ASIC, FPGA…) uCompatibilité avec lexistant vs. innovation architecturale uGénéralité vs. Spécificité de la mémoire uCoprocesseurs : Lookaside ou Flow-through? uBande passante vs. Vitesse du PR uE/S Performance vs. Nombre de pin u tour du marché (es PR) et études de cas approfondies


Télécharger ppt "Processeurs Réseau PAPR (1) UE de M2 février / mars 2007 Daniela Genius LIP6."

Présentations similaires


Annonces Google