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

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

Embed Size (px)

Citation preview

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

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

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

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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)

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

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

Agere

Diagramme de l ’unité FPP

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

Agere FPP

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

Agere

Diagramme de l ’unité RSP

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

Agere RSP Functional Units

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

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 Daniela Genius LIP6

Alchemy

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

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 Daniela Genius LIP6

Applied Micro Circuits

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

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)

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

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é

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

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 Daniela Genius LIP6

BRECIS

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

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 Daniela Genius LIP6

Broadcom

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

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 Daniela Genius LIP6

Cisco PXF

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

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

Cognigine RCU (Q4 2001 - ??)

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

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

IBM

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

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 Daniela Genius LIP6

Intel

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

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

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

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 Daniela Genius LIP6

Motorola C-Port

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

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 Daniela Genius LIP6

Vitesse: IQ2200: 400 MHz

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

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é

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

Xelerated Packet devices

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

Xelerated Packet Devices

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

Espace de Solutions

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

Parallèlisme

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

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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 Daniela Genius LIP6

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

...