sponsored by the national science foundation demo: designing and monitoring openflow load balancing...
TRANSCRIPT
Sponsored by the National Science Foundation
DEMO: Designing and Monitoring OpenFlow Load Balancing Experiments using GIMI
Shufeng Huang, Divyashri Bhat
GENI Project Office, UMass
GEC 17
Sponsored by the National Science Foundation 2GEC17
Experiment Design
“Design an OpenFlow Controller that does Load Balancing”
Simple topology
Repeatable experiment
Ability to monitor performance of controller
Sponsored by the National Science Foundation 3GEC17
Topology
S
LB
L R
Agt
R
Sender
Receiver
Load Balancer
Sponsored by the National Science Foundation 4GEC17
Key Words
Topology ExoGENI resources
Load Balancer Controller Trema
Monitoring GIMI / LabWiki
OpenFlow Switces OVS
Sponsored by the National Science Foundation 5GEC17
Design the Experiment
1. Start several TCP flows from Sender to Receiver
2. Enable Load Balancing on OpenFlow Switch
3. Start more TCP flows from Sender to Receiver
S
LB
L R
Agt
R
LB
Sponsored by the National Science Foundation 6GEC17
Design Monitoring
S
LB
L R
Agt
R
LB
1. Start several TCP flows from Sender to Receiver
2. Enable Load Balancing on OpenFlow Switch
3. Start more TCP flows from Sender to Receiver
1 3 5 7 9 110
200
400
600
800
1000
1200
1400
1 2 3 4 5 60
100
200
300
400
500
600
700
Monitor
left
left
right
right right
left
Sponsored by the National Science Foundation 7GEC17
Design Orchestration in GIMI
# start TCP flows
group('Receiver').exec("iperf -s")
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
wait 20
#start load balancer
Group('Switch').exec("/opt/trema-trema-f995284/trema run /root/load-balancer.rb")
#start a couple of new TCP flows
for i in 1..10
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
wait 5
end
1.
Sponsored by the National Science Foundation 8GEC17
Design Orchestration in GIMI
# start TCP flows
group('Receiver').exec("iperf -s")
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
wait 20
#start load balancer
Group('Switch').exec("/opt/trema-trema-f995284/trema run /root/load-balancer.rb")
#start a couple of new TCP flows
for i in 1..10
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
wait 5
end
2.
Sponsored by the National Science Foundation 9GEC17
Design Orchestration in GIMI
# start TCP flows
group('Receiver').exec("iperf -s")
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
wait 20
#start load balancer
Group('Switch').exec("/opt/trema-trema-f995284/trema run /root/load-balancer.rb")
#start a couple of new TCP flows
for i in 1..10
group('Sender').exec("iperf -c 10.10.10.2 -t 100")
wait 5
end
3.
Sponsored by the National Science Foundation 10GEC17
defGraph ’Total Traffic' do |g|
g.ms('network').select(:oml_ts_server, :tx_bytes, :name)
g.caption "Total Traffic"
g.type 'line_chart3'
g.mapping :x_axis => :oml_ts_server, :y_axis => :tx_bytes, :group_by => :name
g.xaxis :legend => 'timestamp', :ticks => {:format => 's'}
g.yaxis :legend => 'sent Bytes', :ticks => {:format => 'Byte'}
end
Plotting in GIMI
Sponsored by the National Science Foundation 11GEC17
Demonstration
Sponsored by the National Science Foundation 12GEC17
GENITestBed
OMLServer
LabWiki
iRODS
1.Instrument
2.Run
3.Collect
4.Plot
5.Save
OML Client
6.Obtain Automated
Sum-Up
0.Reserve
Experimenter
2.Run
3.Collect
4.Plot
5.Save
Sponsored by the National Science Foundation 13GEC17
Want to Know More?
• The `magic` RSpec file?• The `magic` OpenFlow Controller?• The `magic` GIMI monitoring tool?• The `magic` GIMI Script?• ......
Advanced OpenFlow Tutorial @ 1:30PMGEMINI & GIMI Demos @ 4:00PMWiMAX & GIMI @ 8:30AM (Tuesday)