Diploma and Master Theses (authored and supervised):
"Optimized Container Scheduling for Serverless Edge Computing";
Supervisor: S. Dustdar, T. Rausch;
Institute of Information Systems Engineering, Distributed Systems Group,
final examination: 2020-01-20.
Edge computing is a new paradigm which enables heterogeneous computing and storage resources located at the network edge, in close proximity to the actual data producers like sensors and mobile devices. Due to their heterogeneous nature, edge computing environments are suffering from high complexity. However, this complexity can be decreased by leveraging serverless computing, a new cloud computing execution model in which the infrastructure components are entirely transparent to the application developer. Additionally, the event-centric nature of the Internet of Things - which will be one of the main application fields of edge computing - fits perfectly to the event-driven nature of Function-as-a-Service, a specific implementation of serverless computing.
Most Function-as-a-Service platforms are utilizing container-based virtualization. In order to integrate and manage containers at scale in a cluster, multiple container orchestration platforms have been introduced, with Kubernetes becoming the de-facto standard. While
the Kubernetes scheduler is flexible, it is based on the basic assumption that the cluster infrastructure is highly homogeneous.
This thesis describes the design, implementation, and evaluation of an integrated, latency-, and capability-aware scheduler for running a Function-as-a-Service platform in a mixed cloud-edge computing environment. We introduce the Skippy scheduler, which extends the default Kubernetes scheduler with domain-specific priority functions in order to increase the placement quality for functions in mixed cloud-edge clusters. Those domainspecific priority functions are utilizing additional metadata of the functions as well as of the nodes in the cluster. In order to automate the gathering of this metadata of nodes, the Skippy daemon is introduced. Since the configuration of the individual weights of the priority functions isnīt trivial, we implement an optimization approach.
Our results show that our scheduler outperforms the default Kubernetes scheduler on average across all tested scenarios. Furthermore, the optimization additionally increases its placement quality significantly. Compared to the default Kubernetes scheduler, our
optimized scheduler decreases the bandwidth usage by 67.52%, decreases the cost by 100%, increases the edge device resource utilization by 245.37%, and decreases the task execution time by 71.18% on average across all tested scenarios.
Created from the Publication Database of the Vienna University of Technology.