Description Usage Arguments Details Value Examples
A cluster future is a future that uses cluster evaluation, which means that its value is computed and resolved in parallel in another process.
1 | cluster(..., workers = availableWorkers(), envir = parent.frame())
|
... |
Additional named elements passed to |
workers |
A |
envir |
The environment from where global objects should be identified. |
This function will block if all available R cluster nodes are occupied and will be unblocked as soon as one of the already running cluster futures is resolved.
The preferred way to create an cluster future is not to call
this function directly, but to register it via
plan(cluster)
such that it becomes the default
mechanism for all futures. After this future()
and %<-%
will create cluster futures.
A ClusterFuture.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ## Use cluster futures
cl <- parallel::makeCluster(2, timeout = 60)
plan(cluster, workers = cl)
## A global variable
a <- 0
## Create future (explicitly)
f <- future({
b <- 3
c <- 2
a * b * c
})
## A cluster future is evaluated in a separate process.
## Regardless, changing the value of a global variable will
## not affect the result of the future.
a <- 7
print(a)
v <- value(f)
print(v)
stopifnot(v == 0)
## CLEANUP
parallel::stopCluster(cl)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.