GNP Software Manual

This manual page is intended to provide instructions on how to use the GNP code's basic features. Many complex features will not be discussed here. Refer to the source code if necessary.

After the archive gnp-00.tar.gz has been downloaded and unpacked, there will be four directories:

To compile the code, simply run the make.pl Perl script in the code directory, or just run "gcc -O3 -lm -o gnp gnp.c simplex_downhill.c". The resulting executable is gnp.

The gnp program expects to find two distance data files matrix and combined in the execution directory. It takes 3 parameters: (1) the number of lines in matrix, (2) the number of lines in combined, and (3) an experiment configuration file. For example, using the global Internet distance data and one of the supplied experiment configuration files, you can run:

There are two major modes of running GNP, controlled by the experiment configuration file. The first mode is the asymmetric mode, when you do not have symmetric distance data between hosts. This is the typical case in Internet experiments because the number of measurement hosts is usually small, but the number of targets (i.e. hosts that only need to respond to ping) can be made large fairly easily. This is why two separate distance data files are used. The supplied global Internet matrix file contains the symmetric distances among 19 measurement hosts, while the combined file contains the distances between the 19 measurement hosts and 869 targets (smaller data set for the Abilene data). The 15L-8D configuration file is an example of operating in this mode.

The second mode is the symmetric mode, when you have symmetric distance data between hosts. For example, if you have a simulated topology, then symmetric distance data can easily be obtained between all hosts in the simulated topology. In this mode, the combined file is essentially ignored (thus it may be empty), only the data in matrix is used for computations. The 6L-5D-Full configuration file is an example of operating in this mode, you can run:

Click here to see the explanation of the format of the matrices matrix and combined.

What each GNP experiment does is controlled by the configuration file. In the following, we will use the 15L-8D file as an example for discussion. 15L-8D specifies 3 GNP experiments that use different combinations of 15 Landmark hosts and the 8-dimensional Euclidean space. The content of the file is shown below. Click on each hyperlinked section to see its meaning:

After running gnp, many output data files will be generated. Here we provide an overview of these output data files, for more details about the data files, please refer to the source code. As an example, after running "./gnp 19 869 15L-8D", the following set of files are generated:

When the symmetric mode is used, e.g. after running "./gnp 19 0 6L-5D-Full", the set of files generated is a little bit different:

With these output data files, the coordinates of all hosts in the experiments can be extracted, the predicted distances can also be directly compared against the measured distances to evaluation the prediction accuracy.

Back to GNP Home