INF 5060 Multimedia data communication using network processors

  • Slides: 35
Download presentation
INF 5060: Multimedia data communication using network processors Introduction 27/8 - 2004

INF 5060: Multimedia data communication using network processors Introduction 27/8 - 2004

Overview ü Course topic and scope ü Background Ø software-based network systems Ø challenges

Overview ü Course topic and scope ü Background Ø software-based network systems Ø challenges and new requirements Ø evolution of network processors ü (Very) short overview of IXP 1200 INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

INF 5060: The Course

INF 5060: The Course

Lecturers ü Carsten Griwodz email: griff @ ifi ü Pål Halvorsen email: paalh @

Lecturers ü Carsten Griwodz email: griff @ ifi ü Pål Halvorsen email: paalh @ ifi INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

About INF 5060: Topic & Scope ü Content: The course gives … Ø …

About INF 5060: Topic & Scope ü Content: The course gives … Ø … an overview of network processor cards (architectures and use) Ø … an introduction of how to program Intel IXP network processors Ø … some ideas of how to use network processors in a multimedia system ü Lab-assignment: An important part of the course is a lab-assignment where the students should make a program for the Intel IXP 1200 network processor Ø Ø write a report and present to the class at the end of the course approved assignment gives a “passed” cource INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Available Resources ü Book: Douglas E. Comer: “Network Systems Design using Network Processors”, Pearson

Available Resources ü Book: Douglas E. Comer: “Network Systems Design using Network Processors”, Pearson Prentice Hall, 2004 ü Other resources will be placed at Ø http: //www. ifi. uio. no/~paalh/INF 5060 Ø Login: inf 5060 Ø Password: ixp ü Manuals for IXP 1200: …/~paalh/INF 5060/IXP 1200 ü Code: …/~paalh/INF 5060/code INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Disclaimer ü In the field of network processors, I am a tyro ü Definition:

Disclaimer ü In the field of network processors, I am a tyro ü Definition: Tyro Ty’ro, n. ; pl. Tyros. A beginner in learning; one who is in the rudiments of any branch of study; a person imperfectly acquainted with a subject; a novice ü Then, by definition, in the field of network processors, we are all tyros ü In our defense, when it comes to network processors, everyone is a tyro INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Background and Motivation

Background and Motivation

Software-Based Network System ü Uses conventional, shared hardware (e. g. , a PC) ü

Software-Based Network System ü Uses conventional, shared hardware (e. g. , a PC) ü Software Ø runs the entire system Ø allocates memory Ø controls I/O devices Ø performs all protocol processing ü First generation network systems: INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Review of General Data Path on Conventional Computer Hardware Architectures sending: application receiving: forwarding:

Review of General Data Path on Conventional Computer Hardware Architectures sending: application receiving: forwarding: application communication system user space kernel space transport (TCP/UDP) communication network (IP) system link INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Review of Conventional Computer Hardware Architectures Intel D 850 MD Motherboard - Intel Hub

Review of Conventional Computer Hardware Architectures Intel D 850 MD Motherboard - Intel Hub Architecture (850 Chipset) : RDRAM connectors CPU socket system bus RDRAM interface hub interface PCI bus Memory Controller Hub I/O Controller Hub PCI connectors INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Forwarding Example for an Intermediate Node: Intel Hub Architecture user space Pentium 4 Processor

Forwarding Example for an Intermediate Node: Intel Hub Architecture user space Pentium 4 Processor registers cache(s) application Note: kernel space - one single average MPEG-II DVD stream requirecommunication ~330 -660 packets per second of 1500 Bytes (4 -8 Mbps) system - then use smaller packets, add concurrent clients, other applications, … system bus (64 -bit, 400/533 MHz) RDRAM memory controller hub RAM interface (two 64 -bit, 200 MHz) RDRAM communication system RDRAM application RDRAM hub interface (four 8 -bit, 66 MHz) I/O controller hub PCI slots PCI bus (32 -bit, 33 MHz) network card PCI slots INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Main Packet Processing Costs ü Copying: used when moving a packet from one memory

Main Packet Processing Costs ü Copying: used when moving a packet from one memory location to another Ø Ø expensive (proportional to packet size) should be avoided whenever possible (use pointers) ü Checksuming: used to detect errors Ø expensive (proportional to packet size) Ø transport layer: payload + header Ø network layer: header ü Fragmentation/reassembly: needed when packet is larger than smallest MTU Ø Ø generate headers + header checksum receiving many small data fragments INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Question: ü Which is growing faster? Ø network bandwidth Ø processing power ü Note:

Question: ü Which is growing faster? Ø network bandwidth Ø processing power ü Note: if network bandwidth is growing faster Ø CPU may be the bottleneck Ø need special-purpose hardware Ø conventional hardware will become irrelevant ü Note: if processing power is growing faster Ø no problems with processing Ø network/busses will be bottlenecks INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Growth Of Technologies Mbps year INF 5060 – multimedia data communication using network processors

Growth Of Technologies Mbps year INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Packet Rates and Software Processing ü Packet rates (packets per second): 64 B 10

Packet Rates and Software Processing ü Packet rates (packets per second): 64 B 10 BASE-T (10 Mbps) 1000 BASE-T (1 Gbps) OC-192 (9. 95 Gbps) ü Packet processing (MIPS, assuming 5 K instructions per packet): 19. 531 833 1. 953. 125 83. 333 19. 439. 453 829. 416 64 B Ø the Comer book uses 10 K instructions as an upper bound per packet it varies according to which protocols are used, implementation, data size, etc. more if moved through a fire wall Ø engineering rule: 1 GHz general purpose CPU = 1 Gbps network data rate Ø Ø 10 BASE-T (10 Mbps) 1000 BASE-T (1 Gbps) OC-192 (9. 95 Gbps) 1500 B 97, 65 4, 17 9. 765, 63 416, 67 97. 197, 27 4. 147, 08 ü Note; this is only processing – time must be added to handle interrupts and move data into memory ü Thus, software running on a general-purpose processor is insufficient to handle high-speed networks because the aggregate packet rate exceeds the capabilities of the CPU INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

The Network System Challenges ü Data rates in general keep increasing ü Network rate

The Network System Challenges ü Data rates in general keep increasing ü Network rate > CPU rate > memory, busses and I/O interfaces ü Protocols and applications keep evolving ü System design, implementation and testing is time consuming and expensive ü Systems often contain errors ü Special-purpose hardware (ASIC) designed for one type of system can usually not be reused ü Host machine must inspect all incoming packets ü … ð Challenge: find ways to improve the design and manufacture of complex networking systems INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Statement of Hope ü If there is hope, it lies in … Ø 1990:

Statement of Hope ü If there is hope, it lies in … Ø 1990: … faster CPUs Ø 1995: … the application specific integrated circuit (ASIC) designers Ø 2002: … the programmers! ü Programmability Ø we need a programmable device with more capability than a conventional CPU Ø key to low-cost hardware for next generation network systems Ø compared to ASIC designs, it is more flexible, easier and faster to upgrade, and thus, less expensive INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

First Generation ü General idea: To optimize computation, move operations that account for the

First Generation ü General idea: To optimize computation, move operations that account for the most CPU time from software into hardware ü Onboard… Ø Ø ü Add hardware to NIC Ø Ø off-the-shelf chips for layer 2 ASICs for layer 3 ü Allows each NIC to operate address recognition and filtering onboard buffering DMA buffer and operation chaining INF 5060 – multimedia data communication using network processors independently Ø Ø effectively a multiprocessor total processing power increased dramatically 2004 Carsten Griwodz & Pål Halvorsen

Second Generation (early 1990 s) ü Designed for greater scale ü Multiple network interfaces

Second Generation (early 1990 s) ü Designed for greater scale ü Multiple network interfaces ü Decentralized architecture ü High-speed hardware interconnects Ø Ø additional computational power on each NIC implements classification and forwarding ü High-speed internal interconnection mechanism Ø Ø NICs ü General-purpose processor only handles exceptions ü Sufficient for medium speed interfaces (100 Mbps) interconnects NICs provides fast data path INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Third Generation (late 1990 s) ü Functionality partitioned further ü Almost all packet processing

Third Generation (late 1990 s) ü Functionality partitioned further ü Almost all packet processing off- loaded from CPU ü Additional hardware on each NIC Ø ü Onboard… Ø Ø Ø classification forwarding traffic policing monitoring and statistics … INF 5060 – multimedia data communication using network processors Ø Special-purpose ASICs handle lower layer functions Embedded (RISC) processor handles layer 4 CPU only handles low-demand processing 2004 Carsten Griwodz & Pål Halvorsen

Third Generation (late 1990 s) ü Enough, are third generation sufficient? ? Ø Almost!!

Third Generation (late 1990 s) ü Enough, are third generation sufficient? ? Ø Almost!! Ø But not quite! ; -( ü What’s the problem? Ø high cost Ø long time to market Ø difficult to test Ø expensive and time-consuming to change n even trivial changes require silicon respin n 18 -20 month development cycle Ø little reuse across products and versions Ø require in-house expertise (ASIC designers) Ø … INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Network Processors: The Idea in a Nutshell ü Devise new hardware building blocks, but

Network Processors: The Idea in a Nutshell ü Devise new hardware building blocks, but make them programmable ü Include support for protocol processing and I/O Ø General-purpose processor(s) for control tasks Ø Special-purpose processor(s) for packet processing and table lookup ü Include functional units for tasks such as checksum computation, hashing, … ü Integrate as much as possible onto one chip ð Call the result a network processor INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Designing a Network Processor ü Depends on Ø operations network processor will perform Ø

Designing a Network Processor ü Depends on Ø operations network processor will perform Ø role of network processor in overall system ü Goals Ø generality: sufficient for all protocols, all protocol processing tasks and all possible networks Ø high speed: scale to high bit rates and high packet rates ü Key point: A network processor is not designed to process a specific protocol or part of a protocol. Instead, designers seek a minimal set of instructions that are sufficient to handle an arbitrary protocol processing task at high speed INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Where to Place Network Processors ü Thus, network processors is somewhere in the middle

Where to Place Network Processors ü Thus, network processors is somewhere in the middle performance ü Goal: increase performance and reduce costs ASIC designs ü Increase performance: known issues: – must partition packet processing into separate functions – to achieve highest speed, must handle each function with separate hardware network processors unknown issues: software on conventional prosessor cost – which functions to choose – what hardware building blocks to use – how to interconnect building blocks ü Decrease costs: Economics driving a gold rush – NPs will dramatically lower production costs for network systems – good NP designs worth lots of $$ INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Explosion of Commercial Products ü 1990 2000: network processors transformed from interesting curiosity to

Explosion of Commercial Products ü 1990 2000: network processors transformed from interesting curiosity to mainstream product Ø used to reduce both overall costs and time to market Ø 2002: over 30 vendors with a vide range of architectures Ø e. g. , n n n n n Multi-Chip Pipeline (Agere) Augmented RISC Processor (Alchemy) Embedded Processor Plus Coprocessors (Applied Micro Circuit Corporation) Pipeline of Homogeneous Processors (Cisco) Pipeline of Heterogeneous Processors (EZchip) Configurable Instruction Set Processors (Cognigine) Extensive And Diverse Processors (IBM) Flexible RISC Plus Coprocessors (Motorola) Internet Exchange Processor (Intel) … INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

IXP 1200: A Short Overview

IXP 1200: A Short Overview

IXA: Internet Exchange Architecture ü IXA is a broad term to describe the Intel

IXA: Internet Exchange Architecture ü IXA is a broad term to describe the Intel network architecture (HW & SW, control- & data plane) ü IXP 1200 basic features ü IXP: Internet Exchange Processor Ø processor that implements IXA Ø IXP 1200 is the first IXP chip (4 versions) INF 5060 – multimedia data communication using network processors Ø 1 embedded RISC processor Ø 6 packet processors (microengines) Ø multiple, independent busses Ø onboard memory (3 types) Ø low-speed serial interface Ø interfaces for external memory and I/O busses Ø … 2004 Carsten Griwodz & Pål Halvorsen

Main Idea Traditional system: - slow - resource demanding - shared with other operations

Main Idea Traditional system: - slow - resource demanding - shared with other operations 0 IXP 120 IXP network processor - a computer within the computer - special, programmable hardware - offloads host resources INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

IXP 1200 Architecture SRAM bus: - shared bus (several external units) - usually control

IXP 1200 Architecture SRAM bus: - shared bus (several external units) - usually control rather than data - rate 3. 71 Gbps PCI bus: - allow IXP to connect to I/O devices - enable use of host CPU - rate 2. 2 Gbps Serial line: - connects to the RISC - intended for control and management - rate 38 Kbps SDRAM bus: - provide access to external SDRAM memory used to store packets - can also pass addresses, control/store operations, etc. - rate 7. 42 Gbps INF 5060 – multimedia data communication using network processors IX (Intel e. Xchange) bus: - enable higher rates compared to PCI - form fast path (IXP and high-speed interfaces) - interface to other IXP cards - 4. 4 Gbps 2004 Carsten Griwodz & Pål Halvorsen

IXP 1200 Architecture RISC processor: - Strong. ARM running Linux - control, higher layer

IXP 1200 Architecture RISC processor: - Strong. ARM running Linux - control, higher layer protocols and exceptions - 232 MHz Access units: - coordinate access to external units Scratchpad: - on-chip memory - used for IPC and synchronization Microengines: - low-level devices with limited set of instructions - transfers between memory devices - packet processing - 232 MHz INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

IXP 1200 Processor Hierarchy General-Purpose Processor: - used for control and management - running

IXP 1200 Processor Hierarchy General-Purpose Processor: - used for control and management - running general applications I/O processors (microengines): - transfers between memory devices - packet processing RISC processor: - chip configuration interface (serial line) - control, higher layer protocols and exceptions Coprocessors: - real-time clock and timers - IX bus controller - hashing unit -. . . INF 5060 – multimedia data communication using network processors Physical interface processors: - implement layer 1 & 2 processing 2004 Carsten Griwodz & Pål Halvorsen

IXP 1200 Memory Hierarchy INF 5060 – multimedia data communication using network processors 2004

IXP 1200 Memory Hierarchy INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

IXP 1200 Memory Hierarchy Different memory types… ü…are organized into different addressable data units

IXP 1200 Memory Hierarchy Different memory types… ü…are organized into different addressable data units (words or longwords) ü…have different access times ü…connected to different busses Therefore, to achieve optimal performance, programmers must understand the organization and allocate items from the appropriate type INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen

Summary ü The network challenges are many ð Challenge: find ways to improve the

Summary ü The network challenges are many ð Challenge: find ways to improve the design and manufacture of complex networking systems ü Hope (2002 version) lies in the programmers and network processors ü We will use Intel IXP 1200 as an example which offers… Ø Ø …embedded processor plus parallel packet processors …connections to external memories and buses ü Next time: how to start programming these monsters INF 5060 – multimedia data communication using network processors 2004 Carsten Griwodz & Pål Halvorsen