future: Unified Parallel and Distributed Processing in R for Everyone
Version 1.5.0

The purpose of this package is to provide a lightweight and unified Future API for sequential and parallel processing of R expression via futures. The simplest way to evaluate an expression in parallel is to use `x %<-% { expression }` with `plan(multiprocess)`. This package implements sequential, multicore, multisession, and cluster futures. With these, R expressions can be evaluated on the local machine, on in parallel a set of local machines, or distributed on a mix of local and remote machines. Extensions to this package implements additional backends for processing futures via compute cluster schedulers etc. Because of its unified API, there is no need to modify code in order switch from sequential on the local machine to, say, distributed processing on a remote compute cluster. Another strength of this package is that global variables and functions are automatically identified and exported as needed, making it straightforward to tweak existing code to make use of futures.

Browse man pages Browse package API and functions Browse package files

AuthorHenrik Bengtsson [aut, cre, cph]
Date of publication2017-05-26 06:31:26 UTC
MaintainerHenrik Bengtsson <henrikb@braju.com>
LicenseLGPL (>= 2.1)
Version1.5.0
URL https://github.com/HenrikBengtsson/future
Package repositoryView on CRAN
InstallationInstall the latest version of this package by entering the following in R:
install.packages("future")

Man pages

as.cluster: Coerce an object to a cluster object
availableCores: Get number of available cores on current machine
availableWorkers: Get set of available workers
backtrace: Back trace the expressions evaluated before a condition was...
cluster: Create a cluster future whose value will be resolved...
ClusterFuture-class: A cluster future is a future whose value will be resolved...
ConstantFuture-class: A future with a constant value
future: Create a future
Future-class: A future represents a value that will be available at some...
FutureError: An error occurred while trying to evaluate a future
FutureGlobals: A representation of a set of globals used with futures
future_lapply: Apply a Function over a List or Vector via Futures
futureOf: Get the future of a future variable
future.options: Options used for futures
futures: Gets all futures in an object
getExpression: Inject code for the next type of future to use for nested...
getGlobalsAndPackages: Retrieves global variables of an expression and their...
grapes-globals-grapes: Specify globals for a future assignment
grapes-label-grapes: Specify label for a future assignment
grapes-lazy-grapes: Control lazy / eager evaluation for a future assignment
grapes-plan-grapes: Use a specific plan for a future assignment
grapes-seed-grapes: Set random seed for future assignment
grapes-tweak-grapes: Temporarily tweaks the arguments of the current strategy
makeClusterPSOCK: Create a cluster of R workers for parallel processing
mandelbrot: Mandelbrot convergence counts
multicore: Create a multicore future whose value will be resolved...
MulticoreFuture-class: An multicore future is a future whose value will be resolved...
multiprocess: Create a multiprocess future whose value will be resolved...
MultiprocessFuture-class: An multiprocess future is a future whose value will be...
multisession: Create a multisession future whose value will be resolved...
nbrOfWorkers: Gets the number of workers available
plan: Plan how to resolve a future
private_length: Gets the length of an object without dispatching
remote: Create a remote future whose value will be resolved...
requestCore: Request a core for multicore processing
resolve: Resolve one or more futures synchronously
resolved: Check whether a future is resolved or not
run: Run a future
sequential: Create a sequential future whose value will be in the current...
sessionDetails: Outputs details on the current R session
supportsMulticore: Check whether multicore processing is supported or not
tweak: Tweaks a future function by adjusting its default arguments
UniprocessFuture-class: An uniprocess future is a future whose value will be resolved...
usedCores: Get number of cores currently used
value: The value of a future
values: Gets all values in an object

Functions

.length Man page
ClusterFuture Man page Source code
ClusterFuture-class Man page
ConstantFuture Man page Source code
ConstantFuture-class Man page
EagerFuture Man page Source code
Future Man page Source code
Future-class Man page
FutureError Man page Source code
FutureGlobals Man page Source code
LazyFuture Man page Source code
MulticoreFuture Man page Source code
MulticoreFuture-class Man page
MultiprocessFuture Man page Source code
MultiprocessFuture-class Man page
MultisessionFuture Man page Source code
MultisessionFuture-class Man page
R_FUTURE_CORES Man page
R_FUTURE_PLAN Man page
SequentialFuture Man page Source code
UniprocessFuture Man page Source code
UniprocessFuture-class Man page
[.FutureGlobals Man page
\%->\% Man page
\%<-\% Man page
\%<=\% Man page
\%=>\% Man page
\%globals\% Man page
\%label\% Man page
\%lazy\% Man page
\%plan\% Man page
\%seed\% Man page
\%tweak\% Man page
add_cluster_session_info Source code
add_cluster_uuid Source code
apply_fallback Source code
as.FutureGlobals Man page Source code
as.FutureGlobals.FutureGlobals Man page Source code
as.FutureGlobals.Globals Man page Source code
as.FutureGlobals.list Man page Source code
as.cluster Man page Source code
as.cluster.SOCK0node Man page
as.cluster.SOCKnode Man page Source code
as.cluster.cluster Man page Source code
as.cluster.list Man page Source code
as.raster.Mandelbrot Man page Source code
asIEC Source code
as_lecyer_cmrg_seed Source code
assertOwner Source code
availableCores Man page Source code
availableWorkers Man page Source code
backtrace Man page Source code
c.FutureGlobals Man page Source code
c.cluster Man page Source code
check_connection_uuid Source code
cluster Man page Source code
constant Source code
eager Man page Source code
expand_nodes Source code
find_rshcmd Source code
future Man page Source code
future.availableCores.methods Man page
future.cmdargs Man page
future.cores Man page
future.debug Man page
future.demo.mandelbrot.nrow Man page
future.demo.mandelbrot.region Man page
future.globals.maxSize Man page
future.globals.method Man page
future.globals.onMissing Man page
future.globals.resolve Man page
future.options Man page
future.plan Man page
future.progress Man page
future.resolve.recursive Man page
future.startup.script Man page
future.wait.alpha Man page
future.wait.interval Man page
future.wait.times Man page
futureAssign Man page Source code
futureAssignInternal Source code
futureCall Man page Man page Source code
futureOf Man page Source code
future_lapply Man page Source code
futures Man page Source code
futures.environment Source code
futures.list Source code
futures.listenv Source code
getExpression Man page Source code
getExpression.Future Man page Source code
getExpression.MulticoreFuture Source code
getExpression.MultisessionFuture Source code
getGlobalsAndPackages Man page Source code
getOutput Man page Source code
getOutput.FutureError Source code
get_future Source code
get_random_seed Source code
globals Source code
globals.Future Source code
globals.UniprocessFuture Source code
hexpr Source code
hpaste Source code
is_fqdn Source code
is_ip_number Source code
is_lecyer_cmrg_seed Source code
is_valid_random_seed Source code
lazy Man page Source code
length Source code
makeCluster Source code
makeClusterPSOCK Man page Source code
makeExpression Source code
makeNodePSOCK Man page Source code
mandelbrot Man page Source code
mandelbrot.matrix Source code
mandelbrot.numeric Source code
mandelbrot_tiles Man page Source code
mdebug Source code
multicore Man page Source code
multiprocess Man page Source code
multisession Man page Source code
nbrOfWorkers Man page Source code
nbrOfWorkers.NULL Source code
nbrOfWorkers.cluster Source code
nbrOfWorkers.future Source code
nbrOfWorkers.multiprocess Source code
nbrOfWorkers.uniprocess Source code
next_random_seed Source code
objectSize Source code
onAttach Source code
onLoad Source code
packages Source code
packages.Future Source code
parseCmdArgs Source code
plan Man page
plot.Mandelbrot Man page Source code
print.Future Source code
print.FutureError Source code
print.FutureStrategyList Source code
print.future Source code
print.sessionDetails Source code
read_pbs_nodefile Source code
read_pe_hostfile Source code
remote Man page Source code
requestCore Man page Source code
requestNode Source code
resolve Man page Source code
resolve.Future Source code
resolve.FutureGlobals Source code
resolve.default Source code
resolve.environment Source code
resolve.list Source code
resolve.listenv Source code
resolved Man page Source code
resolved.ClusterFuture Source code
resolved.Future Source code
resolved.FutureGlobals Source code
resolved.MulticoreFuture Source code
resolved.UniprocessFuture Source code
resolved.default Man page Source code
resolved.environment Source code
resolved.list Source code
run Man page Source code
run.ClusterFuture Source code
run.Future Man page Source code
run.MulticoreFuture Source code
run.UniprocessFuture Source code
sequential Man page Source code
sessionDetails Man page Source code
session_info Source code
set_random_seed Source code
signalEarly Source code
supportedStrategies Source code
supportsMulticore Man page
transparent Man page Source code
trim Source code
tweak Man page Source code
tweak.character Source code
tweak.future Source code
tweakExpression Source code
tweakFormulaCall Source code
tweakFutureAssignmentCall Source code
tweakSubassignmentCall Source code
uniprocess Man page
unique.FutureGlobals Man page Source code
usedCores Man page Source code
uuid Source code
uuid_of_connection Source code
value Man page Source code
value.ClusterFuture Source code
value.Future Man page Source code
value.MulticoreFuture Source code
values Man page Source code
values.Future Source code
values.environment Source code
values.list Source code
values.listenv Source code
whichIndex Source code

Files

inst
inst/vignettes-static
inst/vignettes-static/incl
inst/vignettes-static/incl/future-1-overview-example3.R
inst/vignettes-static/incl/future-1-overview-example2.R
inst/doc
inst/doc/future-4-startup.html
inst/doc/future-3-topologies.html
inst/doc/future-2-issues.md.rsp
inst/doc/future-2-issues.html
inst/doc/future-3-topologies.md.rsp
inst/doc/future-1-overview.html
inst/doc/future-4-startup.md.rsp
tests
tests/as.cluster.R
tests/DEPRECATED.lazy.R
tests/futures.R
tests/utils.R
tests/globals,manual.R
tests/future,labels.R
tests/mandelbrot.R
tests/rng.R
tests/000.sessionDetails.R
tests/objectSize.R
tests/nested_futures.R
tests/resolve.R
tests/multicore.R
tests/whichIndex.R
tests/DEPRECATED.eager.R
tests/futureAssign.R
tests/sequential.R
tests/sessionDetails.R
tests/early-signaling.R
tests/constant.R
tests/globals,NSE.R
tests/globals,subassignment.R
tests/dotdotdot.R
tests/transparent.R
tests/globals,toolarge.R
tests/backtrace.R
tests/remote.R
tests/globals,resolve.R
tests/Future-class.R
tests/future_lapply,globals.R
tests/nbrOfWorkers.R
tests/future.R
tests/requestNode.R
tests/tweak.R
tests/multiprocess.R
tests/globals,tricky_recursive.R
tests/futureOf_with_environment.R
tests/availableWorkers.R
tests/startup.R
tests/availableCores.R
tests/FutureRegistry.R
tests/deprecated.R
tests/incl
tests/incl/start,load-only.R
tests/incl/end.R
tests/incl/start.R
tests/globalsOf,tweaks.R
tests/cluster.R
tests/futureAssign_OP_with_listenv.R
tests/FutureError.R
tests/demo.R
tests/globals,tricky.R
tests/requestCore.R
tests/FutureGlobals.R
tests/futureCall.R
tests/nested_futures,mc.cores.R
tests/ClusterRegistry.R
tests/globals,formulas.R
tests/multisession.R
tests/uuid.R
tests/future_lapply,RNG.R
tests/future_lapply.R
tests/futureOf_with_listenv.R
tests/futureAssign_OP_with_environment.R
tests/makeClusterPSOCK.R
tests/plan.R
tests/futureOf.R
tests/invalid-owner.R
tests/futureAssign_OP.R
NAMESPACE
demo
demo/fibonacci.R
demo/mandelbrot.R
demo/00Index
NEWS
R
R/as.cluster.R
R/seed_OP.R
R/futures.R
R/utils.R
R/mandelbrot.R
R/zzz.plan.R
R/ClusterFuture-class.R
R/values.R
R/resolved.R
R/resolve.R
R/multicore.R
R/signalEarly.R
R/FutureGlobals-class.R
R/whichIndex.R
R/DEPRECATED.R
R/futureAssign.R
R/sequential.R
R/sessionDetails.R
R/MultiprocessFuture-class.R
R/constant.R
R/globals.R
R/backtrace.R
R/remote.R
R/Future-class.R
R/nbrOfWorkers.R
R/future.R
R/globals_OP.R
R/tweak.R
R/tweakExpression.R
R/multiprocess.R
R/options.R
R/availableWorkers.R
R/availableCores.R
R/FutureRegistry.R
R/cluster.R
R/FutureError-class.R
R/lazy_OP.R
R/UniprocessFuture-class.R
R/ConstantFuture-class.R
R/MulticoreFuture-class.R
R/futureCall.R
R/ClusterRegistry.R
R/label_OP.R
R/multisession.R
R/future_lapply.R
R/plan_OP.R
R/makeClusterPSOCK.R
R/zzz.R
R/tweak_OP.R
R/futureOf.R
R/MultisessionFuture-class.R
R/futureAssign_OP.R
vignettes
vignettes/future-2-issues.md.rsp
vignettes/future-3-topologies.md.rsp
vignettes/future-4-startup.md.rsp
MD5
build
build/vignette.rds
DESCRIPTION
man
man/ClusterFuture-class.Rd
man/value.Rd
man/grapes-lazy-grapes.Rd
man/sequential.Rd
man/run.Rd
man/getExpression.Rd
man/private_length.Rd
man/sessionDetails.Rd
man/usedCores.Rd
man/resolved.Rd
man/MulticoreFuture-class.Rd
man/multisession.Rd
man/backtrace.Rd
man/values.Rd
man/cluster.Rd
man/multiprocess.Rd
man/remote.Rd
man/futureOf.Rd
man/getGlobalsAndPackages.Rd
man/FutureGlobals.Rd
man/as.cluster.Rd
man/plan.Rd
man/multicore.Rd
man/grapes-tweak-grapes.Rd
man/MultiprocessFuture-class.Rd
man/futures.Rd
man/grapes-globals-grapes.Rd
man/availableCores.Rd
man/requestCore.Rd
man/makeClusterPSOCK.Rd
man/ConstantFuture-class.Rd
man/FutureError.Rd
man/tweak.Rd
man/Future-class.Rd
man/resolve.Rd
man/nbrOfWorkers.Rd
man/future_lapply.Rd
man/grapes-seed-grapes.Rd
man/availableWorkers.Rd
man/future.options.Rd
man/future.Rd
man/mandelbrot.Rd
man/grapes-plan-grapes.Rd
man/supportsMulticore.Rd
man/UniprocessFuture-class.Rd
man/grapes-label-grapes.Rd
future documentation built on May 26, 2017, 9:03 a.m.