A Unifying Framework for Parallel and Distributed Processing in R using Futures

08/02/2020
by   Henrik Bengtsson, et al.
0

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 backends, are automatically supported. The future framework solves several problems not addressed by other parallel frameworks in R.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/05/2020

Multicloud API binding generation from documentation

We present industry experience from implementing retargetable cloud API ...
research
04/19/2022

Plots.jl – a user extendable plotting API for the julia programming language

There are plenty of excellent plotting libraries. Each excels at a diffe...
research
10/08/2018

POLO: a POLicy-based Optimization library

We present POLO --- a C++ library for large-scale parallel optimization ...
research
07/20/2020

An OpenMP translator for the GAP8 MPSoC

One of the barriers to the adoption of parallel computing is the inheren...
research
09/25/2021

AbstractDifferentiation.jl: Backend-Agnostic Differentiable Programming in Julia

No single Automatic Differentiation (AD) system is the optimal choice fo...
research
05/03/2023

GPTutor: a ChatGPT-powered programming tool for code explanation

Learning new programming skills requires tailored guidance. With the eme...
research
07/13/2017

Parcels v0.9: prototyping a Lagrangian Ocean Analysis framework for the petascale age

As Ocean General Circulation Models (OGCMs) move into the petascale age,...

Please sign up or login with your details

Forgot password? Click here to reset