DIRECTORY | WEBMAIL | CALENDAR | CONTACT US SEARCH
Welcome to the Department of Electrical and Computer Engineering at POLY

SPECIAL TOPIC COURSE - FALL 2005
EL941: Network Processors

Instructor: Dr. Cheuk Lam
Tel:
E-mail:

Course Description:

Network processors, combining advanced technologies in both protocol processing and embedded processor architecture, have been recognized as one of the most required building blocks in networking systems that require both high performance and programmability. The goal of this course is to study the fundamentals of packet processing, and the leading architectures and implementations of commercial network processors and their design tradeoffs. Through the labs, students will also have a chance to gain hands-on programming experience in both simulator and real system environments using two of the most popular network processors in the industry.

Course Outline:

Introduction
Week 1: Introduction to Packet Processing
Networking protocols; Illustration of packet processing at a network node; Network processing functions: segmentation and reassembling, classification and forwarding, buffering, traffic management; Abstract of network processor architecture; Highlights of pipelining and parallel processing.

Part I: NP Architectures
Week 2: Multiple RISC based Architecture: Intel IXP 2xxx
Architecture of RISC processors; Multiple RISC based processors; IXP 2400 architecture; Other IXP 2xxx variants; Introduction to IXP software platforms.

Week 3: Multiple VLIW based Architecture: Agere APP 5xx
VLIW based processors; Multiple VLIW based processors; History of Agere PayloadPlus processors; APP 550 architecture; Introduction to APP software platforms.

Week 4: Comparisons and Other NP Architectures
Comparison of IXP and APP; Introduction to other commercial NP architectures.

Part II: NP Fundamentals
Week 5: Memory Management
Memory hierarchy: registers, cache and local memory, SRAM and DRAM; Memory interface; Estimation of memory performance.

Week 6: Pipelining and Parallel Processing
Pipeline of processors; Information passing and the media: next-neighbor registers, scratchpad, event signals; Multi-threading; Thread management and synchronization methods: semaphore, critical section, sequence control, using event signals.

Week 7 (half): I/O Interface
Ethernet MAC, SPHY, MPHY, SPI-3, SPI-4.2, CSIX, PCI Express; Overhead and performance; Backpressure.

Midterm
Week 7 (half): Midterm

Part III: NP Functions
Week 8: Receive, Transmit and SARing
Using building blocks in RISC based NPs; Coprocessor support for SARing and CRC computation.

Week 9: Classification and Forwarding
Illustration of forwarding by examples: bridging, IP forwarding, VPLS; Pattern matching algorithms; Using CAM.

Week 10: Traffic Management
Why policing and shaping; Leaky bucket policing; Tag vs. drop; Buffer sharing; Packet discard schemes: EPD, RED, WRED; Challenges in traffic shaping.

Week 11: Scheduling
Schedule methods: Fixed priority, Round Robin (RR), Weighted RR (WRR), Weighted Fair Queuing (WFQ), Guarantee Frame Rate (GFR), APP’s 4-list Smooth Deficit WRR (SDWRR); Scheduling hierarchy; Implementation; Precision vs. memory consumption.

Part IV: Selected Advanced Topics
Week 12: Coprocessors; Scalability; Design tradeoffs; Debugging

Project Presentations
Week 13: Project Presentations I
Week 14: Project Presentations II

Labs:
Part I: IXP Simulator
I-1: IXP Simulator Basics
Follow examples to learn using the simulator. Create a new project to study the performance limit on memory access.

I-2: IXP Microcode Building Blocks
Follow examples to learn using building blocks.

Part II: IXP Evaluation System
I-3: IXP Evaluation System Basics
Boot-up; Serial port access for debugging; Image loading; etc.

I-4 (optional): Develop a small project on the real system.

Part III: APP Simulator
A-1: APP Simulator Basics
Follow examples to learn using the simulator. Create a new project to study APP’s basic performance and/or limitations.

A-2: To Be Determined

Part IV: APP Evaluation System
A-3: APP Evaluation System Basics
Boot-up; Serial port access for debugging; Image loading; etc.

A-4 (optional): Develop a small project on the real system.


Reference Books:
  • "Intel Internet Exchange Architecture and Applications: A Practical Guide to Intel's Network Processors"
    Bill Carlson
    Intel Press, 2003
  • "Network Systems Design using Network Processors, Agere Version"
    Douglas E. Comer
    Prentice Hall, 2005
  • "Designing High-Performance Networking Applications - Essential Insights for Developers of IXP2XXX Network Processor-based Systems"
    Uday R. Naik and Prashant R. Chandra
    Intel Press, 2005

Prerequisite:
    Preferably two of the following three groups of courses:
  • CS2214 Computer Architecture and Organization, or
    CS613 Computer Architecture I;
  • EE3144 Introduction to Embedded System Design, or
    EL548 Real Time Embedded Systems;
  • EL537 Internet Architecture and Protocols, or
    EL637 Local and Metropolitan Area Networks

Class meet: Wednesday 6:00pm - 8:15pm


| Course Listing |