Title: Demonstration of a High Performance Active Router DARPA Demo 92499
1Demonstration of aHigh Performance Active
RouterDARPA Demo - 9/24/99
- Dan Decasper, John DeHart, Ralph Keller,Jonathan
Turner, Sumi Choi and Tilman Wolf Washington
University, Applied Research Labhttp//www.arl.wu
stl.edu/arl/ - (best viewed in presentation mode)
2Motivation
- Technology advances adding new functionality to
internet routers. - logic capabilities growing much faster than IO
- packet classification, per flow queueing becoming
common - single chip packet processing engines with 16
processors now becoming available - Application-specific processing in routers could
become routine. - active networking is one way to exploit trend
- alternative model
- signalling and resource reservation
- packet classification and flow-specific routing
- Key challenge is application software.
- Need better experimental platforms for
researchers.
3Towards an Open Internet Router
- Modular components.
- ability to swap components - both hardware and
software - routing, signalling, management software
- address lookup and packet classification
- queueing and packet scheduling
- open, documented and straightforward interfaces
- Dynamic insertion of application-specific
processing. - active networking model and others
- High performance.
- gigabit links and scalability to large numbers of
ports - packet processing rates of at least a
million/second per link - application-specific processing on large fraction
of traffic - need credible demonstrations to influence
commercial practice
4Active Router Hardware
- Control Processor
- global coordination control
- routing protocols
- build routing tables and other information needed
by SPCs - first level code server
- reprogrammable for active processing
5Cell Processing
6Packet Processing
7Principal Data Flows Through PE Kernel
PacketClassificationand Routing
IPv4/6HeaderProcessing
Packet Flow Id
Plain Packets
IP Packets
Kernel Plugins
Active Packets
. . .
ActiveFunctionDispatcher
Driver
PacketScheduler
Driver
. . .
. . .
SAPF Packet
Selector/Dispatcher
. . .
. . .
. . .
Resource Controller
- Std. proc. for plain IP packets.
- classification routing, header processing,
output queueing
- Active packets move through configured kernel
plugins. - active function dispatcher passes packets to
instances of plugin objects - instantiates objects or triggers download of
plugin class, as needed - streamlined processing of SAPF packets using
pre-established state
8System Level Software Organization
9Physical Configuration
10Active Congestion Control for Video
- Based on wavelet-based encoding method
(WaveVideo) - up to hundreds of distinct frequency subbands
(33) - low frequencies general image definition
- high frequencies image details
- Active WaveVideo plugin
- detects congestion
- discards packets in high frequency subbands first
- Better performance than layered multicast
- requires large number of multicast groups
- reacts too slowly to congestion ( several seconds)
11WaveVideo Scaling
33011 bytes (33)
25239 bytes (30)
17179 bytes (27)
9265 bytes (24)
7042 bytes (21)
4819 bytes (18)
2617 bytes (15)
2006 bytes (12)
1393 bytes (9)
793 bytes (6)
447 bytes (3)
227 bytes (1)
12Logical Demonstration Configuration
VideoDisplay 1
VideoDisplay 2
VideoDisplay 3
VideoSource
ANPE
ANPE
Cross TrafficSource 1
CrossTraffic Sink
Cross TrafficSource 2
Code ServerKey Server
13Video Performance (light cross traffic)
MPEG video player required for playback.
14Video Performance (heavy cross traffic)
MPEG video player required for playback.
15Demo Instrumentation (simplified)
no loss
plain queueing
high frequency subbands
low frequency subbands
- grey level shows amountof data received
- white nothing received
- black everything received
active dropping
time
16Demonstration Start
17Light Cross Traffic - Plain Queueing
18Light Cross Traffic - Plain Queueing
First Display(no cross traffic)
Second Display(with cross traffic)
Third Display(with cross traffic)
19Heavy Cross Traffic - Plain Queueing
20Heavy Cross Traffic - Plain Queueing
First Display(no cross traffic)
Second Display(light cross traffic)
Third Display(heavy cross traffic)
21Light Cross Traffic - Active Queueing
22Light Cross Traffic - Active Queueing
First Display(no cross traffic)
Second Display(with cross traffic)
Third Display(with cross traffic)
23Heavy Cross Traffic - Active Queueing
24Heavy Cross Traffic - Active Queueing
First Display(no cross traffic)
Second Display(light cross traffic)
Third Display(heavy cross traffic)
25Bursty Cross Traffic - Plain Queueing
26Bursty Cross Traffic - Plain Queueing
First Display(no cross traffic)
Second Display(with cross traffic)
Third Display(with cross traffic)
27Bursty Cross Traffic - Active Queueing
28Bursty Cross Traffic - Active Queueing
First Display(no cross traffic)
Second Display(with cross traffic)
Third Display(with cross traffic)
29Credits