Repository logo
 

BriskChain: Towards High-Performance Serverless Computing with Decentralized Function Composition

Date

Supervisor

Lai, Edmund M-K
Ma, Jing

Item type

Thesis

Degree name

Master of Computer and Information Sciences

Journal Title

Journal ISSN

Volume Title

Publisher

Auckland University of Technology

Abstract

Serverless computing (FaaS) is a promising cloud software development paradigm that consists primarily of serverless functions. Multiple serverless functions can be composited together as a workflow (function composition) to accomplish more complex tasks. As the serverless application grows, the serverless workflow becomes more and more important. However, many specificities of serverless functions are not considered by current workflow engines, which results in poor performance of workflows in scheduling serverless functions. This thesis studied performance issues of serverless workflow and the corresponding performance improvement strategies and proposed a decentralized worker-side pattern for high-performance serverless workflows. Critical performance issues and associated performance improvement strategies for serverless workflows are investigated in detail. Firstly, due to the containerized isolation of each serverless function and the zero scaling capability of FaaS, serverless workflow suffers from a long cold start by the function’s first run. Currently, warm-up strategies for standalone serverless functions are common, but performance optimizations for function warm-up in serverless workflows are lacking. The running paths of static workflows are predetermined in advance, so serverless function tasks in the workflow that can be warmed up are recommended according to the predefined workflow paths. Secondly, every serverless function is distributed in the cloud, and even functions within the same workflow interact across hosts. However, the functions of the same workflow are logically related to each other, and they interact with each other one by one. As a result, a close-locality strategy was proposed that enables local communication between functions of the same workflow. Thirdly, current workflow engines are master-side patterns, relying on a central controller to schedule serverless functions. However, in this pattern, each workflow function requires frequent remote interaction with its master resulting in performance degradation. Therefore, a decentralized worker model is proposed, where each workflow function can schedule itself from the current workflow node to the next workflow node without interacting with the master controller. Based on the existing performance strategies, a new high-performance serverless workflow framework BriskChain is designed. BriskChain treats a serverless workflow as a whole unit the same as an independent serverless function. Therefore, workflows and functions can work together in the BriskChain system, and the performance of the workflow as a whole is optimized rather than focusing on the performance of individual serverless functions like other systems. Additionally, BriskChain orchestrates serverless functions based on workflow logic. For example, schedule functions of the same workflow on the same host to avoid remote communication, or pre-warm serverless functions based on the workflow logic to avoid long cold-start issues. Moreover, BriskChain introduces an innovative worker-side pattern, a decentralized approach that allows each serverless function to schedule itself without a central controller. BriskChain shows a high-performance result based on our evaluation. There are different synthetic micro-workflows and real-world application benchmarks with de- tailed comparative analysis of the overhead of BriskChain, OpenWhisk and Apache OpenWhisk Composer (Composer). Our experimental results show that BriskChain has 70% less overhead than its competitors when using sequential and branching DAG forms, and 50% to 70% less overhead than its competitors when using parallel DAG forms. Also, when the payload increases, the BriskChain overhead increases mod- estly compared to other workflow engines. In the real-world application experiments, BriskChain used only 30% to 40% of the total overhead of its competitors.

Description

Keywords

Source

DOI

Publisher's version

Rights statement

Collections