چكيده به لاتين
Serverless computing (or Function as a service) has emerged as a new cloud computing paradigm, wherein an application consists of individual functions that can be separately managed and executed. In serverless computing, the cloud provider takes the responsibility of managing servers and system resources and completely hides server management from tenants. A function usually executes in a dedicated function instance (like a container) with restricted resources. Serverless platforms must ensure the scalability and elasticity of users’ functions, which includes proactively provisioning resources in response to load, and anticipation of the future load. However, this is a more challenging problem in serverless platforms because these predictions and provisioning decisions and scheduling must be made with little or no application-level knowledge. Work in this area has focused on load balancing, and there is no effort on the scheduling of each node to improve system efficiency. In this dissertation, we propose a scheduling method, called ETAS, for each worker node of the serverless platforms to increase the efficiency of the overall system by increasing the efficiency of each node. ETAS first predicts the execution times of functions based on previous executions and schedules them at each nodes using the predicted execution times. The ETAS scheduling method is implemented and evaluated on the Apache OpenWhisk platform. The results show that ETAS increases response time by 20 percent, throughput by 15 percent, and resource utilization by 0.5 to 1 percent compared to the OpenWhisk scheduling method.