ImageApparate(幻影)镜像加速服务让镜像分发效率提升 5-10 倍

作者介绍

李昂,腾讯高级开发工程师,主要关注容器存储和镜像存储相关领域,目前主要负责腾讯容器镜像服务和镜像存储加速系统的研发和设计工作。

李志宇,腾讯云后台开发工程师。负责腾讯云 TKE 集群节点和运行时相关的工作,包括 containerd、docker 等容器运行时组件的定制开发和问题排查。

洪志国,腾讯云架构师,负责 TKE 产品容器运行时,K8s,容器网络,mesh 数据面等基础组件研发。

背景

在业务普遍已经完成容器化的大环境下,不同的业务场景对于容器启动需求也是不同的,在离线计算和一些需要快速增加计算资源(伸缩组)的在线服务场景下,往往对于容器的启动速度有较高的要求。

在容器启动的整个周期中镜像拉取的时间往往占据 70% 甚至更多。据统计,某离线计算业务因容器镜像较大,每次扩容上千 Pod 耗时高达 40 分钟。镜像分发成为容器快速弹性伸缩的主要障碍。

ImageApparate(幻影)

为了解决这个问题,腾讯云容器服务 TKE 团队开发了下一代镜像分发方案 ImageApparate(幻影), 将大规模大镜像分发的速度提升 5-10倍benchmark.png

应对既有 Docker 下载镜像模式带来的问题,社区新方案的讨论主要在镜像数据的延迟加载(Lazy-Pull)和新镜像格式的设计不再以层为最小单位,而是 chuck 或者镜像内文件本身。

不过,目前看OCI V2离我们依然还很远,当前我们通过何种方式来应对这类场景呢?

回到问题本身,当前OCI V1和容器运行时交互逻辑需要先下载完整镜像才能运行容器,但是容器启动和运行时到底会使用镜像内的多少内容,这篇论文 FAST '16 统计了 DockerHub 中一些常见的官方镜像在其使用启动后需要读取的数据量,得出的结论是仅有平均 6.4% 的内容需要读取。也就是说镜像中的大部分内容可能在容器的整个生命周期内根本不需要,那么如果我们只加载 6% 的数据就可以大幅减少镜像拉取时间,从而加速容器启动速度,这也就为后续的优化提供了理论前提。

因此减少容器启动时间的重点就在容器的 rootfs 即容器镜像的获取上。

基于此前提,在兼容OCI V1的框架下,TCR 推出了 ImageApparate(幻影) 容器镜像加速服务。首先直接放结论,在 200 节点且镜像内容占镜像总大小的 5% 到 10%。如上所述,相比于传统的下载全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 生成一个带有吉布斯幻影的Shepp-Logan图需要以下步骤: 1. 首先,了解Shepp-Logan图是一种常用于图像重建算法的测试图像,用于评估重建算法的性能。它由一组模拟人类头部的椭圆形状组成,每个椭圆形状都具有不同的强度和位置。 2. 接下来,生成一个标准的Shepp-Logan图像,可以使用Python等图像处理库来实现。根据Shepp-Logan模型中定义的椭圆参数,通过绘制相应的椭圆形状并加上适当的强度,绘制出整个图像。这个过程可以使用椭圆方程来实现。 3. 为了添加吉布斯幻影,需要在生成的Shepp-Logan图像中引入一些偏差。吉布斯幻影是重建算法中常见的伪影,它由图像中物体的不连续性和采样限制造成。为了模拟吉布斯幻影,可以在Shepp-Logan图像中添加一些人为的不连续边界。 4. 在生成的Shepp-Logan图像中,选择一些相邻区域,并在这些区域之间引入较大的强度变化,模拟吉布斯幻影的效果。可以通过在这些区域之间添加突变或改变椭圆形状的大小和位置来实现。 5. 最后,将生成的带有吉布斯幻影的Shepp-Logan图像保存并显示出来,以便进行进一步的分析和研究。 总结来说,生成一个带有吉布斯幻影的Shepp-Logan图像需要先生成标准的Shepp-Logan图像,然后在适当的位置引入人为的不连续边界,模拟吉布斯幻影的效果。这个过程可以使用图像处理库和数学方程来实现。 ### 回答2: Shepp-Logan图是一种经典的医学图像仿真模型,常用于图像处理和重建算法的测试与评估。吉布斯(Gibbs)幻影是一种由图像重建过程中产生的伪影,主要表现为图像边缘周围出现明显的振铃效应。接下来我将详细介绍生成一个带有吉布斯幻影的Shepp-Logan图的步骤。 首先,我们需要导入相应的数学库,如NumPy和Matplotlib。然后,我们可以创建一个大小为N×N的空白图像,其中N为所需的图像尺寸。在空白图像中,我们将绘制各个仿真物体的轮廓。 接下来,我们需要定义各个仿真物体的参数,包括位置、尺寸和强度等。Shepp-Logan模型通常包含具有不同形状(如椭圆、矩形等)和强度的物体。根据这些参数,我们可以在空白图像中绘制各个物体的轮廓。 为了生成吉布斯幻影,我们需要在物体边缘增加一定程度的振铃效应。这可以通过在绘制轮廓时考虑边缘像素的加权平均来实现。在计算像素强度时,我们可以使用一个指定的振铃滤波器,如Hamming窗函数。 最后,为了使生成的图像更加真实,我们还可以考虑添加一些呈现模拟噪声的随机扰动。这样,最终生成的图像就具有了带有吉布斯幻影的Shepp-Logan图的特征。 总体而言,生成带有吉布斯幻影的Shepp-Logan图需要定义物体参数、绘制轮廓、应用振铃滤波器和添加噪声等步骤。通过调整参数和滤波器的选择,我们可以探索不同程度的幻影效果,用于测试和评估图像处理算法的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值