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 @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] 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