|  | 
 | 
  
    |  | This report describes how to use the provided script to profile NFD performance 
 | 
  
    |  | on ONL (https://onl.wustl.edu/) using Callgrind.
 | 
  
    |  |   
 | 
  
    |  | Assumptions
 | 
  
    |  | ===========
 | 
  
    |  | 
 | 
  
    |  |   This report assumes that users have an ONL account. If you don't have an account
 | 
  
    |  |   yet, please refer to the ONL official website to apply.
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | Experiment Steps
 | 
  
    |  | ================
 | 
  
    |  | 
 | 
  
    |  |   1. Login on the onlusr machine:
 | 
  
    |  |      ssh -L 7070:onlsrv:7070 <your_account>@onl.arl.wustl.edu
 | 
  
    |  |   
 | 
  
    |  |   2. Run RLI
 | 
  
    |  |      Open the topology file, and make reservation; if it is not successful,
 | 
  
    |  |   change the reservation time, and try again
 | 
  
    |  |   
 | 
  
    |  |      When your reservation is ready, commit.
 | 
  
    |  |      
 | 
  
    |  |   3. Experiment Environment setup
 | 
  
    |  |      ONL does not allow us to install programs, this section describes the process
 | 
  
    |  |      to compile NFD code on your experiment nodes.
 | 
  
    |  | 
 | 
  
    |  |      (1) clone script on onlusr
 | 
  
    |  | 
 | 
  
    |  |          git clone https://github.com/WU-ARL/NFD_Performance_Testing_on_ONL.git
 | 
  
    |  | 
 | 
  
    |  |      (2) Log on to one of the pc2core experiment nodes
 | 
  
    |  | 
 | 
  
    |  |          In RLI, you can see the nodes name. Just choose one, and ssh to it.
 | 
  
    |  |      
 | 
  
    |  |      (3) Compile and install ndn-cxx in your home directory. And then the NFD code.
 | 
  
    |  | 
 | 
  
    |  |          The scripts make it pretty easy to do so. The README in scripts explained it clearly.
 | 
  
    |  |          Here we just point out the main steps:
 | 
  
    |  | 
 | 
  
    |  |          A. in NFD_current_git fold, run “./git_initial.sh”.
 | 
  
    |  |             This script would download the latest code repository to your current directory.
 | 
  
    |  | 
 | 
  
    |  |          B. run “./build_all.sh —profile”
 | 
  
    |  |             build_all.sh compiles with “-pg” and installs the ndn-cxx and NFD in the usr folder 
 | 
  
    |  |          of your current directory.
 | 
  
    |  | 
 | 
  
    |  |      (4) script modification
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | NFD Testing
 | 
  
    |  | ===========
 | 
  
    |  | 
 | 
  
    |  |   1. logout the pc2core node. cd to the Variable_Length_Names folder.
 | 
  
    |  | 
 | 
  
    |  |   2. run mkAll.sh to configure the experiment
 | 
  
    |  | 
 | 
  
    |  |      Usage: ./mkAll.sh [options] <count> <proto> <interval> <num name components> <component length>
 | 
  
    |  |      Options:
 | 
  
    |  |        [--local]     - use start scripts to run local (../NFD_current_git_optimized/usr/local/bin/) versions of nfd and nrd
 | 
  
    |  |        [--installed] - use start scripts to run the installed (based on PATH) versions of nfd and nrd
 | 
  
    |  | 
 | 
  
    |  |       e.g. ./mkAll.sh --local  64 udp4 8 5 5
 | 
  
    |  | 
 | 
  
    |  |   3. start the experiment: ./runAll.sh
 | 
  
    |  | 
 | 
  
    |  |   4. stop the experiment: ./killAll.sh
 | 
  
    |  | 
 | 
  
    |  |      Another script is provided to simplify the experiment: “seriesTest.sh”. You can modify it
 | 
  
    |  |   to make your work easier by changing the parameters.
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | Check Result
 | 
  
    |  | ============
 | 
  
    |  | 
 | 
  
    |  |   Since we use gprof to generate the results, you need to save the report gmon.out to another place
 | 
  
    |  |   and rename it.
 | 
  
    |  | 
 | 
  
    |  |   Please refer to the gprof manual to generate the result
 |