Adapting the Serverless Platform for Emerging Application Patterns
Restricted (Penn State Only)
- Author:
- Bhasi, Vivek
- Graduate Program:
- Computer Science and Engineering
- Degree:
- Doctor of Philosophy
- Document Type:
- Dissertation
- Date of Defense:
- July 18, 2023
- Committee Members:
- Chitaranjan Das, Program Head/Chair
Chitaranjan Das, Chair & Dissertation Advisor
Mahmut Kandemir, Dissertation Co-Advisor
C Lee Giles, Outside Unit & Field Member
Jashwant Raj Gunasekaran, Special Member
John Sampson, Major Field Member - Keywords:
- Serverless Computing
Cloud Computing
Resource Management
Cost
SLO Compliance
QoS - Abstract:
- Cloud computing initially emerged with the promise of affording cloud users high performance computation, cost-efficiency, and elasticity. While these benefits have been largely realized, users continue to be burdened with managing a plethora of virtual resources, typically bearing multiple responsibilities such as autoscaling, providing redundancy, load balancing, VM migration etc. The long list of low-level system administration responsibilities inspired customers to ask for an easier path to the cloud for new applications (apps). Recognition of these needs led to major cloud providers introducing a new offering in the form of serverless computing, wherein users are tasked with only coding their app, typically in the form of Directed Acyclic Graphs (DAGs) of multiple serverless functions (coded in high-level languages). All administrative tasks such as instance selection for the function, autoscaling, fault tolerance etc. are taken care of by the provider. Serverless computing can be beneficial from the providers’ perspective as well, as it allows them to schedule jobs on under-utilized compute resources, thus improving overall system utilization. However, the current implementations of serverless often fall short of being optimized, in terms of performance, resource usage and possibly cost, for emerging apps on the platform. The objective of this dissertation is to address these issues by identifying various emerging application patterns on serverless platforms and proposing schemes to optimize their deployment. Towards this, the proposal investigates the following questions: (i) How can the serverless Resource Management (RM) framework be adapted to serve apps with dynamically varying, branching function DAGs so as to maintain performance (especially with regards to Service Level Objectives (SLOs) in terms of end-to-end latency targets) while reducing resource consumption? (ii) How can the RM framework be improved to best serve apps with user-provided inputs to achieve the objectives listed in (i)? (iii) How can emerging GPU architectures and existing cloud offerings such as transient VMs be exploited to enable an SLO-compliant and cost-efficient GPU-enabled serverless framework? The three tasks collectively advance the state of the art for serverless computing frameworks by enabling them to better cope with emerging use cases.