H-Container: Enabling Heterogeneous-ISA Container Migration in Edge Computing——论文泛读

TOCS 2022 Paper 论文阅读笔记整理

问题

边缘计算是最近的一种计算模式,使云服务更接近客户端,提供了极低的客户端/服务器延迟,同时减轻数据中心的计算负载和网络的数据流量。为了始终提供低延迟,服务应该在物理上靠近其客户端的边缘节点上运行,因此,当客户端的物理位置发生变化时,服务应该在边缘节点之间迁移以保持接近。

与云节点不同的是,边缘节点集成了不同指令集体系结构(ISA)的CPU,导致为给定ISA本地编译的程序无法迁移到配备了不同ISA的CPU的服务器,这会阻碍服务的迁移。若支持异构ISA迁移,可以最大限度地增加潜在迁移目标的数量,并增加延迟敏感服务的最佳位置。

与云类似,边缘的物理机器在相互不信任的租户之间共享。因此,当在边缘部署服务时,虚拟化是必要的,而且边缘节点中的计算资源受到了限制。在这种情况下,轻量级虚拟化技术比传统的重量级虚拟机(VM)更有吸引力[45]。容器是轻量级操作系统级虚拟化的一种形式,提供接近本机的性能[18]、快速调用延迟和低内存占用。

现有方法局限性

容器可以在运行时跨同构节点迁移[37],但不能在异构ISA节点上迁移。现有方法针对操作系统级进程[12]、单内核虚拟机[77]或Java应用程序[42],在运行时跨ISA迁移[12、24、29、32、42、44、58、77、102]。但这些方法适用于生产。

  • 需要访问应用程序的源代码,在许多情况下是不可接受的。

  • 依赖于复杂的实验系统软件,需要安装自定义内核[12]、系统管理程序[77]或语言VM[42],这些仅与少数机器兼容。

  • 应用程序状态转移技术无法处理所有应用程序的依赖关系[25],如套接字描述符,因此,不支持服务器等网络应用程序。

  • 不支持动态链接的二进制文件,它比静态二进制文件更广泛[99]。

本文方法

本文提出了H-Container,支持跨不同ISA的计算节点,迁移本机编译的容器化应用程序。H-Container有三个优势:(1)高度兼容,不需要用户源代码,也不需要编译器工具链修改;(2) 易于部署,在用户空间实现,没有操作系统或系统管理程序依赖性;(3)基本上符合Linux,可以迁移大多数Linux软件,包括服务器应用程序和动态链接的二进制文件。

针对广泛使用的x86-64和arm64 ISA,增强了Linux的用户空间检查点和恢复(CRIU)工具,该工具用作Docker容器迁移技术背后的底层机制,具有跨ISA转换机制。将H-Container集成到Docker中,允许在不同ISA的主机之间迁移容器。CRIU除了是构建同质化ISA容器迁移的标准工具外,它还用于捕获进程状态,特别是该状态的内核部分。其中包括套接字描述符和网络堆栈状态,从而支持H-Container中的服务器应用程序。

H-Container引入了一种转译器,该转译器获取本机编译的应用程序二进制文件,并使用反汇编程序和提升工具将其转换为中间表示(IR)[34]。并对IR进行检测,将其编译为多个ISA的本机编译二进制文件。这样的二进制文件是用额外的元数据构建的,这些元数据可以在运行时实现跨ISA迁移。对CRIU的修改是最小的,大多数迁移处理都是通过我们开发的外部用户空间工具实现的。

开源代码:Popcorn Linux - H-Container: Heterogeneous-ISA Container

实验表明,H-Container在程序执行过程中不增加开销,在迁移过程中增加了10−100毫秒。H-Container在现实场景中,当通过异构容器迁移保持客户端/服务器接近时,Redis吞吐量可提高94%。

总结

针对边缘计算场景中,如何支持异构集体系结构(ISA)的计算节点间迁移服务。本文提出了H-Container,支持跨不同ISA的计算节点,迁移本机编译的容器化应用程序。有三个优势:(1)高度兼容,不需要用户源代码,也不需要编译器工具链修改;(2) 易于部署,在用户空间实现,没有操作系统或系统管理程序依赖性;(3)基本上符合Linux,可以迁移大多数Linux软件,包括服务器应用程序和动态链接的二进制文件。针对广泛使用的x86-64和arm64 ISA,增强了Linux的用户空间检查点和恢复(CRIU)工具,并集成到Docker中,允许在不同ISA的主机之间迁移容器。引入了一种转译器,获取本机编译的应用程序二进制文件,并使用反汇编程序和提升工具将其转换为中间表示(IR)。并对IR进行检测,将其编译为多个ISA的本机编译二进制文件。这样的二进制文件是用额外的元数据构建的,这些元数据可以在运行时实现跨ISA迁移。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妙BOOK言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值