Changes between Version 1 and Version 2 of GENIExperimenter/Tutorials/NFV/Ryu/LoadBalancePIwithRyu
- Timestamp:
- 10/25/16 13:42:11 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIExperimenter/Tutorials/NFV/Ryu/LoadBalancePIwithRyu
v1 v2 12 12 In this control theoretic approach, the load on VNF1 and VNF2 is monitored, and flow-forwarding decisions are made based on the load information retrieved from the hosting VMs. We will run a [http://www.geni.net/?p=3133 RINA] distributed application to get the state (load) of the VNFs to the controller VM. Once the Ryu controller has the IDS load information, it will use the Proportional Integral (PI) load balancer to balance the load across the VNF instances based on the load information. This load balancing information is then provided to the Ryu controller, which updates the !OpenFlow rules on the OVS switch to balance the load. 13 13 14 '''Note: another version of this experiment using POX controller can be found at[wiki:GENIExperimenter/Tutorials/NFV/Execute/LoadBalancePI here].'''14 '''Note: another version of this experiment using POX controller can be found [wiki:GENIExperimenter/Tutorials/NFV/Execute/LoadBalancePI here].''' 15 15 16 16 == (1) RINA Distributed Application == … … 45 45 - ''' tar -xvf VNF1.tar.gz ''' 46 46 47 4. In a new VNF2 window, download RINA code using following commands to getRINA VNF2 code.47 4. In a new VNF2 window, download the RINA VNF2 code. 48 48 49 49 … … 123 123 124 124 == (2) PI Controller == 125 The PI-controller gets the load information of VNF1 and VNF2 using RINA`s distributed application and makes the load balancing decision. 126 127 Below figure shows the block diagram of the Proportional Integral (PI) controlled NFV system. 125 126 127 {{{ 128 #!html 129 <table id="Table_02" width = "1150" border="0" cellpadding="0" cellspacing="10" > 130 <tr> 131 <td> <img src = "http://csr.bu.edu/rina/grw-bu2016/tutorial_files/image068.gif" > </td> 132 <td> The PI-controller gets the load information of VNF1 and VNF2 using RINA`s distributed application and makes the load balancing decision. 133 </td></tr></table> 134 }}} 135 136 137 138 139 The figure below shows the block diagram of the Proportional Integral (PI) controlled NFV system. 128 140 129 141 {{{ … … 148 160 }}} 149 161 150 The code for the PI controller is based on following algorithm. Input ''IDS,,load,,.txt'' is the file generated by the RINA distributed application. This file has load information of the VNFs.162 The code for the PI controller is based on the following algorithm. Input ''IDS,,load,,.txt'' is the file generated by the RINA distributed application. This file has load information of the VNFs. 151 163 152 164 {{{ … … 221 233 <tr> 222 234 <td> <img src = "http://csr.bu.edu/rina/grw-bu2016/tutorial_files/image068.gif" > </td> 223 <td> <i>Note that you can run multiple instances of iperf by running <span style="background:#c0c0c0"> iperf -c destination -t 500 & </span> multiple time in s1 and s2 nodes. This flow lasts for 500 seconds. To kill all the flows generated at a node, run <span style="background:#c0c0c0"> killall –v iperf </span> </i>235 <td> <i>Note that you can run multiple instances of iperf by running <span style="background:#c0c0c0"> iperf -c destination -t 500 & </span> multiple times in s1 and s2 nodes. This flow lasts for 500 seconds. To kill all the flows generated at a node, run <span style="background:#c0c0c0"> killall –v iperf </span> </i> 224 236 </td></tr></table> 225 237 }}}