2022 IEEE/ACM 15th International Conference on Utility and Cloud Computing (UCC)
Download PDF

Abstract

Serverless computing promises to make cloud computing cheaper and easier to use. However, serverless platforms use coarse-grained scheduling which decreases efficiency and application performance. We propose a fine-grained application model for serverless applications, and use it to design a scheduler to improve application performance and efficiency. We model serverless applications as being composed of microtasks, each with its own unique resource requirements. Microtasks are easily identified via distinct application phases like initialize, read, and process. We provide evidence for the existence of microtasks by experimentally evaluating a serverless online game. We design a scheduler that separates microtasks with different CPU requirements into different queues so that the appropriate amount of CPU cores could be allocated to each queue based on the CPU requirements of the microtasks in that queue. We implement and evaluate the design in an application-level proofof-concept microtask-based scheduler and compare it to taskbased scheduling commonly used by serverless platforms. For a distributed sort application, the microtask-based scheduler decreases application makespan by 37% and the duration of I/O based application stages by 81%, compared to task-based scheduling. Our work suggests that there is potential in extracting and using microtask information from serverless applications.
Like what you’re reading?
Already a member?
Get this article FREE with a new membership!

Related Articles