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 2 GEC17 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 3 GEC17 Topology S LB L R Agt R Sender Receiver Load Balancer
Sponsored by the National Science Foundation 4 GEC17 Key Words Topology ExoGENI resources Load Balancer Controller Trema Monitoring GIMI / LabWiki OpenFlow Switces OVS
Sponsored by the National Science Foundation 5 GEC17 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 6 GEC17 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 left right left
Sponsored by the National Science Foundation 7 GEC17 Design Orchestration in GIMI # start TCP flows group('Receiver').exec("iperf -s") group('Sender').exec("iperf -c 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 group('Sender').exec("iperf -c t 100") wait 5 end
Sponsored by the National Science Foundation 8 GEC17 Design Orchestration in GIMI # start TCP flows group('Receiver').exec("iperf -s") group('Sender').exec("iperf -c 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 group('Sender').exec("iperf -c t 100") wait 5 end
Sponsored by the National Science Foundation 9 GEC17 Design Orchestration in GIMI # start TCP flows group('Receiver').exec("iperf -s") group('Sender').exec("iperf -c 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 group('Sender').exec("iperf -c t 100") wait 5 end
Sponsored by the National Science Foundation 10 GEC17 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 11 GEC17
Sponsored by the National Science Foundation 12 GEC17 GENI TestBed OML Server LabWiki iRODS 1.Instrument 2.Run 3.Collect 4.Plot 5.Save OML Client 6.Obtain Sum-Up 0.Reserve Experimenter 2.Run 3.Collect 4.Plot 5.Save
Sponsored by the National Science Foundation 13 GEC17 Want to Know More? The `magic` RSpec file? The `magic` OpenFlow Controller? The `magic` GIMI monitoring tool? The `magic` GIMI Script?......