Changes between Initial Version and Version 1 of DSC/zdc_framework


Ignore:
Timestamp:
Jul 17, 2013, 4:36:08 AM (11 years ago)
Author:
seskar
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • DSC/zdc_framework

    v1 v1  
     1= Match Execution Framework =
     2
     3[[TOC(DSC*,depth=2)]]
     4
     5== Objective ==
     6Use an OEDL script to execute a competitive-style and cooperative-style games for both Wildcard and Preliminary matches. Even though the use of framework is illustrated by using 2 (3) house bots, it the actual competition, the teams will be using their own radio implementations. Teams have to use the script in this framework to certify their image before submission. 
     7
     8The OEDL script uses three pair of nodes: dsc-teamA, dsc-teamB, dsc-teamC (the actual topology descriptions are '''system:topo:dsc-team{A,B,C,D}'''). The competitve matches will use teamA and temaC nodes, while cooperative will use teamA, teamB and teamC nodes (contestant radios will be only on teamA nodes for the wildcard tournament while house bots will be using teamB and teamC nodes); configurations should be considered to be fixed and will be changed only in the case of hardware failures.
     9
     10== Hardware / Software Resources Used ==
     11 1. Four grid nodes with USRP N210s (two for each team) for competitive match and six nodes with USRP N210s for cooperative match.
     12 2. ''dsc-wbot1.ndz,dsc-wbot2.ndz,dsc-wbot3.ndz'': house bot disk images with the prerequisite software to configure the USRPs and execute a house radio bot.
     13 3. ''team-image.ndz'': disk image that contains the team's radio.
     14 4. Scoring packet server: This is the server that resides on the infrastructure machine and is used as the source of data packets as well as the sink for teams to submit received packets for scoring.
     15 5. [attachment:dsc-wildcard.rb]: this is the OEDL experiment script to execute the matches.
     16
     17== Setting up the arena ==
     18 * To get started, first make a reservation on the [https://www.orbit-lab.org/loginService/ControlPanel Orbit Scheduler] for using the Grid.
     19 * After logging into grid console, make sure all nodes are turned off (in the example below, turn off all the nodes in the grid):
     20{{{
     21username@console.grid:~$ omf tell -a offh -t system:topo:all
     22}}}
     23 * Verify state of node before continuing. Make sure nodes are in the POWEROFF state.
     24{{{
     25username@console.grid:~$ omf stat
     26}}}
     27
     28 * Image the two nodes to be used for the first team's radios (team A nodes):
     29{{{
     30username@console.grid:~$ omf load -i dsc-wbot1.ndz -t system:topo:dsc-teamA
     31}}}
     32
     33In the case of wildcard matches these two nodes will receive competitor image
     34
     35 * Image the two nodes to be used for the second team's radios (in this case team C nodes):
     36{{{
     37username@console.grid:~$ omf load -i dsc-wbot2.ndz -t system:topo:dsc-teamC
     38}}}
     39
     40 * FOR COOPERATIVE MATCHES: image the third pair of nodes to be used for the third team's radios (in this case team B nodes):
     41{{{
     42username@console.grid:~$ omf load -i dsc-wbot3.ndz -t system:topo:dsc-teamB
     43}}}
     44
     45 * Turn nodes back on and verify they are in POWERON state
     46{{{
     47username@console.grid:~$ omf tell -a on -t system:topo:teamA
     48username@console.grid:~$ omf tell -a on -t system:topo:teamC
     49}}}
     50
     51
     52 * Download the [attachment:dsc-challenge.rb OEDL experiment script] to your local directory.
     53{{{
     54username@console.grid:~$ wget http://www.orbit-lab.org/raw-attachment/wiki/DSC/zdc_framework/dsc-challenge.rb
     55}}}
     56
     57== Running the experiment script ==v
     58
     59The experiment script will execute '''/root/dsc-code_tx''' and '''/root/dsc-code_rx''' on the source and sink respectively (please note that there are no suffixes), for both (all three) pairs of nodes. The sender module draws packets from a packet server, while the sink module delivers packets to the same packet server. 
     60
     61=== Packet Server ==
     62
     63 * idb2
     64 * Ports
     65
     661440 bytes fixed packets; closes transmit socket on the first packet request after the end-of-file is reached or on the 180 second timeout. It will report the score with the email (if at least one packet is received correctly).
     67
     68 * Type to following command to run the experiment. This will start the packet server, start the source and sink for all teams and release the packet source, wait for 180 seconds and then terminate the match. The actual transmission/reception will run .
     69{{{
     70username@console.grid:~$ omf exec dsc-challenge.rb -- XXXXXXXXXXXXXXXXXXXXXX
     71}}}
     72
     73 * The output should look similar to the following:
     74{{{
     75username@console.grid:~#
     76username@console.grid:~#
     77}}}
     78
     79 * Turn the nodes off
     80{{{
     81username@console.grid:~$ omf tell -a offh -t system:topo:all
     82}}}
     83
     84NOTES: