wiki:DSC/QandA

Version 34 (modified by seskar, 11 years ago) ( diff )

DARPA Spectrum Challenge Q&A

Hurdles Q&A

H1

  1. Q: Is it permissible to test the ssh public key mechanism prior to the reservation time?
    A: Please feel free to test the keys against gw.orbit-lab.org
  2. Q: Are the resource times for our schedule in EST or in our team's local time which is MST?
    A: All the resource times in the schedule email are in EST (Eastern Standard Time).

H2

  1. Q: I would like to find out the procedure to access a specific domain when I have been assigned two domains which overlap in time.
    A: All omf commands accept -t flag which specifies a set of resource (nodes). That set can be specified as either list of nodes or a path to file containing a resource set. So if you have multiple virtual domains reserved, system:topo:all would refer to all nodes contained in all domains. If you just want to work with a subset of nodes, you could simply list them on a command line. For example, if you have approved reservation for zDC01 and DCGNUR01 and wanted to say image only nodes in DCGNUR01 you would issue
        omf load -i darpahurdle1.ndz -t node1-1.grid.orbit-lab.org,node3-3.grid.orbit-lab.org
    
  2. Q: Given that they don't have USRP hardware, what is the purpose of zDCXX domains?
    A: The zDCXX domains are general purpose only, and can't be used for USRP testing. However, they might be useful for other functions, such as working with images, debugging, working with omf (useful tool to get familiar with), etc.

H3

  1. Q: Is there some recommended image to use which combines in some way ath5k or ath9k devices and gnuradio? Can we use exisitng WiFI radios for feedback channel?
    A: Teams are not allowed to use communication interfaces other than USRP (whether wired or wireless). In other words, you can't use WiFi/Bluetooth/ZigBee/Ethernet devices to talk between the two nodes.
  2. Q: Why are we getting repeated connection timeouts when running benchmark_tx2.py?
    A: There is a hard limit on number of sessions that the packet source can handle at a time, and when you witness connection timeouts this is due to too many teams making simultaneous requests to the packet source.
  3. Q: Is it correct that the final transmitter and receiver scripts must reside in /root/gnuradio/gr-digital/examples/narrowband/
    A: Yes you have to keep this path - it will be used by us to run your transmitter/receiver.
  4. Q: May we modify GNURadio code on the node? Can we use C++ blocks? Can we use custom code? Can we use OFDM modules? May we encapsulate packets with FEC in the transmitter and then strip the FEC in the receiver?
    A: You may do anything with the code as long as packet source/sink communication is maintained and command line option for setting frequency ( -f ) is maintained. It is experimenters responsibility to test their code against the Hurdle 3 test server. Teams are reminded that they are NOT allowed to change the FPGA code.
  5. Q: Are we set up for full-duplex communication, i.e., can we have a return path for ACKs, etc.?
    A: The final evaluation for Hurdle 3 will be done on a pair of nodes with the SBX front-end. Bi-directional communications is allowed as long as it is done within the 2.5 MHz channel. Teams are advised to be aware of their schedule assignment during the development period since some USRPs have the XCVR front-end. Teams are advised to fully understand the limitations of the SBX front-end when trying to implement sophisticated protocols, as well as the limitations that might be faced when developing on the XCVR for eventual testing with the SBX.
  6. Q: Are there any requirements to maintain any of the existing structure of the tx/rx modules, as long as the rx timeout and packet server source/sinks remain unchanged?
    A: The requirements are that you must retain the packet structure reading from the packet source, and the packet structure going into the packet sink. Failure to do this will mean that you will not pass the checking mechanism. You must also keep the same “center frequency” argument structure on the command-line of your program since we will use this to launch your code for evaluation (and keep corresponding logging functions). Generally, you may do whatever else you wish with the radio (without touching the FPGA or stepping outside of the 2.5MHz baseband - we will check to make certain you stay in the band). Please note that your radio module must automatically set many of its own parameters (such as gain) since the evaluators will not try to optimize parameter selection for teams.
  7. Q: For Hurdle 3, timing and evaluation are handled by the server. Should the TX/RX modules continuously until the 10 minute RX timeout is reached?
    A: Yes, you should continuously transmit packets until the timeout. We will evaluate on a 5 minute chunk of time during your run. A performance monitoring server will be running during the Qualification Period and will send you an email with number of packets that were successfully received in the 5 minute period.
  8. Q: Is the packet source an "infinite" source or is the packet source a fixed-length with known maximum number of bytes? Is it permissible to refactor the packet get/put code? Does the order of received packets matter?
    A: The packet source/sink is a TCP based packet server that generates an infinite number of random packets on request (i.e. each packet has to be requested separately by the sending application). Packet receiver is going to compare against sent packets however, packet ordering or lost packets does not matter in calculating performance. During the Qualification Period, the test server will send a report to experimenters on one of the 3 triggers: a.) 5 min. timeout is reached, b.) transmitter closed the TCP connection or c.) receiver closed the connection. Packet get/put can be changed but has to work with the existing packet server and it is experimenters responsibility to test their code against the Hurdle 3 test server (python code in the banchmark_tx3 and banchmark_rx3 is there just as a template).
  9. Q: Can we assume that the nodes are time synchronized (e.g., using NTP)? If not, is it allowed to install something like NTP on the hosts?
    A: Nodes are synchronized with the NTP server at boot time. However, once the testing starts the nodes can only talk to the packet server service over the Ethernet and thus NTP synchronization can't be maintained.
  10. Q:How is noise being added to the environment? What is meant by: "received SNR might range from 0dB SNR to 10dB"?
    A: Real noise is being injected into the environment (i.e. affecting both ends of the link). The injected noise level will be adjusted so that SNR measured by the receiver will be somewhere between 0-10 dB when the transmitter is transmitting at the maximum power (100 mW for SBX front-end). Further, the noise level will be fixed for all time slots that include interference, i.e., N1 and N2 slots.
  11. Q: How is 2.5 MHz bandwidth measured?
    A: It is a 3 dB bandwidth (of 2.5 MHz max).
  12. Q: How do we interpret the given frequency, passed in as —freq to benchmark_[rt]x3.py?
    A: Frequency specified with —freq is the center frequency and the channel extends ± 1.25MHz around it.
  13. Q: Would it be possible to know the maximum frequency offset between the transmitter and receiver?
    A: It will be consistent with standard for SBX front-ends.
  14. Q: What can we assume for the available processing power for Hurdle 3? Can we assume that the hardware will be the same as the DCGNUR nodes? Are all these nodes identical?
    A: Yes, it will definitely be a pair of DCGNURXX nodes; unfortunately nodes are not all identical (even though they all have a variant of Quad Core i7 CPU). As for the actual CPUs that we plan to use for the evaluation, it will be a pair of (output of lshw): Intel Corp. Intel® Core™ i7-2600 CPU @ 3.40GHz 6.10.7
    Again, no guarantees that any particular one (of the existing 18 DCGNURXX) will be used…
  15. Q: Can we assume that the nodes will be stationary?
    A: Yes, the nodes will be stationary.
  16. Q: USRP2 on nodeX-Y is not responding to uhd_usrp_probe - can you please help? Why is USRP2 on nodeX-Y not responding to ping?
    A: In most cases all that is needed is to power-cycle the USRP which is achieved by power-cycling the node (turning the node off turns off the attached USRP2 also). For example, to power-cycle the USRP2 on node16-5:
        omf tell -a offh  -t node16-5.grid.orbit-lab.org
        # ... wait for 10-20 seconds
        omf tell -a on  -t node16-5.grid.orbit-lab.org
    
  17. Q: Can we install a 64-bit environment on the ORBIT node and make our own image of it?
    A: You can customize/use any environment (as long as FPGA is not changed); please don’t forget that we will use only benchmark_tx3 and benchmark_rx3 found in gnuradio/gr-digital/examples/narrowband to run the evaluation and that it is your responsibility to have them there.
  18. Q: Is it true that the distances between the nodes that will be used for hurdle 3 evaluation same as the distance between the nodes that we have access to, during the qualification period?
    A: The topology will be similar to DCGNURXX configurations.
  19. Q: How can we make sure our image is not left on the node after our slot expires? A: Re-imaging nodes at the end of your slot (with say baseline.ndz which is typically much smaller than GNURadio based images) will ensure that. Even just starting the imaging process (after the point when the nodes check in) will be enough to render the disk reasonable unreadable.
  20. Q: Can you provide a description for how interference will spill into the adjacent 1.25MHz band?
    A: During moments of 1.25MHz interference, the spill over into the adjacent non-interfered 1.25MHz band will be such that the average SNR over that band will at least be 10dB better than the SNR in the interfered band.
  21. Q: Why is my imaging timing out? Why, after imaging zDC09 with darpahurdle23.ndz, can't I ssh into my nodes?
    A: Trying to put large images (especially) on the older nodes (zDCXX domains) will quite often take longer than the default timeout. In order to extend it, one should use the -o option i.e.
       omf load -i darpahurdle23.ndz -o 1500 -t system:topo:all
    
  22. Q: Why are we seeing read-only/corrupted file system when we boot our image (after saving our image from one of the nodes on zDCXX and loading it on the nodes in another domain)?
    A: It is possible that older nodes are having a disk issue and that is why it is essential that you check your saved image by loading it on a pair of nodes (preferably on DCGNURXX). Also, quite often older nodes have much smaller size disk and it is safer to re-size partitions during both load and save (on zDCXX) i.e. for target partition of 15GB:
       omf load -i darpahurdle23.ndz -o 1500 -r 15 -t system:topo:all
       ...
       ...
       omf save -r 15 -n nodeX-Y.grid.orbit-lab.org
    
  23. Q: How can I save my image? We are having problem saving our image, can you please advise?
    A: You have to use Fully Qualified Domain Name (FQDN) of the node as an argument i.e. if you have a reservation for DCGNUR14 and want to save image from node3-13 you have to issue a command:
    NOTE: All nodes used in DARPA SPectrum Challenge are part of grid.orbit-lab.org domain.
       omf save -n node3-13.grid.orbit-lab.org
    
  24. Q: Is there any problem with simply removing oml-cli process invocation? Do we need to keep OML logging code found in benchmark_[tr]x3.py?
    A: Given that the only settable parameter in H3 is frequency, oml-cli (OML code) is not required and can simply be removed.

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.