Académique Documents
Professionnel Documents
Culture Documents
Douglas Comer
Computer Science Department
Purdue University
250 N. University Street
West Lafayette, IN 47907-2066
http://www.cs.purdue.edu/people/comer
Copyright 2003. All rights reserved. This
document may not be reproduced by any means
without the express written consent of the author.
NOTES
PART I
Introduction
October, 2003
October, 2003
NOTES
October, 2003
October, 2003
NOTES
October, 2003
Engineering tradeoffs
Software design
Approaches to parallelism
October, 2003
NOTES
Analysis of protocols
Implementation of a stack
October, 2003
October, 2003
NOTES
The Challenge
October, 2003
What speeds?
What protocols?
10
October, 2003
NOTES
11
October, 2003
The Challenge
(restated)
12
October, 2003
NOTES
Special Difficulties
Ambitious goal
Vague problem statement
Problem is evolving with the solution
Pressure from
13
October, 2003
Statement Of Hope
(1990 version)
14
October, 2003
NOTES
Statement Of Hope
(1995 version)
15
October, 2003
Statement Of Hope
(1999 version)
???
16
October, 2003
NOTES
Network Processors
To The Rescue
Devise new hardware building blocks
Make them programmable
Include support for protocol processing and I/O
17
October, 2003
Definition
18
October, 2003
NOTES
Statement Of Hope
(2003 version)
programmers!
If there is hope, it lies in ASIC designers.
19
October, 2003
Disclaimer
20
October, 2003
NOTES
Definition
21
October, 2003
By Definition
In the field of network processors, you are all tyros.
22
October, 2003
NOTES
In Our Defense
23
October, 2003
PART II
An Example Graduate Course
On
Network Processors
October, 2003
NOTES
Goals
Become familiar with a variety of network processor
architectures
Be able to assess and discuss design tradeoffs and
limitations of each approach
Learn the details of at least one NP
Gain experience implementing protocol processing functions
in software
Understand the issues of scaling a network system
October, 2003
Organization
Seminar
Professor
Leads discussion
Asks questions
Students
October, 2003
NOTES
Topics
Hardware architectures for protocol processing
Classification
Switching fabrics
Traffic management
Network processors
Design tradeoffs and consequences
Details of one example network processor
Cross-development environment
October, 2003
Economic details
Price points
October, 2003
NOTES
October, 2003
Student Projects
Many possibilities
Compare NP architectures
October, 2003
NOTES
Project Teams
Possibilities
Work alone
October, 2003
Project Administration
Register group (week 2)
Submit a topic for approval (week 4)
Give a preliminary proposal (week 5)
Report on status (week 910)
Demonstrate project and turn in report (weeks 1315)
October, 2003
NOTES
10
October, 2003
Recommended Textbook
11
October, 2003
NOTES
Student Reaction
Enthusiastic response
Excellent course
12
October, 2003
PART III
An Example
Undergraduate Course
On
Network Processors
October, 2003
NOTES
Goals
Become familiar with concept of network processor
Appreciate that the field is new and evolving
Gain experience programming one network processor
Implement basic protocol processing
Layer 2 bridging
October, 2003
Organization
Lecture course plus lab
Professor
Students
October, 2003
NOTES
Topics
Network systems and protocol processing
History of network systems implementation
Classification and classification languages
Switching fabric concepts
Motivation for network processors
Survey of network processor architectures
October, 2003
Topics
(continued)
Detailed example of one network processor
Cross-development environment
Examples of code
October, 2003
NOTES
October, 2003
October, 2003
NOTES
Network systems
Alternative implementations
Architectures
Hardware
Programming model
October, 2003
Our Solution
Present students with a higher-level programming system
Bridge
IP fragmenter
October, 2003
NOTES
Simplified API
Handles all I/O details
Supports protocols that use retransmission
Introduces students to asynchronous input
Functions
Function
Purpose
onstartup()
onshutdown()
newfbuf()
recvframe()
sendframe()
periodic_call()
delayed_call()
cancel_call()
10
October, 2003
Layer 2 bridge
IP fragmenter
11
October, 2003
NOTES
Classifier microblock
12
October, 2003
Textbooks
Main text
Comer, D., Network Systems Design Using Network Processors,
Intel IXP Version, Prentice Hall, 2004. ISBN 0-13-141792-4.
Lab Manual
Comer, D., Hands-On Networking With Internet Applications,
2nd Edition, Prentice Hall, 2004.
13
October, 2003
NOTES
Student Reaction
Enthusiastic response
Awesome class
14
October, 2003
PART IV
Laboratory Facilities
For Hands-on Work
With Network Processors
October, 2003
NOTES
Why A Laboratory?
Absolutely essential: students learn by doing
Reinforces concepts presented in class
Exposes students to new (unusual) hardware
Gives students concrete understanding of details
Keeps courses tied to reality
October, 2003
Conventional workstations
Run standard OS
Back-end facilities
Students download/configure
October, 2003
NOTES
Operating systems
October, 2003
Back-end systems
85 PCs
Networks
October, 2003
NOTES
October, 2003
October, 2003
NOTES
......
October, 2003
Lab Infrastructure
Allows remote access to all facilities
Software designed and built at Purdue
Provides
Image download
Control (reboot)
October, 2003
NOTES
Conceptual Interconnections
Lab Network
lab
management
computer
back-end
computers
reset wires
...
...
reset
controller
front-end computers
SCSI bus
console
multiplexor
10
October, 2003
Automated Reconfigurable
Testbed System
(ART)
Introduced in 2002
Uses VLAN switch
Provides automated connection of back-ends to networks
Allows user to define and store configuration
Offers GUI interface
11
October, 2003
NOTES
Network Processors
In The Xinu Lab
Added in 2001
Currently have
Hubs
Switches
Cables
12
October, 2003
Reference Platform
Provided by vendor
Targeted at potential customers
Usually includes
Hardware testbed
Simulator / emulator
Cross-development software
Reference implementations
13
October, 2003
NOTES
Two Types Of
Reference Platforms
Stand-alone
Single-board testbed
14
October, 2003
15
October, 2003
NOTES
Quantity or Size
Item
256
16
October, 2003
Purpose
C compiler
MicroC compiler
Assembler
Downloader
Monitor
Bootstrap
Reference Code
17
October, 2003
NOTES
External Access
SDRAM accessed via SDRAM bus
SRAM and Flash accessed via SRAM bus
Ethernet ports accessed via IX bus
Code and data downloaded via PCI bus
NFS accessed via PCI bus
StrongARM accessed via
Telnet
18
October, 2003
Basic Paradigm
Build software on conventional computer
Load into reference system
Test / measure results
19
October, 2003
NOTES
Our Requirements
Intel SDK designed to use
Unix downloader
Our requirement
No Windows
Solution
20
October, 2003