ns-2 for grid
The code for the modified ns-2 used in the MobiCom 2000 GLS paper is here. (grid-allinone.tgz). It contains
the entire ns distribution and the corresponding libraries.
The code for the modified ns-2 used in the MobiCom 2001 ad hoc capacity paper is capacity-ns.tgz. It
contains the entire ns distribution and corresponding libraries. The code is in cmu/test_capacity directory.
Install
Untar the grid-allinone.tgz, and install it by running the following commands in the corresponding directories.
monet:~/grid-allinone/tcl8.0/unix$ ./configure;make
monet:~/grid-allinone/tk8.0/unix$ ./configure;make
monet:~/grid-allinone/otcl-1.0a4$ ./configure;make
monet:~/grid-allinone/tclcl-1.0b8$ ./configure;make
monet:~/grid-allinone/hgps-ns$ ./configure;make
Grid Code
Most of simulation code related to Grid is under the directory "cmu/hgps"
(HGPS is the name we used before for this system). Other modification
to ns is minimal except what is required for ns to recognize HGPS header.
(One exception: we modified arp so whenever a broadcast HGPS packet is received, the sender's Mac is recorded in ARP table, hence no actual ARP request/reply
is ever sent)
Running simulations
- An example of running Grid:
ns cmu/scripts/run-2Mb.tcl -rp cmu/hgps/hgps.tcl -x 2900 -y 2900 -ud 100 -cp scen/600/cbr-600-300-4-128 -sc scen/600/scen-2900x2900-600-0-10-1 -stop 300 -tr out.tr
-ud specifies the update distance for how often a location update is sent
out
- To analyze the trace file, run "cmu/scripts/hgps.pl /tmp/ns RTR (num
nodes)"
- when running Grid for testing GLS queries only (i.e. there's no data
traffic in the network.), compile with -DTEST_QUERY flag.
- when testing Grid with wake and sleep scenarios (i.e. running ns with
ws-* wake sleep scenario files), use hgps-ws.tcl file.
Questions? Email grid@pdos.lcs.mit.edu.