User 90 | 3/6/2014, 2:59:20 AM
I am trying to run the default PageRank provided in the analytics toolkit on a cluster of 12 nodes where each node has 32 cores.
(1) I want to control the number of computation threads per node and hence, am using --ncpus=X where I vary X from 1 to 30. However, for all of my runs, there are exactly 77 processes being created on each of the 12 nodes. Is this the correct behavior? I was expecting that there will be some threads for communication/synchronization, but 77 is a lot?
(2) Here is what I notice: --ncpus=2 ---> 19.3 seconds --ncpus=4 ---> 70.9 seconds --ncpus=8 ---> does not complete in 10 minutes
Is this trend expected? Also, the outputs for --ncpus=2 and --ncpus=4 do not match: for example, vertex 0 is 0.345408 when --ncpus=2 and it is 0.256067 when --ncpus=4. This is surely incorrect; what am I doing wrong?
(3) Is there a way to determine whether my request for --ncpus was accepted or not (maybe some kind of verbose mode)? Currently, the output does not say anything related to ncpus parameter.
Command: mpirun -n 12 -ppn 1 -hostfile hostfile.txt ./pagerank --graph=graph-ip.txt --format=snap --saveprefix=output --ncpus=X
I have attached the output of a run (when --ncpus=2).