Ripple: A Practical Declarative Programming Framework for Serverless Compute

01/01/2020
by   Shannon Joyner, et al.
0

Serverless computing has emerged as a promising alternative to infrastructure- (IaaS) and platform-as-a-service (PaaS)cloud platforms for applications with ample parallelism and intermittent activity. Serverless promises greater resource elasticity, significant cost savings, and simplified application deployment. All major cloud providers, including Amazon, Google, and Microsoft, have introduced serverless to their public cloud offerings. For serverless to reach its potential, there is a pressing need for programming frameworks that abstract the deployment complexity away from the user. This includes simplifying the process of writing applications for serverless environments, automating task and data partitioning, and handling scheduling and fault tolerance. We present Ripple, a programming framework designed to specifically take applications written for single-machine execution and allow them to take advantage of the task parallelism of serverless. Ripple exposes a simple interface that users can leverage to express the high-level dataflow of a wide spectrum of applications, including machine learning (ML) analytics, genomics, and proteomics. Ripple also automates resource provisioning, meeting user-defined QoS targets, and handles fault tolerance by eagerly detecting straggler tasks. We port Ripple over AWS Lambda and show that, across a set of diverse applications, it provides an expressive and generalizable programming framework that simplifies running data-parallel applications on serverless, and can improve performance by up to 80x compared to IaaS/PaaS clouds for similar costs.

READ FULL TEXT
research
03/30/2020

Provisioning Spot Instances Without Employing Fault-Tolerance Mechanisms

Cloud computing offers a variable-cost payment scheme that allows cloud ...
research
08/17/2023

Multi-FedLS: a Framework for Cross-Silo Federated Learning Applications on Multi-Cloud Environments

Federated Learning (FL) is a distributed Machine Learning (ML) technique...
research
07/15/2022

mAPN: Modeling, Analysis, and Exploration of Algorithmic and Parallelism Adaptivity

Using parallel embedded systems these days is increasing. They are getti...
research
05/04/2022

SMLT: A Serverless Framework for Scalable and Adaptive Machine Learning Design and Training

In today's production machine learning (ML) systems, models are continuo...
research
06/05/2020

FaaSdom: A Benchmark Suite for Serverless Computing

Serverless computing has become a major trend among cloud providers. Wit...
research
02/15/2019

Formal Foundations of Serverless Computing

A robust, large-scale web service can be difficult to engineer. When dem...
research
09/08/2019

Performance considerations on execution of large scale workflow applications on cloud functions

Function-as-a-Service is a novel type of cloud service used for creating...

Please sign up or login with your details

Forgot password? Click here to reset