Beyond load balancing: Package-aware scheduling for serverless platforms


Abstract:

Fast deployment and execution of cloud functions in Function-as-a-Service (FaaS) platforms is critical, for example, for microservices architectures. However, functions that require large packages or libraries are bloated and start slowly. An optimization is to cache packages at the worker nodes instead of bundling them with the functions. However, existing FaaS schedulers are vanilla load balancers, agnostic of packages cached in response to prior function executions, and cannot properly reap the benefits of package caching. We study the case of package-aware scheduling and propose PASch, a novel scheduling algorithm that seeks package affinity during scheduling so that worker nodes can re-use execution environments with preloaded packages. PASch leverages consistent hashing and the power of 2 choices, while actively avoiding worker overload. We implement PASch in a new scheduler for the OpenLambda framework and evaluate it using simulations and real experiments. When using PASch instead of a least loaded balancer, tasks perceive an average speedup of 1.29x, and 80th percentile latency that is 23x faster. Furthermore, for the workload studied in this paper, PASch outperforms consistent hashing with bounded loads - a state-of-the-art load balancing algorithm - yielding a 1.3x average speedup, and a speedup of 1.5x at the 80th percentile.

Año de publicación:

2019

Keywords:

  • OpenLambda
  • Function as a service
  • CLOUD COMPUTING
  • scheduling
  • Load balancing
  • Serverless computing
  • performance
  • Data locality

Fuente:

scopusscopus

Tipo de documento:

Conference Object

Estado:

Acceso restringido

Áreas de conocimiento:

  • Software

Áreas temáticas:

  • Ciencias de la computación