優れた仮想マシンの配置戦略を作るために、遺伝的アルゴリズムを使用してキャパシティ管理

王Guobingによって

インターネット技術の急速な発展に伴い、クラウドコンピューティングは、すべての生命の散歩になってきた「水を、電気」「インターネット+」インフラ、データセンターやクラウドサービスなどは、硬質保護の背後にあります。従来のデータセンター、またはデータセンターのクラウド形式かどうかは、仮想化技術は、そのリソースの使用率を高め、コストを管理するための重要な方法を削減することです。
統計によると、初期の2016年に、AWSサーバのスケールは55万ユニット、しばらくの仮想マシンの数と、800以上の万人に達しています。仮想マシンの数の劇的な増加に伴い、仮想マシンの配置プログラムは、当然、データセンターのリソース使用率および他の必要性の重要な決定要因になります。

あなたは、データセンターのリソース使用率を増やしたい場合は、最小限の物理マシンは、最適化、リソース使用率のことができるようになり、エネルギーを節約するために再生するために、適切なプログラムの配置を使用する必要があります。システムの高可用性を維持するために、だけでなく、適切な配置スキームを選択するためには、異なるサーバ間でのリソースの使用率は、バランスにようにしてみてくださいということ。
多くの研究は、「多次元パッキング」問題として説明した仮想マシンを配置し、ロードされた記事では、仮想マシン、そのサイズの記事のために使用されるリソースがあり、物理マシンがそうである、箱の容量は、物理マシン設定可能なしきい値があり、リソースがCPUを備えることができます種類、メモリ、ディスク、ネットワーク帯域幅および他のリソースの数は、パッキングの問題の次元です。
物理マシンMの数を仮定し、仮想マシンの数は、理論的にアップ展開シナリオ、NP困難問題のMタイプのN乗に、Nです。NP困難な問題を解決する過程では、このような遺伝的アルゴリズムなどの発見的アルゴリズム、シミュレーテッドアニーリングアルゴリズムはように優れた性能としています。ここでは、問題を解決するには、古典的な遺伝的アルゴリズムのアイデアや、特定のフロアプランをご紹介します。
優れた仮想マシンの配置戦略を作るために、遺伝的アルゴリズムを使用してキャパシティ管理
グローバル最適化アルゴリズムは、様々な分野で広く用いられている、遺伝的探索アルゴリズム、シンプルな汎用性、堅牢、並列処理に適し、ならびに効率的かつ実用的、および他の顕著な特徴です。
すべてのオブジェクトとしてグループの遺伝的アルゴリズムの一種で、個人、およびパラメータ空間上で効率的なランダムな検索技術をコードしていました。ここで、選択、交叉および突然変異操作は、遺伝GAを構成する、コード、初期集団、適応度関数の設計、遺伝子操作の設計、遺伝的アルゴリズムのコアの5つの要素の制御パラメータの設定値を設定します。さて、この問題は、遺伝的アルゴリズムの5つの要素にそれを理解する方法を、「仮想マシンは、物理マシン上に置かれていますか」?
優れた仮想マシンの配置戦略を作るために、遺伝的アルゴリズムを使用してキャパシティ管理
遺伝的アルゴリズムによって、その後のコンセプトの以下の解釈によって、我々は、仮想マシン、物理マシン、仮想マシンの配置プログラム、現在のプログラムの指標の評価、の現実の世界になり、固有名詞の過程で「遺伝的アルゴリズム」にマッピングし、ソリューション:
L染色体:染色体はまた、集団内の個人にいう「シーケンスの仮想マシンプログラムの現在位置」を表し、
評価染色体L:異なる配置の適応方式が異なる値を有し、プログラムの現在の値のメリットを決定するように適合され、物理マシンの数は、一般的に染色体を評価するために使用される、可用性の制約を考慮して、およびその他の要因は、仮想マシンの数を制限し、複数のターゲットの問題の種類解決する結合「ローカル混雑距離」アルゴリズム「をソート速い非支配」を使用することができ;
L遺伝子成分(交叉、突然変異)に作用する;変更仮想マシンの配置配列の染色体行動上の部分
:L集団を染色体、複数の染色体進化は番号の下にある現在のコレクション(様々な配置スキームのコレクション)を表し、
固有名詞は、実際の物理的な問題と遺伝的アルゴリズムにマッピングされた後、私たちはどのように五行GAのデモンストレーションを行います現実世界の問題にマッピングされた:
コード
優れた仮想マシンの配置戦略を作るために、遺伝的アルゴリズムを使用してキャパシティ管理
の各「コードセット」方法の典型的である染色体として「仮想マシンのプログラムの完全な配列は、物理マシンの配列に配置されている」、上記のように、我々は結果を見ることができます異なる物理マシンは、最終の2本の染色体に使用される物理マシンの数ではありません A.

初始群体设定
基于启发式的初始化群体方法可以降低算法优化过程的复杂度,但同时要保证群中染色体的多样性,这样是为了扩大搜索解空间,从而求解近似于全局最优解而非局部最优解;
在启发式算法中,第一个虚拟机放入第一个物理机,然后根据虚拟机序列顺序,依次放入其他虚拟机,直到第一个物理机资源不足。该过程可理解为:对于任意一台虚拟机,需先遍历当前已使用的物理机序列,直到被使用的物理机无法满足该资源需求。此时新开辟一台物理机为其使用——这是生成一条染色体的方式,同时为了保证种群的多样性,在每次生成新染色体时,我们需要随机打乱虚拟机序列的顺序,这种方法显然是简单而有效的。
适应度函数的设计
适应度是对当前种群中个体的评价方式,对于多目标优化问题一般可采用二代多目标优化算法NSGA2中的快速非支配排序进行个体等级划分,然后通过局部密度算法进行密度估计,确定每个个体的优先级。
这个过程听起来很抽象,它的具体操作是怎样进行的呢? 如下图所示:若Costf1 和 Cost f2 分别表示个体在“使用物理机数量”、“整体高可用性”上的度量,且取值越大代表该方案在该维度上越优秀,则对于个体集合{1,2,3,4}来说,每个元素都至少存在另外一个在各方面比自身优秀的个体,如对于个体4来说,个体5在“使用物理机数量”、“整体高可用性”上的维度上都优于个体4,此时我们说“个体5是支配个体4的”;而对于集合{5,6,7}来说,因为不存在支配他们的个体,所以他们被称为“非支配解”;这种“非支配解”的适应度在理论上应该是最高的。
優れた仮想マシンの配置戦略を作るために、遺伝的アルゴリズムを使用してキャパシティ管理
遗传操作设计
遗传算法中的核心操作便是“选择”、“基因交叉”、“基因变异”,这三个操作决定了种群的进化方向,是让算法朝着我们的目标不断优化的基础。
「選択」(選択):数値は、個々に達するまで、この方法で2選択方法を使用して、制約の競合、集団中の2つのランダムに選択された個体からの電流、及び親個体として個体の適応の最大値は、動作が繰り返されます次の個別の親集団として選出された所定の人口規模、。2つの個体を用いた比較方法がNSGA2は、比較演算子を導入混雑しました。
「クロス」(クロスオーバー):Bながら選択プロセスの二つは、「選択」は、BにA、B、物理単位のランダムな選択、物理マシンと交差親個々のオブジェクトとして選択されます仮想マシンは、再びBに配置されている間に仮想マシンを構成する個々の元の物理マシンは、シーケンスBから除去され、レコードが削除されます この動作を実装する仮想マシンが重い機械の物理的順序を割り当てられ、そして選択はランダム物理マシンであるため、多様「クロスオーバー」を確保するために、及び
優れた仮想マシンの配置戦略を作るために、遺伝的アルゴリズムを使用してキャパシティ管理
「変異体」(変異):操作「変異体」は、比較的単純であり、説明簡単有する:削除された物理マシンA、からランダムに選択された個々の染色体Aから親、ランダムに選択された個体、及びAに再挿入上の仮想マシンの元の配列-本目的は、物理マシンの使用を減らすことですが、物理マシンのためには、ランダムに選択され、私たちは「突然変異」操作が発生する確率を減らすことができますので、それは、方向のすべてのバリエーションが正しいことを保証するものではありませんが、それはまたですそれは「選択」の権利の重要性を反映しています。
制御パラメータ設定
パラメータセットは、主などの遺伝子操作の各操作の発生の確率を意味する:私たちは、「クロス」動作が0.6、「突然変異」動作の発生確率での発生確率を設定することができ0.05であり、有効なパラメータセットを所定の集団は、近最適解を与えるために、より速く、より良好に制御することができます。
5つの要素の上に実装することで、我々は、仮想マシンの配置の問題を解決するための手順遺伝的アルゴリズムを修正することができます。
優れた仮想マシンの配置戦略を作るために、遺伝的アルゴリズムを使用してキャパシティ管理
一般的に、反復アルゴリズムの実行条件は二重である:まず、目標設定値を満たしている最良の染色体の現在の値に適応する、第二は、指定された反復の数です。人間の経験の遺伝子操作を通じて、合理的な戦略を選択して、我々はすぐにプログラムの私たちの目標を取得することができます。

おすすめ

転載: blog.51cto.com/14281532/2448698