Difference between "SOCK", "PVM", "MPI", and "NWS" for the R SNOW package
Asked Answered
C

1

11

The makeCluster function for the SNOW package has the different cluster types of "SOCK", "PVM", "MPI", and "NWS" but I'm not very clear on the differences among them, and more specifically which would be best for my program.

Currently I have a queue of tasks of different length going into a load balancing cluster with clusterApplyLB and am using a 64bit 32-core Windows machine.

I am looking for a brief description of the differences among the four cluster types, which would be best for my use and why.

Carolus answered 25/9, 2013 at 20:13 Comment(4)
+1 What solution did you choose in the end? I have the same problem.Hohenlinden
I went with the default MPI. It (and PVM which is the "backup default") let you simply specify an integer for the number of slave nodes.Carolus
So you had to install some MPI on worker nodes? Which one did you choose? I am asking because I have to solve similar problem - I would be grateful if you could post your experience as an answer there!Hohenlinden
Oh, I was only dealing with a single 32 core machine, no networking involved for the worker nodes. I'll post a link that may help though.Carolus
G
5

Welcome to parallel programming. You may want to peruse the vignette of the excellent parallel package that comes with R as it gives a general introduction. It also gives you an idea of what you can or cannot do on Windows -- in short, PVM and MPI are standard parallel programming approaches supported by namesake libraries. These exists on Windows, but are less frequently used and often not as mature as their Unix counterparts.

If you want to stick with snow, your options are essentially limited to SOCK types clusters. Again, the package documentation will have pointers.

Gillian answered 25/9, 2013 at 20:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.