修士論文要旨

群れの自己組織化に基づく計算資源割り当ての試み

澤田 樹 (2020年2月)

近年、Webサービスを中心とするシステムの開発手法において、小規模で自律的な複数のサービスを協調的に動作させるマイクロサービス・アーキテクチャが急速に普及し始めている。マイクロサービスのような分散システムの運用は、モノリシックなシステムと比較して複雑になる傾向があり、サービスのスケジューリングや、インフラストラクチャのオートスケーリングなどの様々な仕組みが要求される。このような課題に対して、Kubernetesなどのオーケストレーションツールを筆頭に、様々なソリューションが提案されている。

一般に、資源割り当てなどのスケジューリング問題はNP困難であるため、メタヒューリスティクスを用いた手法が有効である。特に、生物の群れ行動に着想を得た群知能を用いた計算資源割り当て手法が注目されている。群知能アルゴリズムは、大域的最適解の探索能力に優れているだけでなく、アルゴリズムの実装の容易さや、比較的低い計算コストといった利点を持つ。先行研究では、群知能アルゴリズムを既存のオーケストレーションツールのスケジューリング機能に適用し、計算資源の利用効率を改善させることに成功している。しかし、このような従来手法は、定式化された最適化問題に対して、数あるメタヒューリスティクスの一つとして群知能を採用しているに留まっている。

他方、本研究ではこれまでに、群れにおける凝集・分散といった振る舞いを単一のパラメータによって制御するモデルを提案してきた。本研究では、このモデルの群れアルゴリズムを計算資源割り当てに応用することを試みる。応用に向けた前段階として、(1) 既存の提案手法をオーケストレーションツールに組み込むための設計、および、(2) 既存の提案手法におけるモデルの挙動のより詳細な調査を行った。

本提案は、次の二点において従来手法と大きく異なっている。第一には、群れアルゴリズムを汎用のメタヒューリスティクスとして単純に用いるのではなく、群れがもつ自己組織的なる舞いそのものを問題解決へ適用するアプローチである点である。第二には、サービスのスケジューリングと、インフラストラクチャのオートスケーリングを一括して行うといった点である。