[論文レビュー] An Experimental Study on Microservices based Edge Computing Platforms
本論文はDockerコンテナを用いたエッジコンピューティングプラットフォーム上でマイクロサービスのデプロイメントポリシーを評価し、CPU集約的およびI/O集約的マイクロサービスを1つのコンテナで同時に実行しても、ベースライン性能に近い水準を維持できることを示している。一方、メモリ集約的ワークロードは、同様のタイプのものと競合する場合にのみ著しい影響を受ける。研究では、cgroupsによるコンテナリソース制御が干渉を顕著に低減することが判明しており、特にリソースが制限されるエッジ環境において顕著である。
The rapid technological advances in the Internet of Things (IoT) allows the blueprint of Smart Cities to become feasible by integrating heterogeneous cloud/fog/edge computing paradigms to collaboratively provide variant smart services in our cities and communities. Thanks to attractive features like fine granularity and loose coupling, the microservices architecture has been proposed to provide scalable and extensible services in large scale distributed IoT systems. Recent studies have evaluated and analyzed the performance interference between microservices based on scenarios on the cloud computing environment. However, they are not holistic for IoT applications given the restriction of the edge device like computation consumption and network capacity. This paper investigates multiple microservice deployment policies on the edge computing platform. The microservices are developed as docker containers, and comprehensive experimental results demonstrate the performance and interference of microservices running on benchmark scenarios.
研究の動機と目的
- リソース制限のあるエッジデバイスに複数のマイクロサービスをデプロイした際のパフォーマンスおよび干渉を調査すること。
- 『1つのコンテナに1つのプロセス』の原則に反するが、エッジプラットフォーム上で複数のマイクロサービスを1つのコンテナに実行することが可能かどうかを評価すること。
- マイクロサービスワークロードにおけるフォグとエッジコンピューティング環境間のパフォーマンス干渉パターンの違いを比較すること。
- エッジデバイスにおけるパフォーマンス、リソース利用効率、およびシステム保守性のバランスをとる最適なマイクロサービスデプロイメントポリシーを特定すること。
提案手法
- CPU集約的(L)、メモリ集約的(S)、ディスクI/O集約的(B)の異なるリソースプロファイルを持つマイクロサービスをDockerコンテナとして開発した。
- 4つのデプロイメントポリシーを設計:cgroups有効/無効の単一コンテナ、cgroups有効/無効の別々のコンテナ。
- Raspberry Piを基盤とするエッジプラットフォーム上で、ベンチマークワークロード(CPU:lmbench、メモリ:COPY、ディスクI/O:Bonnie++)を用いて実験を実施した。
- CPUレイテンシ、メモリ帯域幅(GB/s)、ディスクI/Oスルーブライト(MB/s)などのメトリクスを用いてパフォーマンスを測定した。
- cgroupsを適用し、制御されたテストケースでコンテナ間干渉を制限・隔離した。
- 同一ワークロード下で4つのデプロイメント設定(ケース1~4)を比較し、コンテナ化およびリソース制御の影響を分離して分析した。
実験結果
リサーチクエスチョン
- RQ1『1つのコンテナに1つのプロセス』の原則に反するが、エッジデバイス上で複数のマイクロサービスを1つのコンテナに実行することは可能か?
- RQ2複数のマイクロサービスをデプロイする際、フォグとエッジコンピューティングプラットフォーム間でパフォーマンス干渉はどのように異なるか?
- RQ3CPU、メモリ、I/Oリソースが限られたエッジデバイスにおいて、コンテナの統合とリソース競合のトレードオフはどのようなものか?
- RQ4CPU、メモリ、I/Oタイプのマイクロサービスのどの組み合わせが、1つのコンテナに共存させた場合に最もパフォーマンス低下が小さいか?
主な発見
- CPU集約的(L)およびディスクI/O集約的(B)マイクロサービスを1つのコンテナで同時に実行した場合、ベースライン比でわずか12%のパフォーマンス低下に抑えられ、共存が許容可能であることが示された。
- メモリ集約的(S)とCPU集約的(L)マイクロサービスの組み合わせは、1つのコンテナ内で実行した場合に41%のパフォーマンス低下を示し、最も悪いパフォーマンスを示した。
- 別々のコンテナでcgroupsを有効化したケース4では、干渉が低減され、すべてのマイクロサービスコンビネーションでパフォーマンスが向上し、cgroups無効のケースを上回った。
- メモリ集約的マイクロサービスは、同じコンテナ内で別のメモリ集約的サービスと競合しない限り、最小限のパフォーマンス影響を受ける。
- ディスクI/O集約的マイクロサービス(B+B)は、隔離されていてもリソース競合のため顕著なパフォーマンス低下を示し、I/O負荷下での高競合が顕著に確認された。
- 最良の全体的パフォーマンスは、ケース4(別々のコンテナ+cgroups有効)で達成され、マイクロサービスが隔離されリソース制御がなされており、すべてのコンビネーションでベースラインに近いパフォーマンスを示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。