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

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

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 Presentation

Transcript of Processeurs Réseau PAPR (2) UE de M2 février / mars 2007

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

Processeurs Réseau PAPR (2)

UE de M2 février / mars 2007

Daniela Genius

LIP6

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

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

Page 3: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Critères de Comparaison

Microarchitecture

Architecture

Implémentation Physique

Support Logiciel

Page 4: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 5: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 6: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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)

Page 7: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 8: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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)

Page 9: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 10: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Agere

Diagramme de l ’unité FPP

Page 11: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Agere FPP

Page 12: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Agere

Diagramme de l ’unité RSP

Page 13: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Agere RSP Functional Units

Page 14: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 15: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Alchemy

Page 16: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 17: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Applied Micro Circuits

Page 18: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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)

Page 19: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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é

Page 20: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 21: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

BRECIS

Page 22: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 23: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Broadcom

Page 24: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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)

Page 25: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Cisco PXF

Page 26: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 27: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 28: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 29: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Cognigine RCU (Q4 2001 - ??)

Page 30: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 31: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 32: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 33: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 34: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

IBM

Page 35: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 36: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Intel

Page 37: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 38: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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)

Page 39: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Motorola C-Port

Page 40: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 41: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Vitesse: IQ2200: 400 MHz

Page 42: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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é

Page 43: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Xelerated Packet devices

Page 44: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Xelerated Packet Devices

Page 45: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Espace de Solutions

Page 46: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

Parallèlisme

Page 47: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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é

Page 48: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 49: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 50: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 51: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 52: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 53: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 54: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 55: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 56: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 57: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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)

Page 58: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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

Page 59: Processeurs Réseau PAPR (2)  UE de M2 février / mars 2007

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 ...