processeurs réseau papr (2) ue de m2 février / mars 2007
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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
Liste Alphabétique des Fournisseurs (début 2005) 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 IntelLexra (violation de brevet de MIPS 1999, disparaît du marché janvier 2002)MotorolaPMC-Sierra (se porte bien)Vitesse (Y. Viniotis cofondateur) se porte bienXelerated (se porte bien)
Espace de Solutions
Processeurs
Réseau
Solutions
ASIC
Processeurs
Universels
DSP
Processeurs
de Communication
Coprocesseurs
Réseau
•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 FPP
Agere
Diagramme de l ’unité RSP
Agere RSP Functional Units
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
Alchemy
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
Applied Micro Circuits
Bay Microsystems (début 2001 - ??)
Peu d ’information couches 3-7 à 10 GB/sec VLIW avec DRAM 166 MHz
update Montego OC-192 processorworks 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 2004continue à 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
BRECIS
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
Broadcom
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)
Cisco PXF
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 (Q4 2001 - ??)
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 - ??)
TOPparse TOPsearch TOPresolve TOPmodify
superscalar
Superpipelined
Packet flow
•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
IBM
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
Intel
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 contextesInstructions 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)
Motorola C-Port
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
Vitesse: IQ2200: 400 MHz
Xelerated Packet Devices (Q2 2002 - ??)
Solution à deux processeurs X40 et T40 hardware support for Weighted Random early detection fragmentation et reassemblagePipeline programmable, 10 étagesaccessible à 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é
Xelerated Packet devices
Xelerated Packet Devices
Espace de Solutions
Parallèlisme
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.18, 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.18, 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., 2 W consommation 50 $, disponible en 2001
BroadCom Technologie 0.15 1 GHz, 2.5 W consommation, disponible en prototype
Implémentation Physique (3)
Cisco ClearSpeed
0.13, 400 MHz, disponible en soft core Clearwater
0.15, 300 MHz, 12 W consommation disponibilité fin 2001
Cognigine 0.18, 200 MHz disponible décembre 2001
Conexant 125 MHz 4.2W
Implémentation Physique (4) EZChip
arrive août 2001 0.18collaborationavec IBM
IBM Technologie 0.18, 20 W, 133MHz
Intel 0.28m 200 MHz, 5W consommation Disponible, coût 300$, utilisés par nombreux fournisseurs
équipement réseau Lexra
Disponible en soft core, macro RTL synthesizable 0.15, 250MHz (RTL), 450MHz (hard), consommation 6.8W
surface 64 mm2 Licence 645$+royalties per core
Implémentation Physique (5)
Motorola Utilisé par extreme networks (BlackDiamond 6800) pour
paquet via SONET 0.18, 400$, update C-5e (266 Mhz), Q5
Vitesse 200 MHz, 0.25, 12 W consommation
Xelerated 0.13 micro Disponible avril 2002
Comparaison : Support Logiciel
Aspects qui intéressent le programmeur des applications (et les participants des TME PAPR)
Compilateur Système d ’exploitation Bibliothèques des fonctionnalités typiques réseau Simulateur
Support Logiciel
Agere Alchemy
Programmable en C existent outils développement propres à Alchemy et
aussi des autres fournisseurs supporte Windows CE, Linux,VxWorks
AMCC programmable comme 1 seule CPU logique C/C++ compiler, assembler, debuggeur
Bay
Support Logiciel (2)
BRECIS Chaînes logicielles propriétaires et tiers Implémentation en dur des applications réseau supporte VxWorks, Linux, BSD
BroadCom 2.5 Gbps sur layer 3-7 chaine d ’outils C/C++ standard à défaut des instructions
spécialisées support système d ’exploitation pour Linux, BSD, VxWorks
Cisco compilateur C propriétaire, IOS système d ’exploitation
propriétaire
Support Logiciel (3)
ClearSpeed alpha release SDE, compilateur C, assembler, debugger,
profiler outil visuel pour conception des applications bibliothèque des fonctionnalités habituelles processing
réséau Clearwater
Compilateur en cours de développement Cognigine
C/C++ Compiler, assembler, debugger determination instructions VISC de C/C++ application application level configuration tool (similaire Click??) bibliothèque des fonctionnalités couche 2-7
Support Logiciel (4)
Conexant C compiler and debugger Simulation and analysis tool modular software architecture on top of TSP PortMaker
EZChip
SDE avec assembleur, debugger, simulateur bibliothèques des applications Développement du compilateur en cours
IBM Assembler, debugger, simulator
Intel ACE (voir TME)
Support Logiciel (5)
Lexra Motorola Vitesse
SDE, standard high level, GNU-based graphical simulation environment évaluation de performance bibliothèque pour fonctions typiques réseau
Xelerated
Sommaire
Points communs des processeurs réseau existants hierarchie de processeurs et de mémoire jeu d’instructions optimisé pour réseaux filtrage et ordonnancement des paquets architecture plus ou moins programmable afin d’adapter aux
changements de protocole alimentation électrique réduite
Disparités parallèlisme massif vs. parallèlisme pipeliné interconnect simple vs. interconnect compliqué nombre et type des coprocesseurs ...