在容器技术和微服务框架的普及背景下,服务器无感知计算为开发者提供了一种无需关注服务器操作以及硬件资源管理的云计算范式。相比于传统云计算,在服务器无感知计算架构中,通过弹性扩缩容实时地适应动态负载变化,能够有效降低请求响应延时并且减少服务成本,满足了客户对于云服务成本按需付费的需求。本文针对服务器无感知计算中的冷启动延迟问题进行了研究。主要内容如下:
(1)尽管提前预热函数实例能够有效地降低冷启动发生频率,但在云环境中流量突发问题极大地增加了预测预热函数实例数的难度。针对上述挑战,提出了一种基于概率分布的弹性伸缩算法(Probability Distribution Based Auto-scaling Algorithm,PDBAA),利用监控指标历史数据预测未来请求的概率分布,以最小化请求响应延时为目的计算预热函数实例的最佳数量,并且PDBAA能够有效地结合深度学习技术的强大预测功能进一步提升性能。在Knative框架中,通过NASA和WSAL数据集对算法进行了实验验证。仿真实验表明,相比于Knative弹性伸缩算法以及其他预测算法,所提出的算法在弹性性能上提升了31%以上,在平均响应时间方面降低了16%以上,能够更好地解决流量突发问题,有效地降低了服务器无感知计算请求的响应延时。
(2)虽然将函数实例重复利用能够有效地避免冷启动发生,但是函数实例复用难以避免地造成大量计算资源空闲,并且由于函数请求调用的触发器以及调用模式差异性较大导致难以预测下一次请求调用时间。针对上述挑战,提出了一种基于资源回收的函数实例复用算法(Resource Reduction Based Function Instance Reuse Algorithm,RFIR),通过构造请求调用间隔时间数据负指数分布的累计分布概率来计算函数实例预留时间,以确保下一次请求避免遭受冷启动延迟;通过构造请求调用间隔时间数据直方图回收函数实例的部分计算资源,以避免在请求调用概率较低时间段函数实例空闲资源的浪费。仿真实验表明所提的算法能够有效地降低请求响应时间,同时避免大量空闲计算资源浪费。
(3)尽管将函数依赖项预先缓存到工作节点上能够有效地降低冷启动延迟时间,但缓存任务面临缓存内容随时间变化以及与函数调度任务相互耦合导致负载不均衡等挑战,极大地增加了算法设计的难度。针对上述挑战,提出了一种面向服务器无感知计算的缓存优化和函数调度在线联合优化算法(Online Joint Optimization Algorithm for Cache Optimization and Function Scheduling,CPS),将缓存优化和函数调度联合优化问题解耦为缓存优化和函数调度两个子问题。针对缓存优化问题,提出了一种基于流行度的软件包缓存策略;针对函数调度问题,设计了基于深度强化学习的函数调度算法。仿真实验表明所提的联合优化机制能够有效地降低冷启动延迟,同时实现工作节点间负载均衡并适应软件包流行度变化。
暂无评论