[发明专利]一种无服务计算中加速启动方法及系统在审
申请号: | 202110985231.2 | 申请日: | 2021-08-26 |
公开(公告)号: | CN113703867A | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 何慧;杨润;石丁;张伟哲;方滨兴 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455;G06F9/48 |
代理公司: | 黑龙江立超同创知识产权代理有限责任公司 23217 | 代理人: | 杨立超 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务 计算 加速 启动 方法 系统 | ||
一种无服务计算中加速启动方法及系统,涉及无服务计算技术领域,用以解决现有无服务计算中由于冷启动的存在而导致任务执行的响应时间过长的问题。本发明的技术要点包括:构建两层容器:用户容器和任务容器,每个用户容器对应一个用户设备,对于每个任务请求,容器启动的过程包括查找该任务请求对应的用户容器,如果没有查找到则创建对应的用户容器;创建成功或查找到则将该任务请求转发至用户容器;在用户容器中启动任务容器处理任务请求。本发明中用户容器负责隔离,任务容器负责执行任务,任务容器经过裁剪具有很低的启动延迟;利用过去调用规律预测未来启动来减少冷启动次数,进一步降低启动延迟,相比现有冷启动回收机制具有大幅度提升。
技术领域
本发明涉及无服务计算技术领域,具体涉及一种无服务计算中加速启动方法及系统。
背景技术
无服务计算(Serverless)是随着当前云计算发展而出现的一种新的服务模型,无服务计算将运行的任务包装成一个自定义的代码。在大多数情况下,开发人员只需要关心他们的代码即可,因为事件队列、底层环境、动态扩展和调度等都是由服务商来处理,而服务商往往通过方便的容器服务向开发者提供功能支持。
在Serverless中,用户将代码上传到云端,云平台提供商为代码的运行提供一个调用方式(例如一个URL)。在过去的云计算中需要注意的问题,问题例如哪些资源需要分配、何时分配,以及保留多久,这些问题虽然仍然需要被处理,但它们被转移到了云平台提供商那里,云提供商在不影响用户体验地情况下对这些资源进行调度,调度造成的额外消耗不会直接向用户收费,其中调用函数的方式多种多样。
低延迟的服务使得支持需要极高可靠性和极低延时的用例成为可能,这些用例包括工业自动化、智能交通、智能电网、娱乐支持以及远程诊断和手术。相比于用户设备的性能一般较低,边缘计算集群往往可以由几台服务器组成,服务器上可以配置计算加速等设备来提高性能。同时边缘计算节点之间和到云的网络连接往往是通过有线高速网络连接,服务质量有很大的保证。而在Serverless平台上实现低延迟启动,有一个很大的阻碍是冷启动问题。冷启动是指当一个函数被触发,但其应用还没有按照平台的机制加载到内存中时,就会发生冷启动调用。当函数发生冷启动的情况时,平台为应用程序实例化一个工作实例,加载所有需要的运行时间和库,并调用该函数。
当冷启动发生时,会大大延长响应时间,从而带来一个巨大的延迟(相对于调用)。在Serverless平台中,每个函数的运行和调用往往需要一个“工作实例”来完成,目前绝大多数平台中都是以一个容器的概念呈现。公有云为了保证平台的稳健性,往往会使用带有虚拟内核的容器实现,因此带来额外的启动开销也可以因为云上丰富的资源而不会太过于影响性能。而私有云中的Serverless框架往往会选择简化的隔离方式,例如常见的基于cgroupfs实现的Docker。尽管容器一般比虚拟机启动要快不少,但它们的冷启动时间仍然是典型函数执行时间的一个重要组成部分,并且随着函数触发器并发性的增加而急剧增加。相对于函数的执行,这个过程可能需要很长的时间。对于128MB内存大小函数实例的创建,在Google Cloud Platform中冷启动的时间的中位数为493ms,Amazon Web Services下为265ms。同时,在云上的不到20%的应用程序负责99.6%的调用。而50%的函数平均执行时间小于1秒,最大执行时间小于3秒。可以看出,即使是在公有云有着丰富的服务器资源的情况下,函数冷启动时间在整个函数执行时间里面的比例都是不低的。因此对于冷启动的处理是提高Serverless平台服务质量的一个关键因素,缩减冷启动时间可以有效地提高函数调用速度和性能。
发明内容
鉴于以上问题,本发明提出一种无服务计算中加速启动方法及系统,用以解决现有无服务计算中由于冷启动的存在而导致任务执行的响应时间过长的问题。
根据本发明一方面,提出一种无服务计算中加速启动方法,该方法在无服务计算架构中构建两层容器:用户容器和任务容器,每个用户容器对应一个用户设备,且每个用户容器包含多个任务容器;对于每个任务请求,容器启动的过程包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110985231.2/2.html,转载请声明来源钻瓜专利网。