第二届大会回顾第7期 | 基于Serverless边缘云的容器镜像弹性部署:理论与实践

描述

演讲嘉宾 | 徐子川

回顾整理 | 廖   涛

排版校对 | 李萍萍

边缘计算

嘉宾介绍

 OpenHarmony技术俱乐部分论坛 

徐子川,大连理工大学教授、博士生导师,大连理工大学OpenHarmony技术俱乐部主任,教育部重点实验室副主任。研究方向为边缘云服务,领域涵盖边缘智能,网络功能虚拟化,云原生等。在顶级期刊和会议发表论文100余篇,谷歌学术引用超过3800次,h-index 34,持有10余项专利和3项软件著作权。

视频回顾 

打开哔哩哔哩APP,观看更清晰视频

正文内容

近十年间,我国云服务市场规模快速增长,边缘计算需求激增,云边协同成为未来重要演进方向。Serverless作为一种构建和管理基于微服务架构的技术,为软件架构设计与应用服务部署带来了新的设计思路,在边缘计算场景中正得到广泛应用。如何基于Serverless边缘云实现容器镜像的弹性部署?大连理工大学教授、OpenHarmony技术俱乐部主任徐子川在第二届OpenHarmony技术大会上进行了精彩分享。

边缘计算

01

研究背景

目前,我国企业“上云用云”进程加快、计算业务需求激增、物联网数据爆炸式增长。为了解决网络带宽限制、存储能力限制、AI算力限制等实际痛点,以及满足特定场景高时效性要求,云计算逐渐在用户边缘侧的延伸,实现算力下沉。边缘计算为云计算提供了更快的速度、更高的安全性、更可靠的计算环境以及可扩展性,是万物互联的关键技术之一。

边缘计算

如果简单地把云服务从云数据中心下沉到边缘侧,存在以下2个主要问题:(1)服务部署粒度大、边缘资源利用率低。IDC的计算资源冗余,平均利用率低至10%;(2)边缘资源受限、大规模可扩展性差。大规模服务请求响应速度慢。为了避免资源浪费、实现边缘智能服务的细粒度可扩展部署,亟需新的范式。

边缘计算

云原生开发架构,由最初的单体应用时期(快速、简单、耦合强),经垂直应用时期(隔离、稳定、复制多)、微服务时期(隔离、稳定、复用高),发展至当前的Serverless时期(超轻量、高弹性、低门槛、极细粒度、复用更高)。Serverless计算作为新兴的下一代云计算范式,正在迅速发展。其可以提供代码函数片段级极细粒度的开发部署及弹性执行能力,而无需用户关注粗粒度细节(硬件、系统、运行库、函数级上下文环境、函数级并发等)。基于Serverless计算,实现面向边缘智能应用的细粒度容器镜像弹性部署方案,能够有效应对边缘智能应用资源利用率低及可扩展性差等问题。

边缘计算

基于Serverless边缘云的容器镜像弹性部署需要解决以下关键问题:

如何解决基于Serverless的镜像部署及状态依赖问题?——研究有状态Serverless应用的镜像部署问题

如何解决大规模集群中源站拉取镜像面临带宽瓶颈的困局?——设计基于P2P的镜像加速分发系统

如何去除镜像冗余,实现Serverless容器的快速启动?——提出按需加载的容器镜像加速策略

02

理论研究:有状态Serverless应用镜像部署

目前,基于Serverless边缘云的容器镜像弹性部署相关研究主要集中于Serverless函数放置/调度以及Serverless函数内存资源预测。但仍存在一定不足:(1)很少考虑Serverless函数的状态管理;(2)未同时考虑函数依赖及复杂状态依赖;(3)未考虑边缘节点异质资源;(4)未考虑网络动态性及不确定性。因此,有状态Serverless应用镜像部署研究,将重点聚焦在基于Serverless边缘云的有状态细粒度函数部署问题、Serverless应用复杂的函数及状态依赖关系、未来数据量及网络延迟的不确定性等方面的内容。

边缘计算

有状态Serverless应用镜像部署的理论研究,具体包括以下几个方面:(1)建立函数执行延迟、成本模型,问题定义。延迟模型包括处理延迟、传输延迟;成本模型包括处理成本、传输成本、存储成本;(2)设计面向有状态Serverless函数的高效部署方法,包括:面向有状态Serverless函数的启发式算法;面向有状态Serverless函数的基于多物最小成本流的近似算法;面向网络延迟不确定的基于多臂老虎机的学习驱动算法;(3)基于Serverless边缘云的容器镜像弹性部署实际验证。由验证结果可知,基于Serverless边缘云的容器镜像弹性部署策略能极大程度上减少边缘智能服务供应开销,提高服务质量、提高用户服务体验。

边缘计算

03

工程实践:基于P2P的镜像加速分发系统

在实际的工程应用中,大规模集群中从源站拉取文件常常面临带宽限制,如何最大限度的利用集群内网带宽实现镜像加速部署成为一个值得探索的问题。

边缘计算

基于上述问题,业界提出了基于P2P的镜像加速文件分发系统——Dragonfly。Dragonfly是CNCF托管的Incubating项目,旨在提高大规模文件传输的效率和速度。其能够最大限度的利用节点之间闲置带宽,减少回源流量。目前,该项目的Contributer已有100+,用户包括Intel、ByteDance、DiDi等公司据不完全统计约40+,基本涵盖国外大型互联网公司。公有云支持 Google Cloud Platform(GCP)、Volcano Engine Baidu AI Cloud、Alibaba Cloud(Aliyun) 等。

Dragonfly项目整体架构主要包括:

Manager:维护多个 P2P 集群 关联关系,剔除异常节点,保证 P2P 集群稳定性。并且提供用户态管理、RBAC、动态配置等功能。

Scheduler:为当前下载节点调度一组最优的父节点。并且在适当时机触发节点回源做种。

Peer:客户端提供上传和下载功能。

Seed Peer:客户端提供上传和下载功能。当集群内任务首次下载,Scheduler会触发Seed Peer回源。

边缘计算

在Dragonfly中,采取了分级异常隔离策略,可有效提高P2P集群整体的稳定性。例如:

服务级别:(1)Scheduler, Seed Peer服务异常隔离,状态Inactive;(2)Manager服务异常隔离,Peer使用最新Cache;(3)控制台应急下线异常服务。

节点级别:(1)节点间网络异常,当前节点隔离对端节点;(2)被访问错误超过上限,P2P集群内暂时隔离节点;(3)基于6sigma隔离当前下载Piece速度过慢节点;(4)节点达到负载上限,P2P集群内暂时隔离节点;(5)节点Announce状态Inactive。

任务级别:(1)任务状态失败,隔离当前节点任务;(2)任务下载有环,隔离当前节点任务;(3)回源下载任务失败,隔离所有已下载节点任务。

边缘计算

为了优化Dragonfly系统中的Scheduler父节点调度策略,使其选择更能反映父节点下载优劣的特征,更适用于大规模容器镜像部署场景,作者本人所在团队提出了(1)主动测量网络延迟与收集并推测带宽相结合的特征机制;(2)构建Trainer模块,利用探测信息和历史数据进行图神经网络训练方案。目前,上述方案相关代码已经合入Dragonfly开源项目主线。

边缘计算

04

工程实践:按需加载的容器镜像加速

Serverless容器快速启动对Serverless冷启动性能至关重要,但目前容器镜像冗余极多,启动容器所需文件体积约占镜像10%~30%,且边缘计算、物联网等场景,带宽存在瓶颈(镜像下载约占95%启动用时)。基于该问题,业界提出了按需加载的容器镜像加速方案,通过按需加载减少容器启动过程的传输流量,快速启动容器。

目前,该容器镜像加速开源框架已经成为Dragonfly的子项目(CNCF托管孵化中项目),Contributer已有100+, 用户包括阿里云、蚂蚁集团、字节跳动、快手等公司。

容器镜像加速开源框架的镜像格式为:

OCIv1格式按层存储 -----------> 文件粒度存储

缺少文件目录元数据 ----------> 分离数据(blobs)和元数据(bootstrap)

完全加载镜像后启动 ----------> 仅加载元数据后启动,快速挂载文件系统

边缘计算

容器镜像加速开源框架的按需加载流程为:

容器发起I/O请求

检查本地文件缓存(文件粒度)

如果未命中缓存,从远端存储中按需加载对应文件

返回I/O请求继续运行容器

边缘计算

在该项目中,作者本人所在团队,提出了(1)文件预取重排:算法优化预读取的文件列表,提升启动速度;(2)请求碎片合并:将碎片文件合并加载,提高加载性能;(3)镜像间文件去重:同镜像内层间去重、相似镜像间去重,降低镜像体积等优化方案,且相关代码已进入项目主线。

边缘计算

05

总结展望

未来,OpenHarmony融合弹性无服务器计算成为可能:将弹性无服务器计算与OpenHarmony融合,为智能服务弹性部署与调度提供统一平台与中间件,可赋能更多新兴智能业务场景。此外,将OpenHarmony融合基于P2P的镜像加速文件分发系统,也能够在一定程度上克服有限回源带宽,进一步提高大规模文件传输的效率和速度。

「嘉宾材料暂不分享」

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分