Minos: Exploiting Cloud Performance Variation with Function-as-a-Service Instance Selection
By: Trever Schirmer , Valentin Carl , Nils Höller and more
Potential Business Impact:
Makes cloud programs run faster and cheaper.
Serverless Function-as-a-Service (FaaS) is a popular cloud paradigm to quickly and cheaply implement complex applications. Because the function instances cloud providers start to execute user code run on shared infrastructure, their performance can vary. From a user perspective, slower instances not only take longer to complete, but also increase cost due to the pay-per-use model of FaaS services where execution duration is billed with microsecond accuracy. In this paper, we present Minos, a system to take advantage of this performance variation by intentionally terminating instances that are slow. Fast instances are not terminated, so that they can be re-used for subsequent invocations. One use case for this are data processing and machine learning workflows, which often download files as a first step, during which Minos can run a short benchmark. Only if the benchmark passes, the main part of the function is actually executed. Otherwise, the request is re-queued and the instance crashes itself, so that the platform has to assign the request to another (potentially faster) instance. In our experiments, this leads to a speedup of up to 13% in the resource intensive part of a data processing workflow, resulting in up to 4% faster overall performance (and consequently 4% cheaper prices). Longer and complex workflows lead to increased savings, as the pool of fast instances is re-used more often. For platforms exhibiting this behavior, users get better performance and save money by wasting more of the platforms resources.
Similar Papers
Characterizing FaaS Workflows on Public Clouds: The Good, the Bad and the Ugly
Distributed, Parallel, and Cluster Computing
Helps cloud programs run faster and cheaper.
Multi-Event Triggers for Serverless Computing
Distributed, Parallel, and Cluster Computing
Lets computer programs react to many events at once.
Konflux: Optimized Function Fusion for Serverless Applications
Distributed, Parallel, and Cluster Computing
Finds best way to combine computer tasks.