Distributed Transactions on Serverless Stateful Functions using Coordinator Functions

Master Thesis (2021)
Author(s)

M.J. de Heus (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Asterios Katsifodimos – Mentor (TU Delft - Web Information Systems)

Marios Fragkoulis – Graduation committee member (TU Delft - Web Information Systems)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2021 Martijn de Heus
More Info
expand_more
Publication Year
2021
Language
English
Copyright
© 2021 Martijn de Heus
Graduation Date
17-05-2021
Awarding Institution
Delft University of Technology
Programme
['Computer Science | Software Technology']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Lately, serverless computing has gained much attention. Function-as-a-Service (FaaS) is the most prominent serverless model. The FaaS model allows cloud users to write simple functions, and the cloud provider takes care of the deployment, main- tenance, and scalability of those functions. However, FaaS can be improved upon significantly. Existing FaaS services do not solve some significant and challenging cloud computing problems regarding state and communication, such as function- to-function calls and transactions. Work has been done to improve this early it- eration of serverless computing by incorporating state in the equation; leading to Stateful Function-as-a-Service (SFaaS). However, transactions on SFaaS remain an open problem, even though they are crucial to allow more use cases to operate using SFaaS. This thesis examines existing SFaaS systems and their data correctness guaran- tees. Based on existing SFaaS systems, this thesis proposes a programming model for both serializable transactions and sagas orchestrations using coordinator functions. The programming model is implemented in Apache Flink StateFun. The implemen- tation is based on existing research on traditional database technology. The implementation’s performance is evaluated using an enhanced version of the Yahoo! Cloud Systems Benchmark (YCSB); YCSB is extended to include a trans- actional operation. The implementation reaches 1840 sagas workflows per second and 1200 serializable transactions at sub-200ms latencies on 5 workers with 2 CPUs each.

Files

4367839_Martijn_de_Heus.pdf
(pdf | 3.68 Mb)
License info not available