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
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)
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 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
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 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)
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 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é
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
...
Top Related