[論文レビュー] Batch-oriented software appliances
AppPot は、root 権限や特別な仮想化サポートが不要な状況下で、グリッドやクラスターアーキテクチャ上にバッチジョブとしてカスタム化された Linux 仮想アプライアンスを生成・デプロイできるバッチ指向のソフトウェアアプライアンスシステムです。User-Mode Linux (UML) を活用することで、アプリケーションとその完全な実行環境をパッケージ化でき、プライベートクラウド、パブリッククラウド、従来のバッチシステムを含む多様なコンピューティング環境で、ポータブルで再現可能かつ自己完結型の実行を実現します。
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.
研究の動機と目的
- 中央集権的なソフトウェア管理が非現実的である大規模かつ多様なコンピューティングインfraストラクチャにおいて、複雑でカスタム化された科学的アプリケーションをデプロイする課題に対処すること。
- 従来のバッチシステムがソフトウェアインストールを制限し、アプリケーションセットアップに管理者介入を要するという制限を克服すること。
- ユーザーが完全な実行環境をカプセル化した独自のソフトウェアアプライアンスを作成・実行できることを可能にし、再現可能性と隔離性を保証すること。
- 同一の仮想アプライアンスを用いて、ローカルマシンでの開発とバッチまたはクラウド環境での実行との間でスムーズに移行できること。
- システム管理者の関与や特権アクセスを必要としないユーザー主導のデプロイにより、管理負荷を軽減すること。
提案手法
- POSIX シェルスクリプトを用いて、Linux システムイメージの起動シーケンスを変更し、カーネルコマンドライン経由でバッチジョブとして起動可能にする。
- User-Mode Linux (UML) と統合する。UML は、Linux カーネルをユーザースペースプロセスとして実行する軽量仮想化技術であり、ハードウェア支援や root 権限なしに仮想化を実現できる。
- `apppot-start` というコマンドラインユーティリティを提供し、AppPot イメージを起動して仮想化環境内で指定されたコマンドを実行可能にする。
- オペレーティングシステム、ライブラリ、ランタイム設定を含む、最小限で自己完備型の Linux イメージにアプリケーションとその依存関係をパッケージ化する。
- UML が通常のプロセスとして実行可能であることに基づき、既存のバッチスケジューラ(例:SGE、SLURM)やグリッドミドルウェアと統合可能である。
- 同一のアプライアンスがローカルクラスタ、プライベートクラウド、パブリック IaaS 環境で使用可能であることを通じて、ポータビリティを実現する。
実験結果
リサーチクエスチョン
- RQ1軽量でユーザースペース仮想化アプローチは、システム管理者の介入なしに、複雑な科学的アプリケーションをバッチ指向のコンピューティングインfraストラクチャにデプロイ可能であるか?
- RQ2User-Mode Linux は、グリッドやクラスタ環境におけるバッチジョブとして動作するポータブルで自己完備型のソフトウェアアプライアンスを構築するために、どの程度活用可能であるか?
- RQ3AppPot は、既存のバッチシステムワークフローと互換性を保ちつつ、ソフトウェアデプロイの管理負荷をどの程度軽減できるか?
- RQ4メモリ制限のあるバッチ環境において、UML ベースのアプライアンスのパフォーマンスとスケーラビリティにどのような制限があるか?
- RQ5同じソフトウェアアプライアンスを、分散コンピューティングインfraストラクチャにおける開発・テスト・本番環境で一貫して使用可能か?
主な発見
- AppPot は、root 権限やインfraストラクチャレベルの仮想化サポートが不要な状況下で、複雑な科学的アプリケーションを自己完備型のソフトウェアアプライアンスとしてパッケージ化・デプロイ可能であり、バッチジョブとして実行可能であることを成功裏に実証した。
- 本システムは、スイス国立グリッドインフラストラクチャ(SMSCG)で本番環境に導入されており、大規模な実世界のコンピューティング環境における実現可能性と実用性を示している。
- AppPot アプライアンスはポータブルであり、ローカルクラスタ、プライベートクラウド、パブリック IaaS クラウドで同一に実行可能であり、実行環境間での再現性と一貫性を保証している。
- UML の使用により、AppPot はユーザースペースで実行可能であり、特権操作やハイパーバイザーレベルの仮想化を回避できるため、デプロイの簡素化と管理負荷の低減が可能である。
- 既知の制限として、UML のメモリ会計メカニズムが共有メモリページを誤って推定しており、バッチシステムがメモリ使用量の過剰と誤認してジョブを過剰に終了させることがあるが、UML ジョブのメモリ制限を無効化することで緩和可能である。
- UML にはネイティブな SMP 支援がないため、マルチスレッドアプリケーションのパフォーマンスが制限されるが、将来の拡張により UDP マルチキャストトンネルによる MPI ベースの並列実行が可能となり、HPC ワークロードへの対応が向上する可能性がある。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。