[论文解读] Batch-oriented software appliances
AppPot 是一种面向批处理的软件设备系统,允许用户在无需 root 权限或特殊虚拟化支持的情况下,将定制的 Linux 虚拟设备作为常规批处理作业在网格或集群基础设施上创建和部署。通过利用用户模式 Linux(UML),AppPot 允许用户将应用程序及其完整的运行时环境打包,实现在包括私有云、公共云和传统批处理系统在内的异构计算环境中可移植、可复现且自包含的执行。
This paper presents AppPot, a system for creating Linux software appliances. AppPot can be run as a regular batch or grid job and executed in user space, and requires no special virtualization support in the infrastructure. The main design goal of AppPot is to bring the benefits of a virtualization-based IaaS cloud to existing batch-oriented computing infrastructures. In particular, AppPot addresses the application deployment and configuration on large heterogeneous computing infrastructures: users are enabled to prepare their own customized virtual appliance for providing a safe execution environment for their applications. These appliances can then be executed on virtually any computing infrastructure being in a private or public cloud as well as any batch-controlled computing clusters the user may have access to. We give an overview of AppPot and its features, the technology that makes it possible, and report on experiences running it in production use within the Swiss National Grid infrastructure SMSCG.
研究动机与目标
- 解决在集中式软件管理不可行的大规模异构计算基础设施中部署复杂自定义科学应用程序的挑战。
- 克服传统批处理系统通常限制软件安装并需要管理员干预才能设置应用程序的局限性。
- 使用户能够创建并运行封装完整运行时环境的软件设备,确保可复现性和隔离性。
- 通过在本地机器上使用相同的虚拟设备进行开发,在批处理或云环境中执行,实现开发与执行之间的无缝过渡。
- 通过允许用户自主部署应用程序而无需系统管理员参与或特权访问,降低管理开销。
提出的方法
- 使用 POSIX shell 脚本修改 Linux 系统镜像的引导序列,使其可通过内核命令行作为批处理作业启动。
- 与用户模式 Linux(UML)集成,UML 是一种轻量级虚拟化技术,可将 Linux 内核作为用户空间进程运行,实现在无硬件支持或 root 权限的情况下进行虚拟化。
- 提供一个命令行工具 `apppot-start`,用于调用 AppPot 镜像并在虚拟化环境中执行指定命令。
- 将应用程序及其依赖项打包成一个最小化、自包含的 Linux 镜像,其中包含操作系统、库和运行时配置。
- 利用 UML 可作为普通进程运行的特性,使其能够与现有批处理调度器(如 SGE、SLURM)和网格中间件集成。
- 通过支持相同设备在本地集群、私有云和公共 IaaS 环境中的使用,实现可移植性。
实验结果
研究问题
- RQ1轻量级、用户空间虚拟化方法是否能够在无需系统管理员干预的情况下,在面向批处理的计算基础设施中部署复杂科学应用程序?
- RQ2用户模式 Linux 在多大程度上可用于创建可在网格和集群环境中作为批处理作业运行的可移植、自包含软件设备?
- RQ3AppPot 在多大程度上能有效减轻软件部署的管理负担,同时保持与现有批处理系统工作流的兼容性?
- RQ4在内存受限的批处理环境中,基于 UML 的设备在性能和可扩展性方面存在哪些限制?
- RQ5相同的软件设备是否能够在分布式计算基础设施中的开发、测试和生产环境中一致使用?
主要发现
- AppPot 有效实现了用户将复杂科学应用程序打包并作为自包含软件设备部署,可在无需 root 权限或基础设施级虚拟化支持的情况下作为批处理作业执行。
- 该系统已在瑞士国家网格基础设施(SMSCG)的生产环境中部署,证明了其在真实大规模计算环境中的可行性和可用性。
- AppPot 设备具有可移植性,可在本地集群、私有云和公共 IaaS 云环境中以相同方式执行,确保了执行环境之间的一致性和可复现性。
- 使用 UML 允许 AppPot 在用户空间运行,避免了对特权操作或虚拟机管理程序级虚拟化的需要,从而简化了部署并减少了管理开销。
- 一个已知限制是 UML 的内存会计机制会错误估计共享内存页,导致批处理系统因误判内存超用而提前终止作业,尽管可通过禁用 UML 作业的内存强制机制来缓解此问题。
- 尽管 UML 缺乏原生 SMP 支持,限制了多线程应用程序的性能,但未来可通过 UDP 多播隧道技术实现基于 MPI 的并行执行,从而增强对 HPC 类工作负载的支持。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。