FaaS platforms rely on cluster managers like Kubernetes for resource management. Kubernetes is popular due to its state-centric APIs that decouple the control plane into modular controllers. However, to scale out a burst of FaaS instances, message passing becomes the primary bottleneck as controllers have to exchange extensive state through the API Server. Existing solutions opt for a clean-slate redesign of cluster managers, but at the expense of compatibility with existing ecosystem and substantial engineering effort. We present KUBEDIRECT, a Kubernetes-based cluster manager for FaaS. We find that there exists a common narrow waist across FaaS platform that allows us to achieve both efficiency and external compatibility. Our insight is that the sequential structure of the narrow waist obviates the need for a single source of truth, allowing us to bypass the API Server and perform direct message passing for efficiency. However, our approach introduces a set of ephemeral states across controllers, making it challenging to enforce end-to-end semantics due to the absence of centralized coordination. KUBEDIRECT employs a novel state management scheme that leverages the narrow waist as a hierarchical write-back cache, ensuring consistency and convergence to the desired state. KUBEDIRECT can seamlessly integrate with Kubernetes, adding ~150 LoC per controller. Experiments show that KUBEDIRECT reduces serving latency by 26.7x over Knative, and has similar performance as the state-of-the-art clean-slate platform Dirigent.


翻译:函数即服务(FaaS)平台依赖Kubernetes等集群管理器进行资源管理。Kubernetes因其以状态为中心的API而广受欢迎,这些API将控制平面解耦为模块化控制器。然而,当需要横向扩展突发性FaaS实例时,消息传递成为主要瓶颈,因为控制器必须通过API服务器交换大量状态。现有解决方案选择对集群管理器进行全新设计,但代价是牺牲与现有生态系统的兼容性并需要大量工程投入。本文提出KUBEDIRECT,一种基于Kubernetes的FaaS集群管理器。我们发现FaaS平台中存在一个通用的窄腰结构,使我们能够同时实现高效性和外部兼容性。我们的核心见解是:窄腰的序列化结构消除了对单一事实来源的需求,允许我们绕过API服务器直接进行消息传递以提高效率。然而,这种方法在控制器间引入了一系列瞬态,由于缺乏集中式协调,实施端到端语义面临挑战。KUBEDIRECT采用一种新颖的状态管理方案,将窄腰结构作为分层写回缓存,确保状态一致性并最终收敛至目标状态。KUBEDIRECT可与Kubernetes无缝集成,每个控制器仅需增加约150行代码。实验表明,KUBEDIRECT相比Knative降低服务延迟达26.7倍,其性能与最先进的全新平台Dirigent相当。

0
下载
关闭预览

相关内容

服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
《雾计算平台微服务框架说明》美陆军报告
专知会员服务
23+阅读 · 2024年7月26日
【2020新书】使用Kubernetes开发高级平台,519页pdf
专知会员服务
69+阅读 · 2020年9月19日
【数据中台】什么是数据中台?
产业智能官
18+阅读 · 2019年7月30日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
Seq2seq强化,Pointer Network简介
机器学习算法与Python学习
15+阅读 · 2018年12月8日
并行算法演进,从MapReduce到MPI
凡人机器学习
10+阅读 · 2017年11月5日
平安云监控 || 当open-falcon遇上kubernetes
运维帮
10+阅读 · 2017年7月4日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
10+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Arxiv
0+阅读 · 2月16日
VIP会员
相关VIP内容
《雾计算平台微服务框架说明》美陆军报告
专知会员服务
23+阅读 · 2024年7月26日
【2020新书】使用Kubernetes开发高级平台,519页pdf
专知会员服务
69+阅读 · 2020年9月19日
相关资讯
【数据中台】什么是数据中台?
产业智能官
18+阅读 · 2019年7月30日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
Seq2seq强化,Pointer Network简介
机器学习算法与Python学习
15+阅读 · 2018年12月8日
并行算法演进,从MapReduce到MPI
凡人机器学习
10+阅读 · 2017年11月5日
平安云监控 || 当open-falcon遇上kubernetes
运维帮
10+阅读 · 2017年7月4日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
10+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员