[发明专利]一种基于资源缓存的高性能无服务器计算方法及系统有效
申请号: | 201910869946.4 | 申请日: | 2019-09-16 |
公开(公告)号: | CN110837408B | 公开(公告)日: | 2022-06-17 |
发明(设计)人: | 覃世军;吴恒;张文博 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/54;G06F9/50 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 资源 缓存 性能 服务器 计算方法 系统 | ||
本发明公开了一种基于资源缓存的高性能无服务器计算方法及系统,其包括客户端、控制节点、计算节点、软件包仓库;其中,客户端,用于发起调用请求,请求调用无服务器计算平台;控制节点,负责无服务器计算中调用请求的接收、调用触发、容器调度、无服务器计算平台中的主节点选举,以及当调度器调度无服务器处理程序时,在软件包注册表中进行查询,将用于执行无服务器处理程序的容器调度到合适节点上;控制节点的容器缓存控制器负责采集计算节点上容器的执行信息和系统的状态信息,并根据采集信息进行容器缓存时间的调整,控制节点的软件包注册表负责存储函数‑软件包和软件包‑计算节点的映射信息。本发明具有高性能和易于落地的特点。
技术领域
本发明涉及一种基于资源缓存的高性能无服务器计算系统及相关方法,属于云服务和计算技术领域。
背景技术
云计算发展日新月异,目前无服务器计算已经成为云计算发展的必然趋势。无服务器计算对原有应用程序进行拆解,提供更加细粒度的服务调度,只有在有请求到来时占用资源调用服务,没有请求时不占用任何资源,按照调用次数、时长进行计费。相比传统的在线服务模式,无服务器计算极大降低了用户的使用成本,使用户可以完全不必关注服务器的配置问题从而简化了开发,以及提供了相比传统在线服务更好的伸缩性。然而,目前的无服务器计算模型由于其本身容器冷启动的特性带来了较为明显的性能问题。根据无服务器计算本身的特性,我们发现导致性能的原因主要为以下三点:(1)在无服务器计算场景中,由于其对应用的拆解以及冷启动容器的特性,使得容器的启动变得极为频繁,在未经优化场景中,创建容器时设置隔离资源时涉及到全局加锁的操作,导致高并发场景下创建容器出现性能瓶颈;(2)在无服务器计算场景中,由于其对应用的拆解,在现有无服务器计算场景中,容器镜像种类、数量、版本更新次数远远多于传统在线服务场景,因此无法有效在工作节点本地缓存容器,使得每次在启动容器之前需要从远程的容器镜像仓库中拉取镜像,这个过程极大增加了平台上的耗时,从而影响总的调用延迟;(3)在现有无服务器场景中,由于无服务器计算本身的特性,容器在执行完无服务器处理程序之后会销毁容器,这样导致了如果再次在同一台工作节点上执行相同的无服务器处理程序需要重新启动容器,这样又进一步增加了容器的启动频率。
因此,避免容器的启动次数和减少容器启动初始化、软件包准备的时间能够有效解决以上问题。目前已经有少部分工作已经针对这两点进行了优化,但是都或多或少存在局限性。已知的工作描述如下。美国威斯康星大学麦迪孙分校的Oakes等人针对无服务器调用过程中应用程序和容器初始化过程缓慢的现状,首先分析了各种Linux容器原语,找出与存储和网络隔离相关的可伸缩性瓶颈,研发了一种面向无服务器场景的容器SOCK,SOCK精简了原有容器在网络、存储上的隔离,加速了容器启动性能,但是精简之后的容器会带来功能上的缺失,难以用于目前的生产环境。诺基亚贝尔实验室的Akkus等人设计实现了一种面向高性能的无服务器计算系统SAND。SAND针对现有无服务器平台通常在单独的容器中隔离和执行函数,并且并没有利用函数之间的交互来提高性能而导致功能执行的高启动延迟和低效的资源使用这个问题,引入了应用程序级别的沙箱、分层消息总线两个关键技术,从而提供比现有无服务器平台更低的启动延迟和更高的资源使用率,不足之处在于高层级的隔离难以实现,且存在稳定性和安全性的问题。
发明内容
针对现有技术的不足,本发明的目的在于提供一种基于资源缓存的高性能无服务器计算系统及相关方法,本发明具有高性能和易于落地的特点,可以大幅度削减目前主流无服务器计算系统由于容器冷启动特性耗费在平台上的时间,从而降低无服务器计算调用的延迟。
本发明的技术解决方案是:一种基于资源缓存的高性能无服务器计算系统,包括客户端、控制节点、计算节点、软件包仓库。
客户端,用于发起调用请求,请求调用无服务器平台,客户端可以以Web界面、命令行工具、RESTful API三种形式进行请求调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910869946.4/2.html,转载请声明来源钻瓜专利网。