Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 765
jpd527 Avatar asked Sep 25 '13 20:09

jpd527


1 Answers

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.

like image 200
Dirk Eddelbuettel Avatar answered Sep 21 '22 22:09

Dirk Eddelbuettel