Skip to contents

Designed for simplicity, a 'mirai' evaluates an R expression asynchronously in a parallel process, on the local machine or distributed over the network, with the result automatically available upon completion. Modern networking and concurrency built on 'nanonext' and 'NNG' (Nanomsg Next Gen) ensures reliable and efficient scheduling, over fast inter-process communications or TCP/IP secured by TLS. Advantages include being inherently queued, allowing the sending of many more tasks than available processes, no arbitrary connection limits, no storage on the file system, support for otherwise non-exportable reference objects, an event-driven 'promises' implementation, and very low overhead. Incorporates asynchronous parallel map functionality.

Notes

For local mirai requests, the default transport for inter-process communications is platform-dependent: abstract Unix domain sockets on Linux, Unix domain sockets on MacOS, Solaris and other POSIX platforms, and named pipes on Windows.

This may be overriden, if desired, by specifying 'url' in the daemons interface and launching daemons using launch_local.

Author

Charlie Gao charlie.gao@shikokuchuo.net (ORCID)