wiki:DSC/dc_trial1

Version 8 (modified by nilanjan, 11 years ago) ( diff )

Darpa Hurdle3 with OMF-5.4

Description

Use OEDL script to execute hurdle3 transmit and receive benchmark scripts from the grid.

Hardware / Software Resources utilized

  1. Two grid nodes with USRPs.
  2. baseline-gnu-12-04-32bit.ndz: disk image loaded onto nodes. This image has all the prerequisite software to configure the USRPs.
  3. Orbit's Arbitrary Waveform Injection System: used to inject noise or simple signal into RF environment. More information of this generator can be found here.
  4. Packet server: This is server that resides on the grid console and used by a transmitting node to send data packets over the air via USRP.
  5. dc.rb: this is the ODEL experiment script to manage GNURadio code, interference service and packet server and execute the hurdle (i.e. run the transmit and receive scripts).

Set up

  • After logging into grid console, make sure all nodes are turned off (in the example below, turn off all the nodes in the grid):
    username@console.grid:~$ omf tell -a offh -t system:topo:all
    
  • Verify state of node before continuing. Make sure nodes are in the POWEROFF state.
    username@console.grid:~$ omf stat
    
  • Image nodes (this will image all nodes with USRPs with SBX daughtercards):
    username@console.grid:~$ omf load -i baseline-gnu-12-04-32bit.ndz -t node1-1.grid.orbit-lab.org,node20-20.grid.orbit-lab.org -r 20
    
  • After nodes are imaged, verify that nodes are in POWEROFF state. Otherwise issue the following to turn them off for a reboot
    username@console.grid:~$ omf tell -a offh -t node1-1.grid.orbit-lab.org,node20-20.grid.orbit-lab.org
    
  • Turn nodes back on and verify they are in POWERON state
    username@console.grid:~$ omf tell -a on -t node1-1.grid.orbit-lab.org,node20-20.grid.orbit-lab.org
    
  • Download the OEDL experiment script to your local directory.
    username@console.grid:~/UHD$ wget http://www.orbit-lab.org/raw-attachment/wiki/DSC/dc_trial1/dc.rb
    

Run the experiment script

  • Type to following command to run the experiment. This will start the packet server, configure and start the interference generator and finally kick off the transmit and receive benchmark scripts within the nodes.
    username@console.grid:~/UHD$ omf exec dc.rb
    
  • The output should look similar to the following:
    username@console.grid:~/UHD$ omf-5.4 exec dc.rb
    
     INFO NodeHandler: OMF Experiment Controller 5.4 (git 578791f)
     INFO NodeHandler: Slice ID: default_slice (default)
     INFO NodeHandler: Experiment ID: default_slice-2013-06-14t14.13.52.446-04.00
     INFO NodeHandler: Message authentication is disabled
     INFO Experiment: load system:exp:stdlib
     INFO property.resetDelay: resetDelay = 230 (Fixnum)
     INFO property.resetTries: resetTries = 1 (Fixnum)
     INFO Experiment: load system:exp:eventlib
     INFO Experiment: load system:exp:winlib
     INFO Experiment: load dc.rb
     INFO property.rxnode: rxnode = "node1-1.grid.orbit-lab.org" (String)
     INFO property.txnode: txnode = "node20-20.grid.orbit-lab.org" (String)
     INFO property.freq: freq = "1900000000" (String)
     INFO property.runtime: runtime = "300" (String)
     INFO ALL_UP_AND_INSTALLED: Event triggered. Starting the associated tasks.
     INFO exp: Give machines some time to warm up
     INFO exp: Request from Experiment Script: Wait for 1s....
     INFO exp: Request from Experiment Script: Wait for 1s....
     INFO  14:14:04.081 (main.cpp:557) - Starting the server at
     INFO  14:14:04.082 (main.cpp:430) - Starting TCP sender server at 5100
     INFO  14:14:04.082 (main.cpp:513) - Starting UDP receiver server at 5103
     INFO  14:14:04.082 (main.cpp:480) - Starting TCP receiver server at 5102
     INFO  14:14:04.082 (main.cpp:465) - Starting UDP sender server at 5101
     INFO exp: Request from Experiment Script: Wait for 1s....
    OK INFO exp: Request from Experiment Script: Wait for 1s....
    OK INFO exp: Request from Experiment Script: Wait for 1s....
    OK INFO exp: Start benchmark_rx,tx
     INFO exp: Request from Experiment Script: Wait for 300s....
     INFO  14:14:07.593 (main.cpp:505) - Rx Thread count: 1
     INFO  14:14:09.124 (main.cpp:457) - Tx Thread count: 1
    console.grid.orbit-lab.org
    INFO   OML Client V2.8.1 [Protocol V3] Copyright 2007-2012, NICTA
    INFO   Net_stream: connecting to host tcp://idb2.orbit-lab.org:3003
     INFO  14:14:24.124 (main.cpp:239) -  TIME = 15000 msec rx/tx/bad packets=1359/1678/0 rx/tx bytes=1956960/2416320 success=80.9893%
     INFO  14:14:39.124 (main.cpp:239) -  TIME = 30000 msec rx/tx/bad packets=2986/3279/0 rx/tx bytes=4299840/4721760 success=91.0643%
     INFO  14:14:54.124 (main.cpp:239) -  TIME = 45000 msec rx/tx/bad packets=4547/4880/0 rx/tx bytes=6547680/7027200 success=93.1762%
     INFO  14:15:09.124 (main.cpp:239) -  TIME = 60000 msec rx/tx/bad packets=4889/6481/0 rx/tx bytes=7040160/9332640 success=75.4359%
     INFO  14:15:24.124 (main.cpp:239) -  TIME = 75000 msec rx/tx/bad packets=4889/8082/0 rx/tx bytes=7040160/11638080 success=60.4925%
     INFO  14:15:39.124 (main.cpp:239) -  TIME = 90000 msec rx/tx/bad packets=4889/9682/0 rx/tx bytes=7040160/13943520 success=50.4906%
     INFO  14:15:54.124 (main.cpp:239) -  TIME = 105000 msec rx/tx/bad packets=4889/11284/0 rx/tx bytes=7040160/16248960 success=43.3268%
     INFO  14:16:09.124 (main.cpp:239) -  TIME = 120000 msec rx/tx/bad packets=4889/12884/0 rx/tx bytes=7040160/18552960 success=37.9463%
     INFO  14:16:24.124 (main.cpp:239) -  TIME = 135000 msec rx/tx/bad packets=4889/14485/0 rx/tx bytes=7040160/20858400 success=33.7522%
     INFO  14:16:39.124 (main.cpp:239) -  TIME = 150000 msec rx/tx/bad packets=4889/16086/0 rx/tx bytes=7040160/23165280 success=30.391%
     INFO  14:16:54.124 (main.cpp:239) -  TIME = 165000 msec rx/tx/bad packets=4889/17687/0 rx/tx bytes=7040160/25469280 success=27.6418%
     INFO  14:17:09.124 (main.cpp:239) -  TIME = 180000 msec rx/tx/bad packets=4889/19288/0 rx/tx bytes=7040160/27774720 success=25.3474%
     INFO  14:17:24.124 (main.cpp:239) -  TIME = 195000 msec rx/tx/bad packets=4889/20889/0 rx/tx bytes=7040160/30080160 success=23.4047%
     INFO  14:17:39.124 (main.cpp:239) -  TIME = 210000 msec rx/tx/bad packets=4889/22490/0 rx/tx bytes=7040160/32385600 success=21.7386%
     INFO  14:17:54.124 (main.cpp:239) -  TIME = 225000 msec rx/tx/bad packets=4889/24091/0 rx/tx bytes=7040160/34691040 success=20.2939%
     INFO  14:18:09.124 (main.cpp:239) -  TIME = 240000 msec rx/tx/bad packets=4889/25692/0 rx/tx bytes=7040160/36996480 success=19.0293%
     INFO  14:18:24.124 (main.cpp:239) -  TIME = 255000 msec rx/tx/bad packets=4889/27293/0 rx/tx bytes=7040160/39301920 success=17.913%
     INFO  14:18:39.124 (main.cpp:239) -  TIME = 270000 msec rx/tx/bad packets=4889/28894/0 rx/tx bytes=7040160/41607360 success=16.9205%
     INFO  14:18:54.124 (main.cpp:239) -  TIME = 285000 msec rx/tx/bad packets=4889/30495/0 rx/tx bytes=7040160/43912800 success=16.0321%
     INFO exp: Stop eveything
    OK INFO exp: Request from Experiment Script: Wait for 5s....
     INFO  14:19:09.124 (main.cpp:249) - 300000 msec timeout reached - closing connection
     INFO  14:19:09.124 (main.cpp:252) -  TIME = 300000 msec rx/tx/bad packets=4889/32095/0 rx/tx bytes=7040160/46216800 success=15.2329%
    INFO   Waiting for buffered queue reader thread to drain...
    INFO   Buffered queue reader thread finished OK...
     INFO  14:19:09.127 (main.cpp:349) - Tx Thread count: 0
     INFO exp: Finish it.
     INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
     INFO NodeHandler:
     INFO NodeHandler: Shutting down experiment, please wait...
     INFO NodeHandler:
    default_slice-2013-06-14t14.13.52.446-04.00 EXP.DONE Running for 321 sec
     INFO run: Experiment default_slice-2013-06-14t14.13.52.446-04.00 finished after 5:21
    
    
    

Attachments (1)

  • dsc-h3.rb (4.1 KB ) - added by seskar 11 years ago. OEDL script for DSC H3-like tutorial

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.