Skip to content

Plotting Results

Young edited this page May 8, 2014 · 12 revisions

Contents

Prerequisites

The parser requires numpy and joblib, while the plot scripts require numpy and matplotlib. Instructions for installing these can be found online, but here's one way to install it for Ubuntu 12.04:

  1. Ensure Python is at least 2.7 and pip is installed.

  2. Perform:

    sudo aptitude install libfreetype6-dev libpng12-dev gfortran
    sudo pip install virtualenv
    sudo pip install ipython
    sudo pip install joblib numpy matplotlib
    
  3. You may also need to perform sudo easy_install -U distribute.

Parsing Logs

Ensure the logs are structured on your local machine as: */results/<system>/<num-slaves>. For example, */results/giraph/32 or */results/graphlab/128. This is done automatically if you use */ec2/uw-ec2.py get-logs.

To parse all available data, perform:

cd */results/plots/
./gen-all.sh

This will generate the data for the worker machines (data_time.py, data_mem.py, data_net.py) and the data for the master (data_mem_master.py, data_net_master.py). These data files are used by the plot script.

Note: The parser only parses results for 16, 32, 64, and 128 machines by default. To change this, modify MACHINES in */results/plots/constants.py. You may also need to modify GRAPHS, depending on the datasets you use.

Plotting Data

Use */results/plots/plot.py for regular plotting or */results/plots/plot-with-cuts.py for plots with a cut y-axis. Use --help to get the available options.

Note: Like the parser, this is also specialized for our results on 16, 32, 64, and 128 m1.xlarge machines for the LJ, OR, AR, TW, and UK graphs. This also relies on MACHINES and GRAPHS in */results/plots/constants.py.

Clone this wiki locally