4/22/2003 Network Processor & Its Applications1 Network Processor and Applications Prof. Laxmi Bhuyan

Slides:



Advertisements
Similar presentations
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Advertisements

AMD OPTERON ARCHITECTURE Omar Aragon Abdel Salam Sayyad This presentation is missing the references used.
Multi-Layer Switching Layers 1, 2, and 3. Cisco Hierarchical Model Access Layer –Workgroup –Access layer aggregation and L3/L4 services Distribution Layer.
©UCR CS 162 Computer Architecture Lecture 8: Introduction to Network Processors (II) Instructor: L.N. Bhuyan
CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor.
Chapter 8 Hardware Conventional Computer Hardware Architecture.
CCU EE&CTR1 Software Architecture Overview Nick Wang & Ting-Chao Hou National Chung Cheng University Control Plane-Platform Development Kit.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
4/22/2003 Network Processor & Its Applications1 Network Processor and Its Applications (1) Yan Luo Prof. Laxmi Bhuyan
1 Router Construction II Outline Network Processors Adding Extensions Scheduling Cycles.
1 Design and Implementation of A Content-aware Switch using A Network Processor Li Zhao, Yan Luo, Laxmi Bhuyan University of California, Riverside Ravi.
Load Balancing in Web Clusters CS 213 LECTURE 15 From: IBM Technical Report.
Performance Analysis of the IXP1200 Network Processor Rajesh Krishna Balan and Urs Hengartner.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Intel IXP1200 Network Processor q Lab 12, Introduction to the Intel IXA q Jonathan Gunner, Sruti.
©UCR CS 260 Lecture 1: Introduction to Network Processors Instructor: L.N. Bhuyan
©UCB CS 162 Computer Architecture Lecture 2: Introduction & Pipelining Instructor: L.N. Bhuyan
ECE 526 – Network Processing Systems Design IXP XScale and Microengines Chapter 18 & 19: D. E. Comer.
ECE 526 – Network Processing Systems Design
Chapter 9 Classification And Forwarding. Outline.
Router Construction II Outline Network Processors Adding Extensions Scheduling Cycles.
Network Processors and Web Servers CS 213 LECTURE 17 From: IBM Technical Report.
Router Architectures An overview of router architectures.
Router Architectures An overview of router architectures.
Chapter 4 Queuing, Datagrams, and Addressing
Computer Networks Switching Professor Hui Zhang
A Scalable, Cache-Based Queue Management Subsystem for Network Processors Sailesh Kumar, Patrick Crowley Dept. of Computer Science and Engineering.
Paper Review Building a Robust Software-based Router Using Network Processors.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Lecture 1 Introduction to Application Oriented Networking.
Lecture 3 Review of Internet Protocols Transport Layer.
High Performance Computing & Communication Research Laboratory 12/11/1997 [1] Hyok Kim Performance Analysis of TCP/IP Data.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
A 50-Gb/s IP Router 참고논문 : Craig Partridge et al. [ IEEE/ACM ToN, June 1998 ]
SpliceNP: A TCP Splicer using a Network Processor Li Zhao +, Yan Luo*, Laxmi Bhuyan University of California Riverside Ravi Iyer Intel Corporation + Now.
CSE 58x: Networking Practicum Instructor: Wu-chang Feng TA: Francis Chang.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Local-Area-Network (LAN) Architecture Department of Computer Science Southern Illinois University Edwardsville Fall, 2013 Dr. Hiroshi Fujinoki
Network Processors Harsh Chilwal. 900MHz Voice 1G 900MHz 1800MHz Voice 2G MHz Smart Phone Full web service 3G MHz Voice Tiny Internet.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
Networks and Protocols CE Week 7b. Routing an Overview.
IXP Lab 2012: Part 1 Network Processor Brief. NCKU CSIE CIAL Lab2 Outline Network Processor Intel IXP2400 Processing Element Register Memory Interface.
William Stallings Data and Computer Communications
Computer Organization & Assembly Language © by DR. M. Amer.
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
XStream: Rapid Generation of Custom Processors for ASIC Designs Binu Mathew * ASIC: Application Specific Integrated Circuit.
CS 4396 Computer Networks Lab Router Architectures.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
Intel ® IXP2XXX Network Processor Architecture and Programming Prof. Laxmi Bhuyan Computer Science UC Riverside.
Forwarding.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Hardened IDS using IXP Didier Contis, Dr. Wenke Lee, Dr. David Schimmel Chris Clark, Jun Li, Chengai Lu, Weidong Shi, Ashley Thomas, Yi Zhang  Current.
ECE 526 – Network Processing Systems Design Programming Model Chapter 21: D. E. Comer.
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Chapter 4: Network Layer
CS 31006: Computer Networks – The Routers
Network Core and QoS.
Packet Switch Architectures
Lec 11 – Multicore Architectures and Network Processors
Apparao Kodavanti Srinivasa Guntupalli
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Instructor: L.N. Bhuyan CS 213 Computer Architecture Lecture 7: Introduction to Network Processors Instructor: L.N. Bhuyan.
Author: Xianghui Hu, Xinan Tang, Bei Hua Lecturer: Bo Xu
Chapter 4: Network Layer
Network Core and QoS.
Presentation transcript:

4/22/2003 Network Processor & Its Applications1 Network Processor and Applications Prof. Laxmi Bhuyan

4/22/2003Network Processor & Its Applications2 Network Architecture and Applications Introduction to networking Network applications IPv4 routing, classification etc. (Traditioonal) URL-based switching,transcoding, etc. (New) Network Processor Architectures Intel IXP

4/22/2003Network Processor & Its Applications3 Why Network Processors Current Situation Data rates are increasing Protocols are becoming more dynamic and sophisticated Protocols are being introduced more rapidly Processing Elements GP(General-purpose Processor) Programmable, Not optimized for networking applications ASIC(Application Specific Integrated Circuit) high processing capacity, long time to develop, Lack the flexibility NP(Network Processor) achieve high processing performance programming flexibility Cheaper than GP

4/22/2003Network Processor & Its Applications4 What the Internet Needs? Increasing Huge Amount of Packets & Routing, Packet Classification, Encryption, QoS, New Applications and Protocols, etc….. General Purpose RISC (not capable enough) ASIC (large, expensive to develop, not flexible) High processing power Support wire speed Programmable Scalable Specially for network applications …

4/22/2003Network Processor & Its Applications5 OSI Network Architecture DATA Application Pre. Session Transport Network Data Link Physical DATAAH DATAPH DATASH DATATH DATANH DATADH DATAPH Application Pre. Session Transport Network Data Link Physical Network AB Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications6 TCP/IP Model ISO OSI (Open Systems Interconnection) not fully implemented Presentation and Session layers not present in TCP/IP Application Pre. Session Transport Network Data Link Physical Application TCP IP Host-to-Net OSITCP/IP Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications7 TCP/IP packet APP. DATATCPIPMAC Source PortDestination Port Sequence Number Acknowledgement Number Header Length and OptionsWindow Size ChecksumUrgent Pointer Options (0 or more 32-bit words) Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications8 TCP/IP packet APP. DATATCPIPMAC Ver.Total Length Identification Time to Live Source Address IHLService Type Options and Fragment Offset ProtocolHeader Checksum Options (0 or more 32-bit words) Destination Address Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications9 TCP/IP packet APP. DATATCPIPMAC PreambleD. Add.S. Add.CRCLeng. Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications10 Application Categorization Control-Plane tasks Less time-critical Control and management of device operation Table maintenance, port states, etc. Data-Plane tasks Operations occurring real-time on “packet path” Core device operations Receive, process and transmit packets Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications11 Processing Tasks Policy Applications Network Management Signaling Topology Management Queuing / Scheduling Data Transformation Classification Data Parsing Media Access Control Physical Layer Data Plane Control Plane Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications12 Data Plane Tasks Media Access Control Low-level protocol implementation Ethernet, SONET framing, ATM cell processing, etc. Data Parsing Parsing cell or packet headers for address or protocol information Classification Identify packet against a criteria (filtering / forwarding decision, QoS, accounting, etc.) Data Transformation Transformation of packet data between protocols Traffic Management Queuing, scheduling and policing packet data Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications13 Other Network Processor Applications Routing table lookup Determine the next hop for incoming packets Packet Classification classify packets using header fields against a set of rules URL-based Switching Distribute HTTP requests based on URLs. Transcoding Encryption/Decryption, intrusion detection, firewall, access control checking, denial-of-service

4/22/2003Network Processor & Its Applications14 IPv4 Routing Routers determine next hop and forward packets Router A B C P P P

4/22/2003Network Processor & Its Applications15 Packet Classification Routers are required to distinguish packets for Flow identification Fair sharing of bandwidth QoS Security Accounting, billing etc Packets are classified by rules Src IP, Dest IP, src port #, dest port # etc Classification Algorithm Metrics Search speed Storage cost Scalability Updates Etc.

4/22/2003Network Processor & Its Applications16 URL-based switching Increase efficiency Tasks Traverse the packet data (request) for each arriving packet and classify it: Contains ‘.jpg’ -> to image server Contains ‘cgi-bin/’ -> to application server Switch Image Server Application Server HTML Server Internet GET /cgi-bin/form HTTP/1.1 Host: APP. DATATCPIP Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications17 Transcoders Two important requirements If the receiver is not capable of interpreting the stored data (multimedia transcoders) wireless receivers, hand-held devices, etc. Compression for bandwidth and storage efficiency Internet Transcoder Video-on-demand serverMpeg encoder Corporate Network Media Player Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003Network Processor & Its Applications18

4/22/2003Network Processor & Its Applications19 The Operating System Hurdle Problems with Application level Processing Vertical Processing in network – A change in paradigm! Overhead to copy data between two connections Data goes up through O/S interrupt and protocol stack Data is copied from kernel space to user space and vice versa Oh, the PCI Bottleneck! It takes a 1 GHz CPU to handle a 1 Gb network. Now at 10Gb, but don’t have a 10 GHz CPU! Application level Processing

4/22/2003Network Processor & Its Applications20 Design Options Option (a): Linux-based switch Overhead of moving data across PCI bus Interrupt or polling still needed Option (b): Put a control processor (CP) in the interface to setup connections, and execute complicated applications. Data Procesors (DPs) process packets for forwarding, classification and simple processing But, the CP may have its own protocol stack – Ex. embedded Linux! Option (c): DPs handle connection setup, splicing & forwarding – But large Code Size is a huge problem due to limited instruction memory size of the DPs!

4/22/2003Network Processor & Its Applications21 Typical NP Architecture SDRAM (Packet buffer) SRAM (Routing table) multi-threaded processing elements Co-processor Input ports Output ports Network Processor Bus

4/22/2003Network Processor & Its Applications22 Organizing Processor Resources Design decisions: High-level organization ISA and micro architecture Memory and I/O integration Today’s commercial NPs: Chip multiprocessors Most are multithreaded Exploit little ILP (Cisco does) No cache Micro-programmed

4/22/2003Network Processor & Its Applications23 Example Toaster System: Cisco Almost all data plane operations execute on the programmable XMC Pipeline stages are assigned tasks – e.g. classification, routing, firewall, MPLS Classic SW load balancing problem External SDRAM shared by common pipe stages

4/22/2003Network Processor & Its Applications24 IBM PowerNP 16 pico-procesors and 1 powerPC Each pico-processor Support 2 hardware threads 3 stage pipeline : fetch/decode/execute Dyadic Processing Unit Two pico-processors 2KB Shared memory Tree search engine Focus is layers 2-4 PowerPC 405 for control plane operations 16K I and D caches Target is OC-48

4/22/2003Network Processor & Its Applications25 C-Port C-5 Chip Architecture

4/22/2003Network Processor & Its Applications26 Some Challenges Intelligent Design Given a selection of programs, a target network link speed, the ‘best’ design for the processor Least area Least power Most performance Write efficient multithreaded programs NPs have Heterogeneous computer resources Non-uniform memory Multiple interacting threads of execution Real-time constraints Make use of resources How to use special instructions and hardware assists Compilers Hand-coded Multithreaded programs Manage access to shared state Synchronization between threads

4/22/2003Network Processor & Its Applications27 IXP1200 Block Diagram StrongARM processing core Microengines introduce new ISA I/O PCI SDRAM SRAM IX : PCI-like packet bus On chip FIFOs 16 entry 64B each

4/22/2003Network Processor & Its Applications28 IXP1200 Microengine 4 hardware contexts Single issue processor Explicit optional context switch on SRAM access Registers All are single ported Separate GPR 256*6 = 1536 registers total 32-bit ALU Can access GPR or XFER registers Shared hash unit 1/2/3 values – 48b/64b For IP routing hashing Standard 5 stage pipeline 4KB SRAM instruction store – not a cache! Barrel shifter Ref: [NPT]

4/22/2003Network Processor & Its Applications29 IXP 2400 Block Diagram XScale core replaces StrongARM Microengines Faster More: 2 clusters of 4 microengines each Local memory Next neighbor routes added between microengines Hardware to accelerate CRC operations and Random number generation 16 entry CAM ME0ME1 ME2ME3 ME4ME5 ME6ME7 Scratch /Hash /CSR MSF Unit DDR DRAM controller XScale Core QDR SRAM controller PCI

4/22/2003Network Processor & Its Applications30 Different Types of Memory TypeWidth (byte) Size (bytes) Approx unloaded latency (cycles) Notes Local425601Indexed addressing post incr/decr On-chip Scratch 416K60Atomic ops SRAM4256M150Atomic ops DRAM82G300Direct path to/fro MSF Ref: [NPRD]

4/22/2003Network Processor & Its Applications31 IXA Software Framework Control Plane Protocol Stack Control Plane PDK Core Components Core Component Library Resource Manager Library Microblock Library Protocol Library Hardware Abstraction Library Micro block Micro block Micro block Utility Library XScale Core Microengine Pipeline Microengine C Language C/C++ Language External Processors

4/22/2003Network Processor & Its Applications32 Summary NP is developing very fast and is a hot research area Multithreaded NP Architectures provide tremendous packet processing capability NP can be applied in various network layers and applications Traditional apps – forwarding, classification Advanced apps – transcoding, URL-based switching, security etc. New apps