Changes between Version 21 and Version 22 of Tutorials/oMF/tut2


Ignore:
Timestamp:
Oct 20, 2014, 9:35:26 PM (10 years ago)
Author:
wontoniii
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/oMF/tut2

    v21 v22  
    2222[[Image(Tutorials/oMF:MFTurorialNetwork.png)]]
    2323
    24 If not coming from [wiki:Tutorials/oMF/tut1 exercise 1] follow these instructions on how to setup the topology. Running exercise 1 before moving to exercise 2 is advised to understand the steps and software components involved.
     24If not coming from [wiki:Tutorials/oMF/tut1 exercise 1] follow these instructions on how to setup the topology. Running exercise 1 at least once before moving to exercise 2 is advised to understand the steps and software components involved.
    2525
    2626[[CollapsibleStart(4 nodes topology setup)]]
     
    247247}}}
    248248
    249 As seen above, the OML enabled monitor will work with the !MobilityFirst router and it will enable us to track and visualize the forwarding performance of MFRs. In order to report statistics to the ORBIT's OML server, the monitor periodically queries the router through a socket control port (''ctrl_port'' in our script).
     249As seen above, the OML enabled monitor will work with the !MobilityFirst router and it will enable us to track and visualize the forwarding performance of the MFRs in real time. In order to report statistics to the ORBIT's OML server, the monitor periodically queries the router through a socket control port (''ctrl_port'' in our script). Using the conveniency of OML we can define different characteristics of the stream of measurements going to the OML server. This is done using an XML configuration file; in our case the following configuration file has been preloaded on the nodes:
     250
     251{{{
     252#!xml
     253
     254<omlc id='click_mon'>
     255  <collect url='tcp:oml.orbit-lab.org:3003'>
     256    <stream name='packet_stats' mp='packet_stats' samples='1'>
     257    </stream>
     258    <stream name='routing_stats' mp='routing_stats' samples='1'>
     259    </stream>
     260    <stream name='link_stats' mp='link_stats' samples='1'>
     261    </stream>
     262  </collect>
     263</omlc>
     264}}}
     265
     266After running the experiment which should be able to retrieve statistics on a per sample base divided among different groups, based on the analyzed layer (i.e. network layer, link layer, physical layer).
    250267
    251268== Execute ==
     
    255272To generate the traffic that will be reported by the routers, we will use the same ''mfping'' application as in the previous exercise.
    256273
    257 First of all, you will need to start the experiment via the OMF script. Download the script to the orbit console:
     274First of all, you will need to start the experiment via an OMF script. Download the script to the orbit console copying and pasting the following command in your terminal:
    258275
    259276{{{
     
    269286}}}
    270287
    271 The following snippet shows how the exercise runs. As indicated above first we will run mfping between the hosts as described in exercise 1:
    272 [[CollapsibleStart(If not coming from the previous exercise follow these instructions to run mfping)]]
    273 Once the host and router components are up, you can log in to the sender (host identified by GUID 101) and receiver (host identified by GUID 102) host nodes (two separate terminals) and run the 'mfping' application.
    274 
    275 Run the mfping 'server' specifying the application GUID:
     288Once your experiment is showing you the following line:
     289
     290{{{
     291#!sh
     292    INFO exp: Request from Experiment Script: Wait for 10000s....
     293}}}
     294
     295you can proceed running the ping application. If coming from exercise 1, you will only need to repeat the same procedure. For conveniency, the detailed steps on how to run the application follow.
     296
     297[[CollapsibleStart(Instructions on how to run the mfping application)]]
     298
     299You can now proceed: using the previously opened consoles log in into the two host nodes (GUIDs 101 and 102) that will be used to run the simple 'mfping' application. In order to access a running Orbit node ssh into it as follow:
     300
     301{{{
     302#!sh
     303ssh root@nodex-y
     304}}}
     305
     306Where ''x-y'' has to be replaced by the actual numbers identifying the node.
     307
     308Once logged in, run on the node with GUID 102 the mfping 'server' component properly specifying the application GUIDs:
    276309
    277310{{{
     
    282315where "-s" specifies that the host is running as server, "-m" specifies the source guid and "-o" the destination one
    283316
    284 To run the mfping 'client'
     317To run the mfping 'client' start on the client with GUID 101 the command:
    285318
    286319{{{
     
    313346==== Visualizing the Performance Data ====
    314347
    315 '''Method 1:''' OMF framework supports a result service that allows experimenters to query data stored using the OML measurement framework. The query is performed over the web and requires that you know the hostname and port where the result service runs, and the ''experiment ID'' associated with this experiment - this is obtained from the output following the execution of the control script. It should look something like this :
     348'''Method 1:''' the OMF framework supports a result service that allows experimenters to query data stored using the OML measurement framework. The query is performed over the web and requires that you know the ''experiment ID'' associated with your experiment - this is obtained from the output following the execution of the control script. It should look something like this :
    316349{{{
    317350#!sh
     
    319352}}}
    320353
    321 The result service supports either dumping of the entire database or a SQL-like querying option to selectively retrieve required measurement data. The below HTTP request shows an example query to retrieve the reported statistics from the OML enabled monitor for !MobilityFirst Routers. In order to see the results the following web page should be retrieved using any browser. The following URL should be typed in the browser:
    322 
    323 {{{
    324 #!sh
    325 http://oml.orbit-lab.org:5054/result/dumpDatabase?expID=default_slice-2014-10-15t02.12.19.869-04.00
     354The result service supports either dumping of the entire database or a SQL based querying option to selectively retrieve required measurement data. The below HTTP request shows an example query to retrieve the reported statistics from the OML enabled monitor for !MobilityFirst Routers. In order to see the results the following web page should be requested using any browser. The following URL should be typed in the browser replacing 'experimentID' with the ID associated with your experiment:
     355
     356{{{
     357#!sh
     358http://oml.orbit-lab.org:5054/result/dumpDatabase?expID=experimentID
    326359}}}
    327360In this case the hostname is "oml.orbit-lab.org" and the port number is "5054".
    328361
    329 Note that the URL used in wget, in particular the arguments, may require to be encoded to unambiguously represent special characters when using the HTTP protocol.
    330 
    331 This data can also be downloaded using "wget" command and easily visualized using a tool such as gnuplot. You can find a helper script in the tutorial package that plots they key performance data downloaded.
    332 
    333 '''Method 2:''' Alternatively, the performance data may be visualized using ''omf-web'', OMF's web-based visualization service. It also works in concert with the result service referenced in Method 1, and makes available a variety of graph widgets to visualize live-experiment data logged using OML. Detailed documentation on the installation and usage of omf-web can be found on the [https://github.com/mytestbed/omf_web omf-web github site].
    334 
    335 Since this is installed on all ORBIT domains, we only need to concern ourselves with defining the widget configuration required to bring up the live graphs for the performance data we are logging. In order to bring up the visualization, we only need to start the basic omf-web service with the configuration file arguments.
     362'''Method 2:''' Alternatively, the performance data may be visualized using a tool called ''omf-web'', an OMF web-based visualization service. It also works in concert with the result service referenced in Method 1, and makes available a variety of graph widgets to visualize live-experiment data logged using OML. Documentation on the installation and usage of omf-web can be found on the [https://github.com/mytestbed/omf_web omf-web github site].
    336363
    337364
     
    342369 * On the grid's console running the experiment script, interrupt the experiment using the Ctrl-C key combination.
    343370This will stop all the applications and will conclude the experiment.
     371
     372=== References ===
     373
     374For more information regarding the !MobilityFirst project, visit the project page: http://mobilityfirst.winlab.rutgers.edu/
     375
     376For more information regarding the prototype design and updated status, visit the wiki page: https://mobilityfirst.orbit-lab.org/