Project

General

Profile

Task #1621 » nfd-performance-profiling-on-ONL-steps-v0.2.txt

Chengyu Fan, 10/12/2014 09:09 PM

 

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
(2-2/3)