Serverless computing, commonly offered as Function-as-a-Service, was initially designed for small, lean applications. However, there has been an increasing desire to run larger, more complex applications (what we call bulky applications) in a serverless manner. Existing strategies for enabling such applications are to either increase function sizes or to rewrite applications as DAGs of functions. These approaches cause significant resource wastage, manual efforts, and/or performance overhead. We argue that the root cause of these issues is today's function-centric serverless model, where a function is the resource allocation and scaling unit. We propose a new, resource-centric serverless-computing model for executing bulky applications in a resource- and performance-efficient way, and we build the Zenix serverless platform following this model. Our results show that Zenix reduces resource consumption by up to 90% compared to today's function-centric serverless systems, while improving performance by up to 64%.
翻译:无服务器计算(通常以“函数即服务”形式提供)最初是为小型精简应用而设计的。然而,以无服务器方式运行更大、更复杂的应用(我们称之为“繁重应用”)的需求日益增长。现有实现此类应用的策略要么是增大函数规模,要么是将应用重写为函数有向无环图。这些方法会导致显著的资源浪费、人力投入和/或性能开销。我们认为,这些问题的根源在于当前以函数为中心的无服务器模型——其中函数是资源分配与扩缩容的单元。我们提出了一种新的以资源为中心的无服务器计算模型,能以高资源效率和高性能的方式执行繁重应用,并基于此模型构建了泽尼克斯无服务器平台。实验结果表明,与当前以函数为中心的无服务器系统相比,泽尼克斯可将资源消耗降低高达90%,同时将性能提升高达64%。