成为VIP会员查看完整内容
VIP会员码认证
首页
主题
发现
会员
服务
注册
·
登录
0
函数计算GB镜像秒级启动:下一代软硬件架构协同优化揭秘
2021 年 11 月 15 日
阿里技术
一 背景
函数计算在2020年8月创新地提供了容器镜像的函数部署方式。AWS Lambda在2020年12月Re-Invent,国内其他FaaS提供商在2021年6月也相继宣布了FaaS支持容器的重磅功能。冷启动一直都是FaaS的痛点,引入比代码压缩包大几十倍的容器镜像后冷启动恶化便成为开发者最大的担忧。
函数计算在支持容器镜像的设计阶段就决定要让开发者像使用代码包(秒级弹性能力)一样的体验使用镜像,既要易用性也要保持FaaS自身的极致弹性,免除用户的纠结和取舍。理想的用户体验是函数调用几乎感觉不到镜像数据远程传输带来的延迟额外消耗。
优化镜像加速冷启动大致分为两种做法:降低绝对延迟和降低冷启动概率。自容器镜像上线以来我们已经通过镜像加速技术,分阶段降低了绝对延迟。本文在此基础上,介绍借助函数计算下一代IaaS底座神龙裸金属和安全容器,进一步降低绝对延迟且能够大幅降低冷启动频率。
二 优化历程
(以某一镜像为例)
1 第一代架构:ECS虚拟机
第一阶段(2021年3月):按需加载,减少数据传输
过去的问题在于启动镜像前全量拉取镜像内部数据,导致无用的镜像数据也会被完整下载而占用了过多的准备时间。于是我们最初的优化方向是尽量忽略无用的镜像数据,达到按需加载。为此,我们通过镜像加速技术,省略掉了拉取无用数据的时间,实现了函数计算自定义镜像冷启动从分钟级到秒级提升的相关技术细节。
第二阶段(2021年6月):记录容器实例启动I/O轨迹,在后续实例启动中提前预取镜像数据
我们发现,函数实例在容器启动和初始化阶段,I/O数据访问模式高度一致。根据FaaS平台基于应用运行模式调度资源的特点,我们在函数实例首次启动时记录了I/O轨迹的脱敏数据,在后续的实例启动时,将轨迹数据作为提示,提前预取镜像数据到本地,进一步减小了冷启动延时。
上述两种加速优化虽然大幅减小了冷启动绝对延迟,但由于传统ECS VM在闲置一段时间后就会被回收,再次启动新机器时就会重新触发冷启动。于是,如何减少冷启动频次便成为了下一阶段重点攻克的题目之一。
2 下一代架构:弹性裸金属服务器(神龙)+ microVM
在设计下一代架构时我们不仅考虑解决冷启动频次问题,也同样注意到缓存对于启动时延的影响。于是我们创新性的发明了Serverless Caching,根据不同的存储服务特点构建数据驱动、智能高效的缓存体系,实现软硬件协同优化,将Custom Container体验进一步提升。函数计算后台神龙的更迭时间远大于ECS VM的闲置回收时间,对于用户侧而言,热启动频率大幅提升,在冷启动后,缓存会持续保留在神龙机器上,缓存命中率可达90%以上。
对比ECS虚拟机,神龙裸金属加上微型虚拟机的架构为镜像加速带来了更多的优化空间:
减小回源带宽压力并且减少重复数据存储。比起ECS VM来,同时几千实例启动,对于镜像仓库的读放大和磁盘存储空间的写放大降低至少两个数量级。
虚拟机级别的安全隔离使得函数计算组件可以安全地组成可用区级别缓存网络,速度传输速度甚至优于云盘。
函数计算Custom Container登陆神龙的同时也提高了资源利用率,降低成本,这对用户和服务端维护是双赢。
Serverless Caching的架构则可以在不增加资源使用成本的同时提供更多的优化潜力。
(L1~L4为不同级别缓存,距离和延迟从小到大)
三 横向对比
到目前为止,我们已经将镜像加速优化到了较高的水准。我们在函数计算的公开用例
里面挑选了4个典型的镜像并将它们适配至国内外几个大型云厂商(名称以厂商A、厂商B代替)进行横向对比,每间隔3小时调用上述镜像,重复数次,我们得到了以下结果:
1 AI在线推理-猫狗识别
该镜像包含了基于TensorFlow深度学习框架的图像识别应用。阿里云函数计算和厂商A都能正常运行,但厂商A性能较差。厂商B则无法正常运行。下图中阿里云函数计算和厂商A的延时数据包含镜像拉取,容器启动,执行推理运算端对端的延时,而厂商B的数据只是拉取镜像部分的延时,都已经是最慢。FC相对稳定,可以看出函数计算在CPU消耗型如AI推理方面有着更大优势。
以云盘热启动为基准(灰色),对比各个厂商的额外开销(彩色)
2 Python Flask Web Service
此镜像为常见的网络服务,内部使用Python搭配Flask服务框架。此镜像的作用旨在测试不同云产品是否有能力完成高效按需加载。FC与厂商A均有波动但后者的波动最为明显。
以云盘热启动为基准(灰色),对比各个厂商的额外开销(彩色)
3 Python机器学习运算
镜像内同样是Python运行环境,可以看出各个厂商依旧保持着各自的特性,厂商B全量下载,厂商A部分请求有优化但不稳定。
以云盘热启动为基准(灰色),对比各个厂商的额外开销(彩色)
4 Cypress Headless Chrome
此镜像包含无头浏览器测试流程,厂商A由于编程模型限制和运行环境不兼容无法运行。而厂商B过慢只能在规定时间内耗时71.1秒完成应用初始化。不难看出函数计算在重I/O的镜像方面依然有着不错的表现。
以云盘热启动为基准(灰色),对比各个厂商的额外开销(彩色),绿色部位为优于基准线的端到端耗时
四 推荐最佳实践
支持容器技术是 FaaS 的必备特质,容器增加了可移植性和交付敏捷性,而云服务减轻了运维与闲置成本、提供了弹性扩缩容能力。自定义镜像与函数计算结合最直接的解决了用户为云厂商定制化地移植大容量业务逻辑带来的困扰。
FaaS运行容器时需要尽可能消除额外开销,使用户体验与本地运行场景相近。稳定快速的运行同样是优秀FaaS的标准,FC提供了镜像加载优化的同时大大降低了冷启动频次为稳定快速的运行提供了保障。不仅如此,在应用的可移植方面更加需要做到平滑,不限制开发模式的同时也要尽量降低用户使用门槛。函数计算自定义镜像支持标准HTTP服务,自由配置可用端口,可读的同时也可写,提供多种工具链以及多元化的部署方案,无强制等待镜像准备完成时间,自带HTTP触发而不依赖其他云服务,支持自定义域名等一系列优质解决方案。
函数计算自定义镜像适用但不限于人工智能推理、大数据分析、游戏结算、在线课程教育、音视频处理等。推荐使用阿里云容器镜像服务企业版实例ACR EE,自带镜像加速功能,省去使用ACR镜像时手动开启加速拉取和加速镜像准备的步骤。
1 AI/ML在线推理
推理类计算依赖大体积底层训练框架以及大量的数据处理,普通的AI框架如Tensorflow的镜像可以轻松达到GB级,对CPU要求已经很高,要再满足扩缩容就更是挑战。函数计算自定义镜像可以很好的解决此类需求,用户只需直接使用底层训练框架镜像并与数据处理逻辑打包至新的镜像内便可以轻松省去更换运行环境所带来的移植开销,同时又可以满足弹性扩缩容带来的快速训练结果。歌曲喜好推理、图片AI识别分析等都可以无缝与函数计算衔接以达到弹性满足大量动态的在线推理请求。
2 轻量灵活ETL
服务都依赖数据,而数据处理往往需要消耗大量资源来满足高效快速的数据变更请求。自定义镜像与其他函数计算运行时一样可以满足数据处理时的安全隔离,又同时保留了用户将数据处理部分的业务逻辑自由的打包成镜像的便捷能力。提供平滑迁移的同时满足了镜像启动的极低额外延时,满足了用户针对如数据库治理、万物物联等应用场景的安全,高效,弹性的数据处理需求。
3 游戏战斗结算
各类游戏内通常会设置日常任务等场景短时间集聚大量玩家同时需要战斗结算一类的数据处理,为了不让游戏玩家失去耐心,战斗数据校验通常需要在短短几秒内完成,且单个玩家的数据结算单位时间不能随着玩家数量增长而恶化。此类数据处理的业务逻辑通常繁杂且高度重复,将玩家数据处理逻辑打包至函数计算自定义镜像内便可以弹性满足短时间大量相似的玩家结算请求。
五 未来规划
优化函数计算自定义镜像的初衷就是要让用户感受不到容器镜像传输带来的额外延迟,给云原生开发者最极致的体验。优化不会停止,我们最终的目标是几乎消除容器镜像拉取的额外开销和大量扩容时镜像仓库成为瓶颈,极速伸缩。进一步完善Serverless Caching的同时Custom Container功能未来会帮助Kubernetes上的Web应用, Job类工作负载无缝运行在函数计算。Kubernetes负责处理常驻、流量稳定的工作负载,Serverless服务分担波动明显的计算将逐渐成为云原生的最佳实践。
函数计算的公开用例
:https://gi
thub.com/awesome-fc
淘宝 NPM 镜像站切换新域名啦
详情点击阅读原文查看
登录查看更多
点赞并收藏
0
暂时没有读者
0
权益说明
本文档仅做收录索引使用,若发现您的权益受到侵害,请立即联系客服(微信: zhuanzhi02,邮箱:bd@zhuanzhi.ai),我们会尽快为您处理
相关内容
镜像
关注
3
【博士论文】集群系统中的网络流调度
专知会员服务
42+阅读 · 2021年12月7日
【清华大学陈游旻博士论文】持久性内存存储系统关键技术研究
专知会员服务
28+阅读 · 2021年11月24日
【2021新书】并行高性能计算,705页pdf,Parallel and High Performance Computing
专知会员服务
102+阅读 · 2021年10月30日
基于粗粒度数据流架构的稀疏卷积神经网络加速
专知会员服务
22+阅读 · 2021年7月15日
中国信通院发布《下一代数据存储技术研究报告(2021年)》(附pdf)
专知会员服务
44+阅读 · 2021年7月13日
现代企业架构白皮书-数字化转型底层方法论,72页pdf
专知会员服务
84+阅读 · 2021年6月14日
数字化时代零信任安全蓝皮报告,62页pdf
专知会员服务
48+阅读 · 2021年5月24日
大数据平台安全研究报告,36页pdf
专知会员服务
35+阅读 · 2021年2月26日
大规模时间序列分析框架的研究与实现,计算机学报
专知会员服务
58+阅读 · 2020年7月13日
C++17是什么?看这本最新指南书册《C++17标准语言新特性》109页pdf
专知会员服务
68+阅读 · 2020年2月23日
对比,还原真实的GPU池化
CSDN
1+阅读 · 2022年4月13日
故事,从 Docker 讲起 | 深度揭秘阿里云 Serverless Kubernetes
InfoQ
0+阅读 · 2022年3月12日
「奇点」AI计算平台细节曝光!竟是微软4年前老项目重生
新智元
0+阅读 · 2022年2月22日
技术揭秘:实时数仓Hologres如何支持超大规模部署与运维
阿里技术
0+阅读 · 2022年2月9日
从托管到原生,MPP架构数据仓库的云原生实践
阿里技术
1+阅读 · 2022年1月21日
一文看懂业界在离线混部技术
InfoQ
0+阅读 · 2022年1月18日
Serverless 的承诺都兑现了吗?
InfoQ
0+阅读 · 2021年12月17日
利用 JuiceFS 给 Flink 容器启动加速
AI前线
0+阅读 · 2021年12月13日
Jellyfish:为Uber最大的存储系统提供更节省成本的数据分层
InfoQ
1+阅读 · 2021年12月5日
云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验
阿里技术
0+阅读 · 2021年12月2日
众核集群上基于MPI的模型扩展及性能优化研究
国家自然科学基金
1+阅读 · 2015年12月31日
异构网络中的分层并发传输技术研究
国家自然科学基金
2+阅读 · 2015年12月31日
面向大数据的高性能网络带宽调度与传输控制关键技术研究
国家自然科学基金
1+阅读 · 2014年12月31日
CPU-GPU耦合架构下数据库连接技术研究
国家自然科学基金
0+阅读 · 2013年12月31日
数据并行与线程并行合一的可伸缩处理器体系结构
国家自然科学基金
2+阅读 · 2013年12月31日
基于纠删码的大规模存储集群重构优化技术
国家自然科学基金
0+阅读 · 2013年12月31日
面向通用计算集群的全局GPU虚拟化理论与方法研究
国家自然科学基金
0+阅读 · 2013年12月31日
云计算中高效安全外包计算协议的研究
国家自然科学基金
0+阅读 · 2012年12月31日
面向高可用云服务的虚拟资源敏捷管理技术研究
国家自然科学基金
0+阅读 · 2012年12月31日
异构多核可重构计算平台上面向服务的操作系统关键技术
国家自然科学基金
1+阅读 · 2012年12月31日
Clifford Circuits can be Properly PAC Learned if and only if $\textsf{RP}=\textsf{NP}$
Arxiv
0+阅读 · 2022年4月20日
Estimating Software Reliability Using Size-biased Modelling
Arxiv
0+阅读 · 2022年4月20日
Mingling Foresight with Imagination: Model-Based Cooperative Multi-Agent Reinforcement Learning
Arxiv
1+阅读 · 2022年4月20日
Massively Parallel Computation and Sublinear-Time Algorithms for Embedded Planar Graphs
Arxiv
0+阅读 · 2022年4月19日
Quartz: Superoptimization of Quantum Circuits (Extended Version)
Arxiv
0+阅读 · 2022年4月19日
Quantum Bayesian Statistical Inference
Arxiv
0+阅读 · 2022年4月19日
Advantage of the key relay protocol over secure network coding
Arxiv
0+阅读 · 2022年4月19日
Convex-Concave Min-Max Stackelberg Games
Arxiv
0+阅读 · 2022年4月19日
A Survey of Quantization Methods for Efficient Neural Network Inference
Arxiv
21+阅读 · 2021年6月21日
Deep Generative Modelling: A Comparative Review of VAEs, GANs, Normalizing Flows, Energy-Based and Autoregressive Models
Arxiv
13+阅读 · 2021年3月8日
VIP会员
自助开通(推荐)
客服开通
详情
相关主题
镜像
冷启动
协同优化
IaaS
轨迹数据
亚马逊AWS
相关VIP内容
【博士论文】集群系统中的网络流调度
专知会员服务
42+阅读 · 2021年12月7日
【清华大学陈游旻博士论文】持久性内存存储系统关键技术研究
专知会员服务
28+阅读 · 2021年11月24日
【2021新书】并行高性能计算,705页pdf,Parallel and High Performance Computing
专知会员服务
102+阅读 · 2021年10月30日
基于粗粒度数据流架构的稀疏卷积神经网络加速
专知会员服务
22+阅读 · 2021年7月15日
中国信通院发布《下一代数据存储技术研究报告(2021年)》(附pdf)
专知会员服务
44+阅读 · 2021年7月13日
现代企业架构白皮书-数字化转型底层方法论,72页pdf
专知会员服务
84+阅读 · 2021年6月14日
数字化时代零信任安全蓝皮报告,62页pdf
专知会员服务
48+阅读 · 2021年5月24日
大数据平台安全研究报告,36页pdf
专知会员服务
35+阅读 · 2021年2月26日
大规模时间序列分析框架的研究与实现,计算机学报
专知会员服务
58+阅读 · 2020年7月13日
C++17是什么?看这本最新指南书册《C++17标准语言新特性》109页pdf
专知会员服务
68+阅读 · 2020年2月23日
热门VIP内容
开通专知VIP会员 享更多权益服务
《利用自适应交互增强有人无人编队协同》217页
《美军联合任务环境测试能力(JMETC)》114页slides
俄乌冲突中的 Oreshnik 高超音速弹道导弹
《战术行动中人工智能驱动的人机协作:拟议框架、挑战和未来方向》
相关资讯
对比,还原真实的GPU池化
CSDN
1+阅读 · 2022年4月13日
故事,从 Docker 讲起 | 深度揭秘阿里云 Serverless Kubernetes
InfoQ
0+阅读 · 2022年3月12日
「奇点」AI计算平台细节曝光!竟是微软4年前老项目重生
新智元
0+阅读 · 2022年2月22日
技术揭秘:实时数仓Hologres如何支持超大规模部署与运维
阿里技术
0+阅读 · 2022年2月9日
从托管到原生,MPP架构数据仓库的云原生实践
阿里技术
1+阅读 · 2022年1月21日
一文看懂业界在离线混部技术
InfoQ
0+阅读 · 2022年1月18日
Serverless 的承诺都兑现了吗?
InfoQ
0+阅读 · 2021年12月17日
利用 JuiceFS 给 Flink 容器启动加速
AI前线
0+阅读 · 2021年12月13日
Jellyfish:为Uber最大的存储系统提供更节省成本的数据分层
InfoQ
1+阅读 · 2021年12月5日
云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验
阿里技术
0+阅读 · 2021年12月2日
相关基金
众核集群上基于MPI的模型扩展及性能优化研究
国家自然科学基金
1+阅读 · 2015年12月31日
异构网络中的分层并发传输技术研究
国家自然科学基金
2+阅读 · 2015年12月31日
面向大数据的高性能网络带宽调度与传输控制关键技术研究
国家自然科学基金
1+阅读 · 2014年12月31日
CPU-GPU耦合架构下数据库连接技术研究
国家自然科学基金
0+阅读 · 2013年12月31日
数据并行与线程并行合一的可伸缩处理器体系结构
国家自然科学基金
2+阅读 · 2013年12月31日
基于纠删码的大规模存储集群重构优化技术
国家自然科学基金
0+阅读 · 2013年12月31日
面向通用计算集群的全局GPU虚拟化理论与方法研究
国家自然科学基金
0+阅读 · 2013年12月31日
云计算中高效安全外包计算协议的研究
国家自然科学基金
0+阅读 · 2012年12月31日
面向高可用云服务的虚拟资源敏捷管理技术研究
国家自然科学基金
0+阅读 · 2012年12月31日
异构多核可重构计算平台上面向服务的操作系统关键技术
国家自然科学基金
1+阅读 · 2012年12月31日
相关论文
Clifford Circuits can be Properly PAC Learned if and only if $\textsf{RP}=\textsf{NP}$
Arxiv
0+阅读 · 2022年4月20日
Estimating Software Reliability Using Size-biased Modelling
Arxiv
0+阅读 · 2022年4月20日
Mingling Foresight with Imagination: Model-Based Cooperative Multi-Agent Reinforcement Learning
Arxiv
1+阅读 · 2022年4月20日
Massively Parallel Computation and Sublinear-Time Algorithms for Embedded Planar Graphs
Arxiv
0+阅读 · 2022年4月19日
Quartz: Superoptimization of Quantum Circuits (Extended Version)
Arxiv
0+阅读 · 2022年4月19日
Quantum Bayesian Statistical Inference
Arxiv
0+阅读 · 2022年4月19日
Advantage of the key relay protocol over secure network coding
Arxiv
0+阅读 · 2022年4月19日
Convex-Concave Min-Max Stackelberg Games
Arxiv
0+阅读 · 2022年4月19日
A Survey of Quantization Methods for Efficient Neural Network Inference
Arxiv
21+阅读 · 2021年6月21日
Deep Generative Modelling: A Comparative Review of VAEs, GANs, Normalizing Flows, Energy-Based and Autoregressive Models
Arxiv
13+阅读 · 2021年3月8日
大家都在搜
PRML
洛克菲勒
大型语言模型
全面综述
ETHZ博士论文
RE-NET
壁画
汽车智能化
无人艇
出海产品从 0 到 1 该怎么做
Top
提示
微信扫码
咨询专知VIP会员与技术项目合作
(加微信请备注: "专知")
微信扫码咨询专知VIP会员
Top