TL;DR
This paper introduces a unifying framework in R for parallel and distributed processing using the Future API, enabling flexible, high-level, and backend-agnostic parallel computation with robust features.
Contribution
It presents a minimal, extensible API for parallel processing in R that supports multiple backends and addresses limitations of existing frameworks.
Findings
Supports exception handling and parallel random number generation
Ensures code compatibility across various backends
Simplifies parallel programming for R users
Abstract
A future is a programming construct designed for concurrent and asynchronous evaluation of code, making it particularly useful for parallel processing. The future package implements the Future API for programming with futures in R. This minimal API provides sufficient constructs for implementing parallel versions of well-established, high-level map-reduce APIs. The future ecosystem supports exception handling, output and condition relaying, parallel random number generation, and automatic identification of globals lowering the threshold to parallelize code. The Future API bridges parallel frontends with parallel backends following the philosophy that end-users are the ones who choose the parallel backend while the developer focuses on what to parallelize. A variety of backends exist and third-party contributions meeting the specifications, which ensure that the same code works on all…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
