Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Intel IXP1200 Network Processor q Lab 12, Introduction to the Intel IXA q Jonathan Gunner, Sruti.

Slides:



Advertisements
Similar presentations
NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
Advertisements

Supercharging PlanetLab A High Performance,Multi-Alpplication,Overlay Network Platform Reviewed by YoungSoo Lee CSL.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Informal Quiz 7: QoS->Optical T F  Strong authentication involves sending shared secrets.
IXP: Bump in the Wire IXP: Bump in the Wire INF5063: Programming Asymmetric Multi-Core Processors 15 April 2015.
IXP: The Bump in the Wire IXP: The Bump in the Wire INF5062: Programming Asymmetric Multi-Core Processors 22 April 2015.
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.
External perimeter of secure network public Internet SNMPdata transaction data control commands July 2003 Firewall Network Processor™: basic concept and.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP/IP Stack Introduction: Looking Under the Hood! Shiv Kalyanaraman Rensselaer Polytechnic Institute.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
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.
IXP1200 Microengines Apparao Kodavanti Srinivasa Guntupalli.
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
Chess Review May 10, 2004 Berkeley, CA A Comparison of Network Processor Programming Environments Niraj Shah William Plishker Kurt Keutzer.
Shangri-La: Achieving High Performance from Compiled Network Applications while Enabling Ease of Programming Michael K. Chen, Xiao Feng Li, Ruiqi Lian,
Performance Analysis of the IXP1200 Network Processor Rajesh Krishna Balan and Urs Hengartner.
Chapter 13 Embedded Systems
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Understanding Linux Kernel to Build Software Routers (Qualitative Discussion) Shiv Kalyanaraman,
EE 122: Router Design Kevin Lai September 25, 2002.
NPCSlli 1 DESIGN AND IMPLEMENTATION OF CONTENT SWITCH ON IXP1200EB Presenter: Longhua Li Committee Members: Dr. C. Edward Chow Dr. Jugal K. Kalita Dr.
Shyamal Pandya Implementation of Network Processor Packet Filtering and Parameterization for Higher Performance Network Processors 1 Implementation of.
HS/DSL Project Yael GrossmanArik Krantz Implementation and Synthesis of a 3-Port PCI- Express Switch Supervisor: Mony Orbach.
Embedded Transport Acceleration Intel Xeon Processor as a Packet Processing Engine Abhishek Mitra Professor: Dr. Bhuyan.
ECE 526 – Network Processing Systems Design IXP XScale and Microengines Chapter 18 & 19: D. E. Comer.
Chapter 9 Classification And Forwarding. Outline.
Router Construction II Outline Network Processors Adding Extensions Scheduling Cycles.
Connecting Devices and Multi-Homed Machines. Layer 1 (Physical) Devices Repeater: Extends distances by repeating a signal Extends distances by repeating.
Router Architectures An overview of router architectures.
Router Architectures An overview of router architectures.
Chapter 4 Queuing, Datagrams, and Addressing
A Scalable, Cache-Based Queue Management Subsystem for Network Processors Sailesh Kumar, Patrick Crowley Dept. of Computer Science and Engineering.
- 1 - A Powerful Dual-mode IP core for a/b Wireless LANs.
Paper Review Building a Robust Software-based Router Using Network Processors.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Network Processors : Building Block for Programmable High- Speed Networks Introduction to the.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Jon Turner (and a cast of thousands) Washington University Design of a High Performance Active Router Active Nets PI Meeting - 12/01.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
A 50-Gb/s IP Router 참고논문 : Craig Partridge et al. [ IEEE/ACM ToN, June 1998 ]
CSE 58x: Networking Practicum Instructor: Wu-chang Feng TA: Francis Chang.
Data and Computer Communications Circuit Switching and Packet Switching.
Jump to first page One-gigabit Router Oskar E. Bruening and Cemal Akcaba Advisor: Prof. Agarwal.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
1 TM The ARM Architecture - 1 Embedded Systems Lab./Honam University ARM Architecture SA-110 ARM7TDMI 4T 1 Halfword and signed halfword / byte support.
IXP Lab 2012: Part 1 Network Processor Brief. NCKU CSIE CIAL Lab2 Outline Network Processor Intel IXP2400 Processing Element Register Memory Interface.
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.
ECE 526 – Network Processing Systems Design Network Processor Introduction Chapter 11,12: D. E. Comer.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Based upon slides from Jay Lepreau, Utah Emulab Introduction Shiv Kalyanaraman
Performance Analysis of Packet Classification Algorithms on Network Processors Deepa Srinivasan, IBM Corporation Wu-chang Feng, Portland State University.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Mapping IP Addresses to Hardware Addresses Chapter 5.
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
 Program Abstractions  Concepts  ACE Structure.
+ Lecture#2: Ethernet Asma ALOsaimi. + Objectives In this chapter, you will learn to: Describe the operation of the Ethernet sublayers. Identify the major.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
Addressing: Router Design
Reference Router on NetFPGA 1G
CS 31006: Computer Networks – The Routers
Packet Switch Architectures
Constructing a system with multiple computers or processors
Apparao Kodavanti Srinivasa Guntupalli
Implementing an OpenFlow Switch on the NetFPGA platform
Author: Xianghui Hu, Xinan Tang, Bei Hua Lecturer: Bo Xu
NetFPGA - an open network development platform
Chapter 13: I/O Systems.
Packet Switch Architectures
Presentation transcript:

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Intel IXP1200 Network Processor q Lab 12, Introduction to the Intel IXA q Jonathan Gunner, Sruti Gorappa, Kerry Wood q Shiv Kalyanaraman q Yong Xia (TA) q q

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 2 First: What’s a Network Processor q Router vendors have built speed into their devices by pushing functionality down into hardware (ASICs). q ASIC: Application Specific Integrated Circuits q They’re fast, but they’re custom-made for each application and expensive to build. q Time to market for new implementations is extremely long, since algorithms must be implemented at the transistor/gate level. Network processors look to avoid these pitfalls by introducing specialized, software controlled devices that can be customized quickly. But they also process packets at near-wire speeds!

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 3 Intel Internet Exchange Architecture q Microengine technology — a subsystem of programmable, multi-threaded RISC microengines that enable high-performance packet processing in the data plane through Intel® Hyper Task Chaining. This multi- processing technology features software pipelining and low-latency sequence management hardware. q The Intel IXA Portability Framework — an easy-to-use modular programming framework providing the advantages of software investment protection and faster time-to-market through code portability and reuse between network processor-based projects, in addition to future generations of Intel IXA network processors. q Intel® XScale™ technology — providing the highest performance-to- power ratio in the industry.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 4 Intel’s Gear (1) q IXP2850 q Designed for use in virtual private networks, secure web services, and storage area networks. q IXP2800 q Able to handle line rates ranging from OC-48 to OC-192. q IXP2400 q Designed for OC-12 to OC-48 network access and edge applications.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 5 Intel’s Gear (2) q The IXP 1200 product line represents Intel’s first attempt in the area (it was actually inherited when they purchased Digital) q The IXP 1200 is a single-board chip, designed with abstractions in mind. q Since this is a new area, and it’s designed to be used with many different types of hardware and software, the documentation is incomplete/unavailable/or just plain wrong. q To achieve wire-fast speeds with software, the goal is to hide latency with parallelism. Processing packets is inherently parallel, and necessary for fast applications.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 6 How does the IXP 1200 simplify the ASIC based design ? q A Typical ASIC Based Design q A processor to handle routing information and higher level processing q ASICs to handle each packet q An IXP 1200 Design q StrongArm Core to handle routing algorithms and higher level processing q Microengines to handle packet processing

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 7 Conceptually: Two Levels The IXP1200 is designed to process packets at wire speed, but also to handle control-plane information. 1. Strong ARM Core (1): q Designed to handle control-plane and slow-path processing. q Update host tables, forwarding tables, filtering, running routing protocols. q Runs an OS from a wide variety of sources (Linux derivatives / VxWorks). q Has limited access to certain resources on board. q Development is done using q WindRiver’s Tornado q Embedded Linux q ARM Software development kit q C/C++

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 8 Conceptually: Two Levels.. 2. Micro Engines (6): q Data-plane and fast-path processing. q Run no OS. Our model has a 2K instruction-store per microengine. q Multithreaded, 4 threads per engine. q Has access to all resources on board. Since there is no OS, and these are virtually unrestricted, we must carefully avoid thread traps! q Microengine Development Tools q Can write “microcode” or uEngine C q Microcode Assembler q Workbench q Write symbolic microcode q Assemble and optimize q Transactor q Debug and Simulation Engine

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 9 Misc. IX Bus: q Provides interface to network ports, hardware shortcuts (like hardware hash unit), super-fast and super-small scratch memory area. q StrongARM access to this is limited. It forces you to use the microEngines when you really don’t want to. Interface Devices q Intel does not specify a type of interface to be used. These could be ATM, Ethernet, FastE, GigE, wireless, etc.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 10 IXP 1200 Building Blocks q SRAM q Store packet headers q SDRAM q Store packet data q PCI Interface q For accessing the control processor q Microengines and StrongArm Core make requests to SRAM and SDRAM. The IX Bus and PCI Bus also make requests to SDRAM. q Different type of queues for arbitration. Programmers can choose the queues depending upon their requirements.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 11 Packet Flow Diagram

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 12 Design Solutions q Enterprise Routers q Streaming Video Server q Manipulation of digitized video. q Media Gateway q Seamless transport of voice from circuit- switched to packet-switched networks

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 13 Enterprise Router Line Card

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute Port Store and Forward Design q Receive Threads (16) q Receive packet from MAC port q Verify IP Header q Perform IP forwarding q Place packet on transmit queue q Transmit Scheduler Threads (2) q One per Microengine q Determine which transmit queue has packets q Assign work to each of three transmit threads q Transmit Threads (6) q Three per microengine q Send packet data to MAC port

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 15 Rx: Lookup and Queuing q Lookup the forwarding information in SRAM based on header fields q Read the forwarding information from SDRAM q Modify the header and writes it to buffer in SDRAM q Write packet descriptor to SRAM q Lock Transmit Queue in SRAM q Enqueue packet onto the corresponding Transmit Queue in SRAM q Set Port With Packets bit in scratch indicating that port has packets q Unlock Transmit Queue in SRAM

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 16 Tx q Transmit Scheduler q Sequentially checks each port for data by reading “Ports With Packets” in scratch memory. q Issues transmit assignments to the transmit threads. q Transmit threads. q Lock the transmit queue, dequeue packet, unlock queue. q Move packet from SDRAM to TFIFO and set TFIFO control bit.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 17 For more info…. q Jonathan Gunner q Slide Contributions from Kerry Wood and Shruti Gorappa