Block-level Image Service for the Cloud——论文泛读

news2024/11/15 1:54:56

TOS 2024 Paper 论文阅读笔记整理

问题

企业越来越需要敏捷和弹性的计算基础设施来快速响应现实世界的情况。容器通过提供高效的基于流程的虚拟化和分层映像系统,可以实现灵活和弹性的应用程序部署。然而,由于图像下载和解包过程,创建或更新大型容器集群的速度仍然很慢。Verma等人[41]报告称,容器的启动延迟是高度变化的,典型的中值约为25秒,拉动层(包)约占总时间的80%。

现有方法局限性

  • 通过点对点(P2P)方法加速图像下载过程来减少容器启动时间[22,24,26,34,41]。但启动延迟仍然不令人满意。

  • 从远程图像中按需读取数据[10,18,20,21,23,37,45]。因为容器映像被组织为文件的覆盖层,并在运行时作为文件系统目录呈现给容器,所以之前的所有工作都遵循文件系统接口。但使用基于文件的图层有几个缺点。

    • 更新大文件(或其属性)很慢,因为在执行更新操作之前,系统必须将整个文件复制到可写层。

    • 创建硬链接的速度较慢,因为图像不支持跨层引用,也会触发复制操作。

    • 文件可能有大量的类型、属性和扩展属性,但并非所有平台都支持这些属性。此外,即使在一个平台上,对硬链接、稀疏文件等功能的支持也往往在文件系统之间不一致。

本文方法

本文提出了针对分离式基础架构的数据加速图像服务(DADI),一种块级图像服务,用于提高部署应用程序的灵活性和弹性。DADI基于观察结果,即增量图像可以用基于块的层来实现,其中每个层对应于一组文件更改,但在物理上是给定文件系统下块级别的更改集。

DADI的核心是称为叠加式块设备(OverlayBD)的新结构,它提供了一系列块层的合并视图。从概念上讲,它可以被视为当今通常用于合并容器映像的联合文件系统。它比联合文件系统更简单,可以实现扁平的层,以避免具有多个层的容器的性能下降。其优势包括:

  • 远程图像的细粒度按需数据传输

  • 具有高效编解码器和压缩感知缓存的在线解压缩

  • 基于跟踪的预取

  • 基于P2P的去中心化图像共享架构,具有协作块预取以处理突发工作负载

  • 灵活选择访客文件系统和主机系统

  • 高效修改大文件(跨层块引用)

  • 轻松与容器生态系统集成

通过OverlayBD实现的DADI包括以下技术:

  • 用远程镜像的细粒度按需传输取代了启动容器(下载镜像、开箱镜像、启动容器)的瀑布模型,实现了容器的迅速启动。

  • 具有高效编解码器和压缩感知缓存的在线解压缩。

  • 为了加速容器的冷启动,设计了基于拉取的预取机制,允许主机以图像层的粒度预先读取必要的图像数据。

  • 基于P2P的去中心化图像共享架构,以平衡所有参与主机之间的流量。

  • 用于处理突发工作负载的拉推协作块预取。

DADI已在阿里巴巴的生产环境中大规模部署,服务于全球最大的电子商务平台之一。性能结果表明,DADI可以在4秒内冷启动1000台主机上的10000个容器。

总结

针对容器启动的优化,本文提出了针对分离式基础架构的数据加速图像服务(DADI),包括以下优化点:(1)远程镜像的细粒度按需传输。(2)具有高效编解码器和压缩感知缓存的在线解压缩。(3)基于拉取的预取机制,允许主机以图像层的粒度预先读取必要的图像数据。(4)基于P2P的去中心化图像共享架构,以平衡所有参与主机之间的流量。(5)用于处理突发工作负载的拉推协作块预取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1699369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web开发学习总结

学习路线 Web 全球广域网,也称为万维网(www World Wide Web),能够通过浏览器访问的网站 初识Web前端 Web标准也称为网页标准,由一系列的标准组成,大部分由W3C(World Wide Web Consortium,万维网联盟)负责制定。三个组…

Qt pro工程文件编写汇总(区分debug和release、32位和64位的方法,编译输出目录等)

前言: 从事qt开发已经好几年了,但有关pro编写的一些细节问题一直没有一个很好的梳理汇总——因为实际工作开发中,往往只需要编译特定版本的软件(例如32位release版本),项目创建好后并设置好编译路径&#x…

OSPF网络类型实验2

对R4 对R5,找R1注册 对R1宣告环回,再宣告一下tunnel接口 本实验不考虑区域划分 现在已经全部宣告完成 对R1,2,3改接口 broadcast工作方式hello时间10s,然后进行dr选举,由于2,3之间没有伪广播 …

【探索数据结构】线性表之双链表

🎉🎉🎉欢迎莅临我的博客空间,我是池央,一个对C和数据结构怀有无限热忱的探索者。🙌 🌸🌸🌸这里是我分享C/C编程、数据结构应用的乐园✨ 🎈🎈&…

乡村振兴的农业品牌建设:打造农业品牌,提升农产品附加值,增强乡村经济竞争力,实现美丽乡村经济繁荣

目录 一、引言 二、农业品牌建设的重要性 (一)提升农产品附加值 (二)增强乡村经济竞争力 (三)实现美丽乡村经济繁荣 三、农业品牌建设的现状及问题 (一)现状 (二…

Go微服务: Nacos的搭建和基础API的使用

Nacos 概述 文档:https://nacos.io/docs/latest/what-is-nacos/搭建:https://nacos.io/docs/latest/quickstart/quick-start-docker/有很多种搭建方式,我们这里使用 docker 来搭建 Nacos 的搭建 这里,我们选择单机模式&#xf…

java实现图书系统源码

建包和类: Book Book: package Book;public class Book {private String name;private String author;private int price;private String type;private boolean isBorrowed;public Book(String name, String author, int price, String type) {this.name name;this.author …

【Qnx 】Qnx IPC通信PPS

Qnx IPC通信PPS Qnx自带PPS服务,PPS全称Persistent Publish/Subscribe Service,就是常见的P/S通信模式。 Qnx PPS的通信模式是异步的,Publisher和Subscriber也无需关心对方是否存在。 利用Qnx提供的PPS服务,Publisher可以通知多…

OrangePi KunPengPro | 开发板开箱测评之学习与使用

OrangePi KunPengPro | 开发板开箱测评之学习与使用 时间:2024年5月23日20:51:12 文章目录 OrangePi KunPengPro | 开发板开箱测评之学习与使用概述1.参考2.资料、工具3.使用3-1.通过串口登录系统3-2.通过SSH登录系统3-3.安装交叉编译工具链3-4.复制文件到设备3-5.第…

Android 使用 ActivityResultLauncher 申请权限

前面介绍了 Android 运行时权限。 其中,申请权限的步骤有些繁琐,需要用到:ActivityCompat.requestPermissions 函数和 onRequestPermissionsResult 回调函数,今天就借助 ActivityResultLauncher 来简化书写。 步骤1:创…

攻防世界[GoodRe]

攻防世界[GoodRe] 学到知识: 逆向的精髓:三分懂,七分蒙。TEA 算法快速识别(蒙): 数据处理的形式:进入加密时的数据和加密结束后的数据,处理时数据的分组等等,都能用来…

AtCoder Beginner Contest 355 A~F

A.Who Ate the Cake?(思维) 题意 已知有三个嫌疑人,有两个证人,每个证人可以指出其中一个嫌疑人不是罪犯,如果可以排除两个嫌疑人来确定犯人,输出犯人的身份,如果无法确定,输出"-1"。 分析 …

Pytorch(Overview)

目标 如何利用pytorch完成学习系统? 理解神经网络(neural networks)和深度学习(deep learning)基础。 需要了解线性代数和概率论数理统计等相关关系,和python编程语言。 讨论理解 到底什么是human int…

vue3项目+TypeScript前端项目 ———— elemnet-plus,svg图标配置,sass,mock数据

一.集成element-plus 官网地址 安装 pnpm install element-plus 引入 // main.ts import { createApp } from vue import ElementPlus from element-plus import element-plus/dist/index.css import App from ./App.vueconst app createApp(App)app.use(ElementPlus) app.…

esp32-idf 开发踩坑记录

现象 直接使用原始命令编译idf.py build 但是提示idf 版本错误 卸载旧版本 编译出错build 问题 然后删除编译文件后,重新编译,还是出错 解决方法1 最后发现是因为项目所在文件夹有中文目录,把项目迁移到英文目录后,重新编译&a…

重学java 46.集合 ① Collection集合

事常与人违,事总在人为 —— 24.5.26 集合 知识导航 1.集合的特点以及作用 2.使用collection接口中的方法 3.使用迭代器迭代集合 4.ArrayList以及LinkedList的使用 5.使用增强for遍历集合 一、单列集合框架的介绍 1.长度可变的容器:集合 2.集合的特点 a.…

TCP/IP协议(一)

一.报文和协议 协议有什么作用?协议定义通信实体间所交换报文的格式和次序,以及在报文发送和/或接收或者其他事件方面所采取的行动(响应)。 什么是报文?指在网络中传输的数据单元,网络通讯的基本单位。(HTTP报文、TCP报…

录屏技巧:win11怎么录屏?这5个电脑录屏方法快速了解下

无论您是想进行工作演示还是游戏直播,电脑录屏都有很大帮助。录制 Win 11 屏幕在很多方面都非常有效,因为它能让事情变得更简单。但 Win11怎么录屏呢?如果您仍有困惑,请查看本篇文章中列出的5个方法。在本文中,我们列出…

Python 获取当前IP地址(爬虫代理)

Python 获取当前IP地址(爬虫代理) 在Python中,获取当前的公网IP地址通常涉及到发送一个请求到外部服务,因为本地IP地址通常只在你的私有网络内部是可见的,而公网IP地址是由你的ISP(互联网服务提供商&#x…

猫抓(cat-catch)插件的常规用法

目录 1.1、前言1.2、抓取图片资源1.3、抓取音频资源1.4、抓取视频资源 1.1、前言 本文将介绍利用猫抓(cat-catch)插件如下抓取网页上的图片、音频、视频等资源,猫抓(cat-catch)插件的安装及设置请参考推荐一款媒体影音…