Performance Analysis of the IXP1200 Network Processor Rajesh Krishna Balan and Urs Hengartner.

Slides:



Advertisements
Similar presentations
Computer Organization and Architecture
Advertisements

Computer Organization and Architecture
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
©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.
COMP3221 lec31-mem-bus-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 31: Memory and Bus Organisation - I
Embedded Systems Programming
Instruction Level Parallelism (ILP) Colin Stevens.
1 Router Construction II Outline Network Processors Adding Extensions Scheduling Cycles.
IXP1200 Microengines Apparao Kodavanti Srinivasa Guntupalli.
Architecture for Network Hub in 2011 David Chinnery Ben Horowitz.
Chess Review May 10, 2004 Berkeley, CA A Comparison of Network Processor Programming Environments Niraj Shah William Plishker Kurt Keutzer.
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
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
Shyamal Pandya Implementation of Network Processor Packet Filtering and Parameterization for Higher Performance Network Processors 1 Implementation of.
ECE 526 – Network Processing Systems Design IXP XScale and Microengines Chapter 18 & 19: D. E. Comer.
Router Construction II Outline Network Processors Adding Extensions Scheduling Cycles.
Chapter 6 Memory and Programmable Logic Devices
Octavo: An FPGA-Centric Processor Architecture Charles Eric LaForest J. Gregory Steffan ECE, University of Toronto FPGA 2012, February 24.
CH12 CPU Structure and Function
Presenter MaxAcademy Lecture Series – V1.0, September 2011 Introduction and Motivation.
2 nd Year - 1 st Semester Asst. Lect. Mohammed Salim
Paper Review Building a Robust Software-based Router Using Network Processors.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Simultaneous Multithreading: Maximizing On-Chip Parallelism Presented By: Daron Shrode Shey Liggett.
Computer Organization and Architecture Instruction-Level Parallelism and Superscalar Processors.
Computer Architecture and Organization Introduction.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
SLAAC SV2 Briefing SLAAC Retreat, May 2001 Heber, UT Brian Schott USC Information Sciences Institute.
CSE 58x: Networking Practicum Instructor: Wu-chang Feng TA: Francis Chang.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Memory Memory 10/ INF5060: Multimedia data communication using network processors.
Implementing Click IP Router Kernel on VLIW Architectures Kanyu Mark Cao and Xiaodong Jin Many thanks to Scott Weber and Kees Vissers for the help on this.
Interrupts, Buses Chapter 6.2.5, Introduction to Interrupts Interrupts are a mechanism by which other modules (e.g. I/O) may interrupt normal.
SYNAR Systems Networking and Architecture Group CMPT 886: Computer Architecture Primer Dr. Alexandra Fedorova School of Computing Science SFU.
IXP Lab 2012: Part 1 Network Processor Brief. NCKU CSIE CIAL Lab2 Outline Network Processor Intel IXP2400 Processing Element Register Memory Interface.
Computer Organization & Assembly Language © by DR. M. Amer.
By Edward A. Lee, J.Reineke, I.Liu, H.D.Patel, S.Kim
Performance Analysis of Packet Classification Algorithms on Network Processors Deepa Srinivasan, IBM Corporation Wu-chang Feng, Portland State University.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
CPU/BIOS/BUS CES Industries, Inc. Lesson 8.  Brain of the computer  It is a “Logical Child, that is brain dead”  It can only run programs, and follow.
EKT303/4 Superscalar vs Super-pipelined.
Chao Han ELEC6200 Computer Architecture Fall 081ELEC : Han: PowerPC.
Hewlett-Packard PA-RISC Bit Processors: History, Features, and Architecture Presented By: Adam Gray Christie Kummers Joshua Madagan.
ECE 526 – Network Processing Systems Design Programming Model Chapter 21: D. E. Comer.
SYNAR Systems Networking and Architecture Group CMPT 886: Computer Architecture Primer Dr. Alexandra Fedorova School of Computing Science SFU.
On-chip Parallelism Alvin R. Lebeck CPS 220/ECE 252.
ARM7 Architecture What We Have Learned up to Now.
Introduction to Exceptions 1 Introduction to Exceptions ARM Advanced RISC Machines.
Topics to be covered Instruction Execution Characteristics
ARM.
Visit for more Learning Resources
Architecture & Organization 1
Architecture & Organization 1
Dynamically Reconfigurable Architectures: An Overview
ECEG-3202 Computer Architecture and Organization
Lec 11 – Multicore Architectures and Network Processors
ECEG-3202 Computer Architecture and Organization
Apparao Kodavanti Srinivasa Guntupalli
Fine-grained vs Coarse-grained multithreading
ARM.
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
IA-64 Vincent D. Capaccio.
Presentation transcript:

Performance Analysis of the IXP1200 Network Processor Rajesh Krishna Balan and Urs Hengartner

Introduction Network Processors are currently of great interest to many companies (Intel, IBM etc.) They integrate the best features of custom ASICs and general purpose processors The Intel IXP1200 was one of the first Network Processors available in the market. This project revolves around measuring the performance of the IXP1200.

IXP1200 Architecture StrongArm core processor with 6 programmable RISC based microengines StrongArm core is used for control plane functionality (routing table maintenance etc.) while microengines handle data plane functionality (packet classification, packet I/O etc.) Scratchpad RAM / SRAM / SDRAM Standard 32bit PCI bus and fast 64bit IX bus controlled by FBI unit

Microengines 6 microengines Single pipelined in-order RISC processor with customized instruction set optimized for packet processing Each microengine can run 4 separate threads with a different PC for each thread and hardware assisted super-fast context switching 256 registers per microengine bit general purpose registers bit transfer registers to access SDRAM and SRAM 32 bit ALU and shifter

Architecture

IPC / Instructions in Flight Both graphs look similar as the microengines do not do any form of out-of-order speculation. Hence the maximum IPC value is 1 and the maximum number of instructions in flight is 5

Branch Predictions Microengines have 3 mechanism to improve branch predictions Deferred Branches Setting Condition code earlier Branch guessing with programmer assistance From graphs, different applications can have totally different branch prediction results. It depends a lot on the programmer

Memory Access Latencies

Memory Access Latencies (2) Memory Access Latencies are big (> 50% of accesses to SDRAM take at least 75 cycles for example) Latency is hidden by multiple threads on each microengine. When 1 thread is I/O bound, another thread can do useful work on the microengine