web-dev-qa-db-ja.com

クラウドでの仮想マシン(VM)統合のための効率的なアルゴリズム

問題:
[〜#〜] n [〜#〜]それぞれにramを備えた物理マシン(PM)[〜#〜] r [〜#〜] ==、cpu [〜#〜] c [〜#〜] 現在スケジュールされているVMのセットで、それぞれにram要件がありますr およびc それぞれ
あるVMから他のPMへの移動(移行)には、RAMに依存するコストが関連付けられていますr。 VMのないPMは、電力を節約するためにシャットダウンされます。
私たちの目標は、一部のVMを移行することで(N、migration cost)の加重和を最小限に抑えることです。つまり、稼働中のPMの数を最小限に抑え、過度の移行によるサービスレベルの低下を防ぎます。

私のアプローチ:
ブルートフォースアプローチは、最小負荷PMを選択して、最初の適合減少アルゴリズムによってVMを他のPMに適合させるか、または負荷レベルと可能であれば、VMをターゲットに移動して、被害者をシャットダウンします。
Baadal(IIT-Dクラウド)のデータでこの貪欲なアプローチを試しましたが、期待できる結果が得られていません。

また、動的なVM統合のためのAntコロニーの最適化を研究しようとしましたが、あまり理解できませんでした。リンクを使用しました。
http://dumas.ccsd.cnrs.fr/docs/00/72/52/15/PDF/Esnault.pdfhttp://hal.archives -ouvertes.fr/docs/00/72/38/56/PDF/RR-8032.pdf

誰かが解決策を明確にするか、パフォーマンスを向上させるための新しいアプローチ/リソースを提案してください。
私は基本的に物理的な最適化ではなくアルゴリズムを探しています。また、多くの商業組織がこれらのソリューションを提供していることも知っていますが、基礎となるアルゴリズムについてもっと知りたいと思っていました。

前もって感謝します。

5
v78

PM全体の負荷を最適化しようとはしません。これは、VMが常に移動する結果になる可能性があるためです。 1回の移動の結果、おそらくバランスが変わり、さらに別の移動が必要になります。

代わりに、PM(割り当て超過))ごとに許容可能な負荷係数を決定し、次の場合にのみアクションを実行します。

a。アクションは操作を妨げません

b。結果は状況を改善します(非常に良い場所が別のPMで利用可能です)

また、他にもさまざまな要素が関係しています。どのマシンが他のマシンと「親和性」があるか知っていますか? Webサーバーと関連するデータベースサーバーのペアは、互いに近くに配置するとパフォーマンスが向上する可能性があります。

言い換えれば、私は最大のリソース最適化ではなく、安定性(最小の移動数と最小の移動)を目指します。

ハードウェアに合わせて簡単に分割できる特定の標準サイズのVMを使用することで、配置を最適化できると思います(LEGOブロックはサイズが異なりますが、常に「適合する」ピースを見つけることができます)。これにより、使用できないものが最小限に抑えられます。 a PMの残りのハードウェアは、a VMを配置するには小さすぎます。

しかし、仮想化ソフトウェアの市長のサプライヤは、これがすでに5分であなたや私よりもはるかにうまく機能していると思います。

1
oɔɯǝɹ