DCJan 6, 2022
SMSE: A Serverless Platform for Multimedia Cloud SystemsChavit Denninnart, Mohsen Amini Salehi
Along with the rise of domain-specific computing (ASICs hardware) and domain-specific programming languages, we envision that the next step is the emergence of domain-specific cloud platforms. Developing such platforms for popular applications in the serverless manner, not only can offer a higher efficiency to both users and providers, it can also expedite the application development cycles and enable users to become solution-oriented and focus on their specific business logic. Considering multimedia streaming as one of the most trendy applications in the IT industry, the goal of this study is to develop SMSE, the first domain-specific serverless platform for multimedia streaming. SMSE democratizes multimedia service development via enabling content providers (or even end-users) to rapidly develop their desired functionalities on their multimedia contents. Upon developing SMSE, the next goal of this study is to deal with its efficiency challenges and develop a function container provisioning method that can efficiently utilize cloud resources and improve the users' QoS. In particular, we develop a dynamic method that provisions durable or ephemeral containers depending on the spatiotemporal and data-dependency characteristics of the functions. Evaluating the prototype implementation of SMSE under real-world settings demonstrates its capability to reduce both the containerization overhead, and the makespan time of serving multimedia processing functions (by up to 30%) in compare to the function provision methods that are being used in the general-purpose serverless cloud systems.
DCApr 9, 2021
Harnessing the Potential of Function-Reuse in Multimedia Cloud SystemsChavit Denninnart, Mohsen Amini Salehi
Cloud-based computing systems can get oversubscribed due to the budget constraints of their users or limitations in certain resource types. The oversubscription can, in turn, degrade the users perceived Quality of Service (QoS). The approach we investigate to mitigate both the oversubscription and the incurred cost is based on smart reusing of the computation needed to process the service requests (i.e., tasks). We propose a reusing paradigm for the tasks that are waiting for execution. This paradigm can be particularly impactful in serverless platforms where multiple users can request similar services simultaneously. Our motivation is a multimedia streaming engine that processes the media segments in an on-demand manner. We propose a mechanism to identify various types of "mergeable" tasks and aggregate them to improve the QoS and mitigate the incurred cost. We develop novel approaches to determine when and how to perform task aggregation such that the QoS of other tasks is not affected. Evaluation results show that the proposed mechanism can improve the QoS by significantly reducing the percentage of tasks missing their deadlines %. In addition, it can and reduce the overall time (and subsequently the incurred cost) of utilizing cloud services by more than 9%.
DCDec 10, 2020
Descriptive and Predictive Analysis of Aggregating Functions in Serverless Clouds: the Case of Video StreamingShangrui Wu, Chavit Denninnart, Xiangbo Li et al.
Serverless clouds allocate multiple tasks (e.g., micro-services) from multiple users on a shared pool of computing resources. This enables serverless cloud providers to reduce their resource usage by transparently aggregate similar tasks of a certain context (e.g., video processing) that share the whole or part of their computation. To this end, it is crucial to know the amount of time-saving achieved by aggregating the tasks. Lack of such knowledge can lead to uninformed merging and scheduling decisions that, in turn, can cause deadline violation of either the merged tasks or other following tasks. Accordingly, in this paper, we study the problem of estimating execution-time saving resulted from merging tasks with the example in the context of video processing. To learn the execution-time saving in different forms of merging, we first establish a set of benchmarking videos and examine a wide variety of video processing tasks -- with and without merging in place. We observed that although merging can save up to 44% in the execution-time, the number of possible merging cases is intractable. Hence, in the second part, we leverage the benchmarking results and develop a method based on Gradient Boosting Decision Tree (GBDT) to estimate the time-saving for any given task merging case. Experimental results show that the method can estimate the time-saving with the error rate of 0.04, measured based on Root Mean Square Error (RMSE).
DCNov 23, 2020
Cost- and QoS-Efficient Serverless Cloud ComputingChavit Denninnart
Cloud-based serverless computing systems, either public or privately provisioned, aim to provide the illusion of infinite resources and abstract users from details of the allocation decisions. With the goal of providing a low cost and a high QoS, the serverless computing paradigm offers opportunities that can be harnessed to attain the goals. Specifically, our strategy in this dissertation is to avoid redundant computing, in cases where independent task requests are similar to each other and for tasks that are pointless to process. We explore two main approaches to (A) reuse part of computation needed to process the services and (B) proactively pruning tasks with a low chance of success to improve the overall QoS of the system. For the first approach, we propose a mechanism to identify various types of "mergeable" tasks, which can benefit from computational reuse if they are executed together as a group. To evaluate the task merging configurations extensively, we quantify the resource-saving magnitude and then leveraging the experimental data to create a resource-saving predictor. We investigate multiple tasks merging approaches that suit different workload scenarios to determine when it is appropriate to aggregate tasks and how to allocate them so that the QoS of other tasks is minimally affected. For the second approach, we developed the mechanisms to skip tasks whose chance of completing on time is not worth pursuing by drop or defer them. We determined the minimum chance of success thresholds for tasks to pass to get scheduled and executed. We dynamically adjust such thresholds based on multiple characteristics of the arriving workload and the system's conditions. We employed approximate computing to reduce the pruning mechanism's computational overheads and ensure that the mechanism can be used practically.