LIANE—Composition for Active Networks

advertisement
LIANE:
Language Independent Active Networking Environment
1
LIANE—Composition for Active Networks
Samrat Bhattacharjee Ellen Zegura
Ken Calvert
Networking and Telecommunications Group
Department of Computer Science
College of Computing, Georgia Tech.
University of Kentucky
Atlanta, Georgia
Lexington, Kentucky
http://www.cc.gatech.edu/projects/canes
Sponsor: DARPA
LIANE:
Language Independent Active Networking Environment
Active Networking
Active networks provide a dynamically programmable user-network interface
Users supply both programs and data
Network nodes both forward data and execute user programs
Benefits:
Rapid and unilateral deployment of new protocols and algorithms
Mechanism to exploit application-specific and network-layer information
2
LIANE:
Language Independent Active Networking Environment
Service Composition in Active Networks
Network exposes a programming interface
An “underlying program” executes at each node
Users inject computations into the network
Questions:
How does the injected program “bind” to the underlying program?
How is the interaction between the underlying and injected programs
controlled?
Is it possible to reason about the composite computation?
Answer: It depends. . . on the programming interface and supported
programming model.
3
LIANE:
Language Independent Active Networking Environment
The Processing Slot Programming Model
A general programming model for active networks:
Underlying program encapsulates uniform per-packet processing and is
resident at each node
Underlying program identifies Processing Slots
Processing Slots:
Slots specify when and where injected programs may execute
Underlying program raises a slot iff slot-specific conditions hold
Injected programs bind to specific slots
Multiple injected programs may bind to a single slot
All programs bound to a slot execute concurrently when the slot is raised
4
LIANE:
Language Independent Active Networking Environment
5
Reasoning about Active Networks
LIANE Language Independent Active Network Environment:
A formal model in UNITY notation and logic
Underlying programs identify resource bounds, restrictions and obligations of
injected code for each slot
Transformation technique to form composite
underlying
program
injected
programs
defines
and
raises
processing
slots
LIANE Composite Service
one
underlying
program
formal
composition
operator
composed
with
,... ,
{
}
finite set of
injected
programs
Injection preserves all properties of underlying programs
Unless resource bounds are violated, properties of injected algorithm are
preserved as well
LIANE:
Language Independent Active Networking Environment
6
LIANE Example: Generalized Forwarding Function
s
Parse packet, obtain source , destination
hSlot 0:[null]i
i := Lookup(d, route table R)
if i = ? then hSlot 1:[null]i
d
ftrace route, caching,
select route table, discardg
ferror messages to sourceg
hSlot 2:[null]i
fsend route back,
select alternate interfaceg
if i is congested then hSlot 3:[discard]ifcong. control algorithmg
else hSlot 4:[null]i
fscheduling algorithmg
i
enqueue packet for .
Figure 1: Example Underlying Program with processing slots
Example Injected Program: Mobility, Congestion Control Algorithms
LIANE:
Language Independent Active Networking Environment
Application: Network Support for Multicast Video
Multicast video over best effort networks:
Three locations for adaption: Sender, Receiver, Network
Receiver-based adaption:
s
– Media is partitioned into layers
R
D
to video layers
R
D
– Receivers join different multicast groups corresponding
D
– Receivers adapt to network conditions by joining and
leaving different multicast groups
In-network adaptation:
– Media-specific reduction techniques installed in routers
7
LIANE:
Language Independent Active Networking Environment
8
Overview of Experiments
S0
multicast
video
S1
source 1
multicast video
source 0
least congested
video destination
R0
B0 bg traffic
source 0
D0
moderately
congested
video
D1 destination
R1
R2
B1 bg traffic
source 1
B2 bg traffic
source 2
most congested
video destination
D2
R3
bg traffic
DB destination
Figure 2: Experimental Topology
Simulation experiments using ANSWER:
All multicast group actions were instantaneous
MPEG video simulated: 3 layers, 615 Kbps, 30 fps
Experiments with different:
– background traffic scenarios, number and priority of sources, decoding
schemes, capabilities at routers
Language Independent Active Networking Environment
9
Multicast Result: Single Video Source
Link Speed 1000 Kbps, 1 Video Source
1
0.9
Fraction of Frames Decoded
LIANE:
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2048 4096 6144 8192 10240 12288 14336 16384 18432 20480 22528 24576
Buffer Size (bytes)
D0 Layering
D0 GL
D1 Layering
D1 GL
D2 Layering
D2 GL
Figure 3: Fraction of frames decoded with varying buffer size at routers
For uncongested destinations, receiver-based adaptation requires larger
buffers to provide similar performance
For congested destinations, network-based adaptation provides 2-3 times
better performance
Language Independent Active Networking Environment
10
Detail Snapshot: Single Video Source
1000 Kbps Link, 12 K Buffer
1200
Decoded Frame Sequence Number
LIANE:
1000
Add B
800
Add P
Del P
Del B
Add B
600
Add P
Del B
Del P
400
Add B
200
Del B
Del P
Add P
D1 I-fr Layering
D1 P-fr Layering
D1 B-fr Layering
D1 I-fr GL
D1 P-fr GL
D1 B-fr GL
0
0
5000
10000
15000
Time (mS)
20000
25000
30000
Figure 4: Sequence of frames received at receiver D1
Language Independent Active Networking Environment
11
Multiple Sources with Priority
Link Speed 1500 Kbps, Prioritized Video Sources (Prio. S0 > Prio. S1)
1
0.9
Fraction of Frames Decoded
LIANE:
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2048
4096
6144
8192
S0 --> D0 Prio. Layering
S0 --> D1 Prio. Layering
S0 --> D2 Prio. Layering
10240 12288 14336 16384 18432 20480 22528 24576
Buffer Size (bytes)
S0 --> D0 Prio. GL
S0 --> D1 Prio. GL
S0 --> D2 Prio. GL
Figure 5: Fraction of frames decoded for high priority source
Difficult to eliminate effects of the lower priority sources under receiver-based
adaptation — join experiments of lower priority sources disrupt the high
priority traffic
Language Independent Active Networking Environment
12
Citizenship
Weighted FQ, 1000 Kbps Link, Background Sources Backoff
Single Shared Buffer, 1000 Kbps Link, Background Sources Backoff
400
400
350
D1 I-Frames
D1 P-Frames
D1 B-Frames
B0 --> DB
B1 --> DB
300
Average Data Rate (Kbps)
350
Average Data Rate (Kbps)
LIANE:
250
200
150
100
300
250
200
D1 I-Frames
D1 P-Frames
D1 B-Frames
B0 --> DB
B1 --> DB
150
100
50
0
50
0
5000
10000
15000
Buffer Size (Bytes)
20000
Figure 6: Single Shared Buffer
25000
0
5000
10000
15000
Buffer Size (Bytes)
20000
25000
Figure 7: Weighted Fair Queue
Bandwidth is shared unfairly with in a shared buffer
Weighted fair queuing equalizes the bandwidth allocation
LIANE:
Language Independent Active Networking Environment
Current Work
LIANE
Discrete-event simulator ANSWER implemented using the slot model
ANSWER
allows experimentation with slot-processing model
Implementation of LIANE
Applications
Work on other applications: Virtual Topologies, Anycasting
Larger topologies
“Partially active” networks
13
Download