590 likes | 715 Views
Processeurs Réseau PAPR (2) 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 Exemples de processeurs réseau : IBM Power NP, Intel IXP Processeur Réseau LIP6.
E N D
Processeurs Réseau PAPR (2) 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 • Exemples de processeurs réseau : IBM Power NP, Intel IXP • Processeur Réseau LIP6
Critères de Comparaison • Microarchitecture • Architecture • Implémentation Physique • Support Logiciel
Comparaison: Micro-architecture • Organisation interne du processeur (étages du pipeline, PUs etc.) • Plusieurs processeurs avec des micro-architectures différentes auront la même architecture • Critères • basée sur tâches (task-based) • présence des instructions spécialisées • nombre des contextes actives • nombre des contextes par contexte actif
Comparaison: Architecture • Vue sur l’ensemble du système programmable par langage machine • Processing Elements PE • Registres accessibles par instruction • Jeu d’instruction complet • Modes d’adressage • Formatage des données • Multiprocessing • contrôle centralisé • nombre de PE • structure de communication interne aux PE • Interfaces • Multithreading • Memory prefetching
Agere (se porte bien) Alchemy (acheté par AMD) AMCC (se porte bien) Bay Microsystems (acheté par Xilinx??) BRECIS Communications Broadcom (se porte bien) Cisco Clearspeed (se porte bien) Clearwater Networks (struggling, 2004) Cognigine (acheté par entreprise chinoise Huawei Télécom , mars 2004) Conexant (rien après 2002) Ezchip IBM Intel Lexra (violation de brevet de MIPS 1999, disparaît du marché janvier 2002) Motorola PMC-Sierra (se porte bien) Vitesse (Y. Viniotis cofondateur) se porte bien Xelerated (se porte bien) Liste Alphabétique des Fournisseurs (début 2005)
Solutions ASIC Coprocesseurs Réseau Processeurs Universels Processeurs Réseau DSP Processeurs de Communication Espace de Solutions • Buts de la conception : • performance • coût • fonctionnalité(pour un domaine d ’application donné) • programmabilité • compromis qualitatifs et quantitatifs En annexe (p. 41 ff) : traduction de l ’étude de N. Shah
Littérature • Thèse de N. Shah : Understanding Network Processors : disponible sous /users/enseig/genius/UnderstandingNPs.pdf.gz • Collection d ’articles d ’Intel : disponible sous /users/enseig/genius/IntelJournal.pdf.gz • Description de l ’architecture du IBM PowerNP: disponible sous /users/enseig/genius/PowerNP.pdf.gz • Livre de D. Comer (peut être consulté sur place en bureau 404)
Agere (Q4 2000-??) • PayloadPlus Trois puces séparées • Fast Pattern Processor • Routing Switch Processor • Interface Système (ASI) • Interfaces Utopia, MPI, PCI • Interface Système ASI • management • traitement lent : initialisation, mise à jour des tables de routage, mise à jour du traitement de la file, traitement des exceptions, collection des statistiques • Interface PCI pour connecter au monde extérieur Configuration bus
Agere Diagramme de l ’unité FPP
Agere Diagramme de l ’unité RSP
Alchemy Au1000 (Q2 2001 - ??) • Processeur plutôt generaliste • basé sur 32-bit MIPS basse consommation • Pipeline à 5 étages • 32*16 Multiply-Accumulate • conditional moves, prechargement des données, autres optimisations classiques • Deux contrôleurs Ethernet • IrDA, USB, 4 UARTS • 16KB instruction et data cache • update 2004 : AU 1550 security processor, SoC
Applied Micro Circuits AMCC (Q1 1999-?) • premier fournisseur (historiquement parlant) • Basé sur EPIF-200 • processeur orienté paquet pour couches 2-7 • 64bit network processor • jeu d ’instructions optimisé • « zero »-overhead task switching among 8 threads • programmable policy engine for packet classification • Search Engine for layer 2 LAN bridging and layer 3 longest prefix match lookup • packet transform engine • statistics engines
Bay Microsystems (début 2001 - ??) • Peu d ’information • couches 3-7 à 10 GB/sec • VLIW avec DRAM • 166 MHz • update Montego OC-192 processor • works with Xilinx (eXtensa architecture)
BRECIS (Q3 2001-2004) • multi-services (aussi transmission de voix, téléphone mobile) • MSP5000 : à la fois plusieurs canaux de voix et des données • 1 DSP ZSP400 pour voix et un pour données, respectivement • 4-issue superscalar • 80 Kbyte on-chip I/D mémoire • coprocesseur pour voix, coprocesseur pour donnés • MIPS R4KM pour control-plane operations • 180 MHz • I/D cache de 16Kbyte • security coprocesseur • acheté par cavium en aout 2004 • continue à produire des processeurs securité
BRECIS • bus à haute bande passante • bus multi service • transactions simultanés • priority switching sur 3 niveaux • interface bus • packet classifier • 3 files paquet • DMA • deux interfaces 10/100 Ethernet MAC, UTOPIA, TDM interfaces for telephony support
Broadcom (Q2 2001 -??) • focussé control plane au lieu de data plane • Mercurian SB-1250 • deux coeurs 64bit MIPS • trois Gigabit Ethernet MACs • bus 256 octets • pas d’instructions spécialisées • cœur MIPS SB-1, jusqu’à 1 GHz • 4 instructions par cycle • pipeline entiers à 9-étages • pipeline flottants à 12-étages • 32 ko L1 cache, 4-way associative 512ko L2 cache • 3 on-chip ethernet MAC • 2 FIFOs paquet
Cisco PXF/Toaster2 (??) • Vrai multiprocesseur SIMD • utilisé dans des routeurs (Cisco 1000 Edge Service Router) • traitement seulement niveau 3 • processeur ne s´occupe pas de la gestion (network management) • 16 processeurs dans 4 pipelines • deux PXF: 4*8 systolic array (entre autres) • processeur individuel: 2-issue VLIW • instructions spécials packet processing • mémoire hors puce (par colonne)
ClearSpeed (Q2 2003 - ??) • 40 Gbps data rate • core routers, edge routers • Multiple-Threaded Array Processor MTAP • Multiprocesseur 100-1000 éléments • 8 bit par élément • 16-64 registres • Chaque élément exécute le même code • 32 threads simultanés • Co-processeurs partagés • Bus à haute bande passante • Utilisateur peut ajouter co-processeurs
Clearwater (Q4 2001 - ??) • CNP810SP • simultaneous multi-threading • 10 instructions per cycle • 8 threads • hardware multithreading (thread= mini processeur superscalaire avec register file et instruction cache separés) • 8 threads simultanés • 8 files d’instruction • instructions spécialisées • 2 address generators donc 10=8+2 issue • targeted to layer 4-7 processing for edge devices • packet rate 10 Gbps
Clearwater • Architecture • 64kB cache D/I sur puce • 9-stage pipeline • paquets: PMU gère et classifie en profondeur • 256Kbyte dual-ported on-chip memory (packet cache) • optimisé pour l ’allocation mémoire de la taille d ’un paquet
Cognigine RCU • modèle de multiprocessur distribué • 16 Processing Elements (Reconfigurable Communication Units RCU) • quatre unités parallèles • pipeline à cinq étages • chemin de données 64 bit • instructions pour reconfiguration dynamique (VISC) • Connecté par crossbar • connecte les RCUs de façon hierarchique -> scalabilité! • Support pour split transaction
Conexant (Q4 1999-??) • Architecture • 32 bit RISC processeur Octave • optimisé pour traitement des flux (instructions spécialisées) • traitements de la couche 2 - internetworking (AAL SAR, MPLS) • buffer management • contrôle de congestion • gestion de la bande passante • CRC & FCR (detaction des erreurs) • traffic shaping • supporte des débits de paquets jusqu ’à 2.5 Gbps
Ezchip (Q3 2001 - ??) Superpipelined Packet flow TOPmodify TOPresolve TOPparse TOPsearch superscalar • NP1 introduit en Avril 2002 • Task Optimized Processors (TOP) • jeu d ’instructions spécifique • chemin de données spécifique • architecture superscalaire, superpipeliné • brevets sur la gestion mémoire embarqué/externe mais pas de détail disponible • 2004: NP-1c 10 Go plateforme
IBM (Q3 2000 - ??) • Embedded Processor Complex EPC • Coeur PowerPC • 16 processeurs programmables avec pipeline 3 étages dont 1 specialisé lookup • Matériel pour traitement des frames • Interfaces I/O • Coprocesseurs • Data store • Checksum • Enqueue • Interface • String Copy • Compteur • Policy • Mémoire 8KB par Protocol Processor • Divers mémoires internes entre 8 et 32 KB
Intel IXP 1200 (Q4 1999-??) • originaire de DEC • Layer 2-4 processing • Packet rate 2.5 Mpackets/sec • Interface PCI • 6 micro-engines • 4 threads chacune avec registres partagés • Partitionnement des registres permet changement de contexte dans 1 cycle • 200MHz StrongARM controller • 64 bit IX bus • Matériel spécilisé pour hashage, queueing, shift/rotate en 1 cycle • Instructions specialisés paquet: find first bit set, barrel shift, extract byte/word • FIFOs pour interface avec couche MAC • 8KB cache data sur puce • 16 KB cache instruction du StrongARM • 4 KByte mémoire SRAM scratchpad
Lexra NetVortex (Q2 2001 - 2002) • Max. 16 coeurs LX8000: des MIPS R3000 specialisés traitement réseau • Changement du contexte dans 1 cycle entre 8 contextes • Instructions spécialisées (add-complément, insertion et extraction des bit fields) • Instructions de branchement spécialisées (pour support control plane) • Processing couche 2-4, OC192 • Support pour recupérer des paquets de la mémoire (Block Transfer Unit) via bus système • Multi-channel DMA controller • Update NVP: changement des co-processeurs, crossbar entre coprocesseurs et packet processors, hardware-manages buffers
Motorola C-Port (Q2 2000-??) • 16 processeurs canal: cœur RISC • 1 à 2 parallel serial data processors (SDP) pour la communication • 5 coprocesseurs • exécutif: coordination avec processeurs externes • fabric: permet d ’utiliser plusieurs C5 dans un fabric • table lookup: inspection et mise è jour de la table • queue management : gestion de la file paquet • buffer management : gestion rapide de la mémoire • trois bus internes (ensemble 60 GB/sec)
Vitesse (Q2 2000-??) • 4 processeurs 200 MHz RISC scalaires • instructions spécifiques réseau • coprocesseurs « arrangés en flot » • lookup • classification • gestion de l ’ordre des paquets • multicast • gestion DMA • gestion des contextes • QoS engine
Xelerated Packet Devices (Q2 2002 - ??) • Solution à deux processeurs • X40 et T40 • hardware support for Weighted Random early detection • fragmentation et reassemblage • Pipeline programmable, 10 étages • accessible à tous stages de pipeline • 384k compteurs • 128k pour mésurer le traffic • petit CAM interne • arbitre pour accès à CAM externe • chaque processeur est composé • d ’un classificateur pour identifier des paquets spéciaux • un bloc d ’action pour les traiter • bloc d ’action qui porte jeu d ’instructions spécialisé
Comparaison: Implémentation physique • aspects qui intéressent le client (producteur es téléphones mobiles etc.) • Technologie du procès • Taille de la puce • Cœur • Vitesse • Consommation • Disponibilité
Implémentation Physique • Agere • technologie 0.18m, consommation 12W • disponible, coût environ 750$ • Alchemy • soft core 266 MHz, 400 MHz, 500 MHz • consommation <300 mW, 500 mW, 900 mW • AMCC • technologie 0.18m, consommation 4W • Série nP7xxx : six EPIF-200 sur une puce • Disponible, prix 115 $, mise à jour AMCC jan 2002 : nP7510
Implémentation Physique (2) • Bay • Brecis • 0.18m, 2 W consommation • 50 $, disponible en 2001 • BroadCom • Technologie 0.15m • 1 GHz, 2.5 W consommation, disponible en prototype
Implémentation Physique (3) • Cisco • ClearSpeed • 0.13m, 400 MHz, disponible en soft core • Clearwater • 0.15m, 300 MHz, 12 W consommation • disponibilité fin 2001 • Cognigine • 0.18m, 200 MHz • disponible décembre 2001 • Conexant • 125 MHz • 4.2W