Skip to content

gongsf-neu/Maiter

Repository files navigation

-- OVERVIEW

Maiter is implemented by modifying Piccolo.

-- PREREQUISITES

On debian/ubuntu, the required libraries can be acquired by running:

sudo apt-get install build-essential cmake g++ libboost-dev libboost-python-dev libboost-thread-dev liblzo2-dev libnuma-dev libopenmpi-dev libprotobuf-dev libcr-dev libibverbs-dev openmpi-bin protobuf-compiler liblapack-dev // libcr-dev,libibverbs-dev, liblapack-devʹÓÃapt-get°²×°, 
 
the optional libraries can be install via:

sudo apt-get install libgoogle-perftools-dev python-dev swig

-- BUILDING

Simply run 'make', a runnable file 'maiter' will be appeared if build is successful.

-- RUNNING

To execute a Piccolo program, you will need to modify conf/mpi-cluster
to point to the set of machines Piccolo will be executed on - for example, a file
might look like:

localhost slots=1
a slots=4
b slots=4
c slots=4

Which would allow for running up to 12 workers (+ 1 master process).

The following is the script to run pagerank
---------------------------------------------
ALGORITHM=Pagerank
WORKERS=12
GRAPH=input/pr_graph
RESULT=result/pr
NODES=10000
SNAPSHOT=1
TERMTHRESH=0.0001
BUFMSG=10000
PORTION=1


./maiter --runner=$ALGORITHM --workers=$WORKERS --graph_dir=$GRAPH --result_dir=$RESULT --num_nodes=$NODES --snapshot_interval=$SNAPSHOT --portion=$PORTION --termcheck_threshold=$TERMTHRESH --bufmsg=$BUFMSG --v=0