130 likes | 284 Vues
DEMO: Designing and Monitoring OpenFlow Load Balancing Experiments using GIMI. Shufeng Huang, Divyashri Bhat GENI Project Office, UMass GEC 17. Experiment Design. “ Design an OpenFlow Controller that does Load Balancing” Simple topology Repeatable experiment
E N D
DEMO: Designing and Monitoring OpenFlow Load Balancing Experiments using GIMI Shufeng Huang, DivyashriBhat GENI Project Office, UMass GEC 17
Experiment Design “Design an OpenFlow Controller that does Load Balancing” • Simple topology • Repeatable experiment • Ability to monitor performance of controller
Topology Sender LB Agt R S R L Load Balancer Receiver
Key Words Topology ExoGENI resources OpenFlowSwitces OVS Load Balancer Controller Trema Monitoring GIMI / LabWiki
Design the Experiment • Start several TCP flows from Sender to Receiver • Enable Load Balancing on OpenFlow Switch • Start more TCP flows from Sender to Receiver LB Agt LB R S R L
Design Monitoring • Start several TCP flows from Sender to Receiver • Enable Load Balancing on OpenFlow Switch • Start more TCP flows from Sender to Receiver Monitor LB Agt LB R S R L right left left left right right
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.
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.
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.
Plotting in GIMI 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
Sum-Up Experimenter iRODS Automated 6.Obtain 5.Save 5.Save LabWiki 1.Instrument 4.Plot 4.Plot OML Server 0.Reserve 2.Run 2.Run 3.Collect 3.Collect GENI TestBed OMLClient
Want to Know More? • The `magic` RSpec file? • The `magic` OpenFlowController? • The `magic` GIMI monitoring tool? • The `magic` GIMI Script? • ...... Advanced OpenFlow Tutorial @ 1:30PM GEMINI & GIMI Demos @ 4:00PM WiMAX & GIMI @ 8:30AM (Tuesday)