Description Usage Arguments Details Value Note Author(s) References See Also Examples
The doRedis package supplies a simple and lightweight
parallel back end for the foreach %dopar%
function.
1 | registerDoRedis(queue, host = "localhost", port = 6379, password=NULL)
|
queue |
A (character) work queue name. |
host |
The Redis server host or (character) I. P. address. |
port |
The Redis server port number. |
password |
The Redis server password. |
The doRedis package imlpements a simple but flexible parallel back end for foreach that uses Redis for inter-process communication. The work queue name specifies the base name of a small set of Redis keys that the master and worker processes use to exchange data.
Back-end worker R processes advertise their availablility for work
with the redisWorker
function.
The doRedis parallel back end tolerates faults among the worker processes and automatically resubmits failed tasks. It is also portable and supports heterogeneous sets of workers, even across operative systems. The back end supports dynamic pools of worker processes. New workers may be added to work queues at any time and can be immediately used by in-flight foreach computations.
Nothing is returned.
All doRedis functions require network access to a Redis server (not included with the doRedis package).
B. W. Lewis <blewis@illposed.net>
http://cran.r-project.org/web/packages/foreach/index.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ## Not run:
## The example assumes that a Redis server is running on the local host
## and standard port.
## 1. Open one or more 'worker' R sessions and run:
require('doRedis')
redisWorker('jobs')
## 2. Open another R session acting as a 'master' and run this simple
## sampling approximation of pi:
require('doRedis')
registerDoRedis('jobs')
foreach(j=1:10,.combine=sum,.multicombine=TRUE) %dopar%
4*sum((runif(1000000)^2 + runif(1000000)^2)<1)/10000000
removeQueue('jobs')
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.