A Simplified Interface for Running Commands on Parallel Processes.
mcparallelDo
wraps mcparallel() and mccollect() from
‘parallel’ with temporary variables and a task handler. Wrapped in this
way the results of an mcparallel() call can be returned to the R session
when the fork is complete without explicitly issuing a specific
mccollect() to retrieve the value. Outside of top-level tasks, multiple
mcparallel() jobs can be retrieved with a single call to
mcparallelDoCheck(). A
warning, like a regular fork these functions do not currently
return warnings, only errors.
NOTE: Given that Windows does not support
parallalism through forks, the R base functions mcparallel
and mccollect
do not work. Therefore, although
mcparallelDo
will work on windows and pass through commands
to be evaluated, it has no meaningful effect on Windows.
NOTE2: The package future appears to
contain much of the functionality of mcparallelDo
and more.
Consider using it before using package:mcparallelDo
if all
you want to do is defer the execution of code. If you want an automatic
notification when the code you are running is complete, then consider
using package:mcparallelDo
.
In an interactive session one may be blocked in performing additional
work by waiting for a model fit. It is cumbersome to launch an
mcparallel
fork to perform the work and the manually
collect the result via mccollect
. Specfically, one is left
uncertain about when the work might be completed, requiring either some
blocking due to the use of wait = TRUE
or some inconvience
by repeatedly running mccollect every now and again to see if the
computation has finished.
The package should install from source like any other R package.
The package works well, is used in production, and has been on CRAN continuously since 2015-12-09. All issues related to desirable additional functionality. Pull requests, bug reports, and other contributions are welcome.
Russell S. Pierce
GPL (>= 2)