If you do parallel processing in R on Windows, then you probably have heard of the doSMP package. However, it was recently removed from the CRAN repository with the terse message:
Package ‘doSMP’ was removed from the CRAN repository.
Revolution Analytics develops the doSMP package and promptly sent me this explanation:
The doSMP package relies on the revoIPC package, which is basically a set of wrappers for the boost interprocess library. Those wrappers have had trouble compiling under recent versions of g++ and with more recent incarnations of boost, so they need a rewrite. We hope to get to it very soon, and get both revoIPC and doSMP back on CRAN. I’m guessing it’s more likely to come with R 2.14.2 or maybe 2.15.0.
As an open source developer, I’ve had to deal with these kinds of dependency issues too, so I understand how they can be a surprise. But it’s too bad there is not an easy way to install old versions of CRAN packages.
R 2.14.2 is due at the end of the month, but my project is due now. So I found that doSNOW (also by Revolution Analytics) works just as well on Windows, and doMC continues to work on Linux. Here is a simple way to start doSNOW on a single machine with 4 CPUs:
require(doSNOW) registerDoSNOW(makeCluster(4, type = "SOCK")) getDoParWorkers() getDoParName() getDoParVersion()
You can use doSNOW (or doMC) with foreach(), caret::train(), and other R functions designed for high-performance, parallel processing.
Thank you to Revolution Analytics for contributing to the open source R project!