1 / 32

Network Processor and Applications

Network Processor and Applications. Prof. Laxmi Bhuyan bhuyan@cs.ucr.edu. Network Architecture and Applications. Introduction to networking Network applications IPv4 routing, classification etc. (Traditioonal) URL-based switching,transcoding, etc. (New) Network Processor Architectures

Download Presentation

Network Processor and Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Processor and Applications Prof. Laxmi Bhuyan bhuyan@cs.ucr.edu Network Processor & Its Applications

  2. 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 Network Processor & Its Applications

  3. 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 Network Processor & Its Applications

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

  5. B Network Network A DATA 7 Application AH DATA Application 7 6 Pre. Pre. 6 PH DATA 5 Session SH DATA Session 5 4 Transport TH DATA Transport 4 3 Network NH DATA Network 3 2 Data Link DH DATA Data Link 2 1 Physical PH DATA Physical 1 OSI Network Architecture Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik Network Processor & Its Applications

  6. OSI TCP/IP 7 Application Application 6 Pre. 5 Session 4 Transport TCP 3 Network IP 2 Data Link Host-to-Net 1 Physical TCP/IP Model • ISO OSI (Open Systems Interconnection) not fully implemented • Presentation and Session layers not present in TCP/IP Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik Network Processor & Its Applications

  7. MAC IP TCP APP. DATA MAC Source Port Destination Port Sequence Number Acknowledgement Number Header Length and Options Window Size Checksum Urgent Pointer Options (0 or more 32-bit words) TCP/IP packet Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik Network Processor & Its Applications

  8. MAC IP TCP APP. DATA MAC Ver. IHL Service Type Total Length Identification Options and Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options (0 or more 32-bit words) TCP/IP packet Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik Network Processor & Its Applications

  9. Preamble D. Add. S. Add. Leng. CRC TCP/IP packet MAC IP TCP APP. DATA MAC Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik Network Processor & Its Applications

  10. 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 Network Processor & Its Applications

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

  12. 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 Network Processor & Its Applications

  13. 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 Network Processor & Its Applications

  14. IPv4 Routing • Routers determine next hop and forward packets P P P B A Router C Network Processor & Its Applications

  15. 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. Network Processor & Its Applications

  16. 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 www.yahoo.com Internet Image Server IP TCP APP. DATA Application Server Switch GET /cgi-bin/form HTTP/1.1 Host: www.yahoo.com… HTML Server Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik Network Processor & Its Applications

  17. Corporate Network Mpeg encoder Video-on-demand server Transcoder Internet Media Player 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 Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik Network Processor & Its Applications

  18. Network Processor & Its Applications

  19. 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 Network Processor & Its Applications

  20. 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! Network Processor & Its Applications

  21. SDRAM (Packet buffer) SRAM (Routing table) Bus Bus Output ports Input ports multi-threaded processing elements Co-processor Network Processor Typical NP Architecture Network Processor & Its Applications

  22. 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 Network Processor & Its Applications

  23. Example Toaster System: Cisco 10000 • 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 Network Processor & Its Applications

  24. 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 Network Processor & Its Applications

  25. C-Port C-5 Chip Architecture Network Processor & Its Applications

  26. 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 Network Processor & Its Applications

  27. 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 Network Processor & Its Applications

  28. 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] Network Processor & Its Applications

  29. DDR DRAM controller ME0 ME1 Scratch /Hash /CSR ME3 ME2 XScale Core MSF Unit PCI ME4 ME5 QDR SRAM controller ME7 ME6 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 Network Processor & Its Applications

  30. Different Types of Memory Ref: [NPRD] Network Processor & Its Applications

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

  32. 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 Network Processor & Its Applications

More Related