Designed for simplicity, a 'mirai' evaluates an R expression asynchronously, locally or distributed over the network. Built on 'nanonext' and 'NNG' for modern networking and concurrency, scales efficiently to millions of tasks over thousands of persistent parallel processes. Provides optimal scheduling over fast 'IPC', TCP, and TLS connections, integrating with SSH or cluster managers. Implements event-driven promises for reactive programming, and supports custom serialization for cross-language data types.
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().
mirai provides comprehensive OpenTelemetry tracing support for observing
asynchronous operations and distributed computation. Please refer to the
OpenTelemetry vignette for further details:
vignette("v05-opentelemetry", package = "mirai")
Maintainer: Charlie Gao charlie.gao@posit.co (ORCID)
Other contributors:
Joe Cheng joe@posit.co [contributor]
Posit Software, PBC (ROR) [copyright holder, funder]
Hibiki AI Limited [copyright holder]
Useful links: