Changes between Version 1 and Version 2 of GENIExperimenter/Tutorials/NFV/Ryu/LoadBalancePIwithRyu


Ignore:
Timestamp:
10/25/16 13:42:11 (7 years ago)
Author:
wyf@bu.edu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/NFV/Ryu/LoadBalancePIwithRyu

    v1 v2  
    1212In 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.
    1313
    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].'''
    1515
    1616== (1) RINA Distributed Application ==
     
    4545      - ''' tar -xvf VNF1.tar.gz '''
    4646
    47  4.     In a new VNF2 window, download RINA code using following commands to get RINA VNF2 code.
     47 4.     In a new VNF2 window, download the RINA VNF2 code.
    4848
    4949
     
    123123
    124124== (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.
    128140
    129141{{{
     
    148160 }}}
    149161
    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.
    151163
    152164{{{
     
    221233 <tr>
    222234<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>
    224236 </td></tr></table>
    225237}}}