Serverless computing, in particular the Function-as-a-Service (FaaS) execution model, has recently shown to be effective for running large-scale computations. However, little attention has been paid to highly-parallel applications with unbalanced and irregular workloads. Typically, these workloads have been kept out of the cloud due to the impossibility of anticipating their computing resources ahead of time, frequently leading to severe resource over- and underprovisioning situations. Our main insight in this article is, however, that the elasticity and ease of management of serverless computing technology can be a key enabler for effectively running these problematic workloads for the first time in the cloud. More concretely, we demonstrate that with a simple serverless executor pool abstraction one can achieve a better cost-performance trade-off than a Spark cluster of static size built upon large EC2 virtual machines. To support this conclusion, we evaluate three irregular algorithms: Unbalanced Tree Search (UTS), Mandelbrot Set using the Mariani-Silver algorithm and Betweenness Centrality (BC) on a random graph. For instance, our serverless implementation of UTS is able to outperform Spark by up to 55% with the same cost. We also show that a serverless environment can outperform a large EC2 in the BC algorithm by a 10% using the same amount of virtual CPUs. This provides the first concrete evidence that highly-parallel, irregular workloads can be efficiently executed using purely stateless functions with almost zero burden on users i.e., no need for users to understand non-obvious system-level parameters and optimizations. Furthermore, we show that UTS can benefit from the FaaS pay-as-you-go billing model, which makes it worth for the first time to enable certain application-level optimizations that can lead to significant improvements (e.g. of 41%) with negligible increase in cost.
翻译:无服务器计算, 特别是“ 函数- 服务( FaaS) ” 执行模式, 近来显示, 没有服务器的运行速度在大规模计算中是有效的。 但是, 很少注意高度平行的应用程序, 且工作量不平衡且不规则。 通常, 这些工作量被挡在云层之外, 因为无法提前预测其计算资源, 经常导致严重的资源过剩和供给不足。 然而, 我们在本篇文章中的主要洞察力是, 没有服务器的计算技术管理弹性和方便性, 可以成为在云层中第一次有效运行这些有问题的工作量的关键推进器。 然而, 我们很少注意高度平衡的应用程序。 我们用一个简单的服务器执行器执行器, 一个比在大型 EC2 虚拟机器上建立的一个静态的组更符合成本- 。 为了支持这一结论, 我们评估三种不规则的算法: 不平衡的树搜索(UTS), Mandelbrout Set Set, 使用马里亚- Silver 算法, 和 Calness Cent (B) 在随机的图表中, 等, 使用一个不透明的系统, 使用一个不固定的系统可以显示一个不固定的Strode 。