JP5773142B2 - Computer system configuration pattern calculation method and configuration pattern calculation apparatus - Google Patents
Computer system configuration pattern calculation method and configuration pattern calculation apparatus Download PDFInfo
- Publication number
- JP5773142B2 JP5773142B2 JP2011138602A JP2011138602A JP5773142B2 JP 5773142 B2 JP5773142 B2 JP 5773142B2 JP 2011138602 A JP2011138602 A JP 2011138602A JP 2011138602 A JP2011138602 A JP 2011138602A JP 5773142 B2 JP5773142 B2 JP 5773142B2
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- configuration pattern
- physical
- pattern
- computer system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Description
本発明は、物理計算機の計算機資源を仮想化して複数の仮想計算機を提供する仮想計算機システムの管理方法の改良に関する。 The present invention relates to an improvement in a management method of a virtual computer system that provides a plurality of virtual computers by virtualizing computer resources of a physical computer.
物理サーバ内に複数の仮想サーバを立ち上げることで省電力と低コストを実現する仮想化システムは、企業や個人を問わず広く普及している。ここで、仮想化システムを構築する場合、既存のシステムを構成する場合に比べ考慮すべき点が増加する。考慮すべき1点目は、どの物理サーバにどの仮想サーバを配置するかということである。2点目は、仮想サーバ同士がどのように構成されているのか、また仮想サーバの台数が適切であるかということである。ここで構成とは、仮想化システムにおける仮想サーバと、仮想スイッチおよび仮想ルータなどの接続関係のことを指す。そして3点目は、仮想化システムのベースとなる物理サーバ群がどのように構成されているのか、また物理サーバの台数が適切であるかということである。こちらの構成は、仮想化システムのベースとなる物理サーバ、物理スイッチおよび物理ルータなどの接続関係のことを指す。 A virtualization system that realizes power saving and low cost by starting up a plurality of virtual servers in a physical server is widely used regardless of companies or individuals. Here, when constructing a virtualization system, points to be considered increase compared to the case of configuring an existing system. The first point to consider is which virtual server is placed on which physical server. The second point is how the virtual servers are configured, and whether the number of virtual servers is appropriate. Here, the configuration refers to a connection relationship between a virtual server, a virtual switch, a virtual router, and the like in the virtualization system. The third point is how the physical server group that is the base of the virtualization system is configured, and whether the number of physical servers is appropriate. This configuration refers to the connection relationship between a physical server, a physical switch, a physical router, and the like that are the basis of the virtualization system.
どの物理サーバにどの仮想サーバを配置するかということは、仮想化システムにおけるパフォーマンスに大きく影響する。例えば、CPU性能の高い物理サーバに、CPU負荷の高い処理を行う仮想サーバを配置することは有益であり、CPU性能の低い物理サーバにCPU負荷の高い処理を行う仮想サーバを配置することは、有益ではないといえる。また、ある仮想サーバAとある仮想サーバB間の通信頻度が高いのであれば、仮想サーバA、Bが配置される物理サーバA、Bも、やはり近くに配置されていることが望ましい。 Which virtual server is allocated to which physical server greatly affects the performance of the virtualized system. For example, it is beneficial to place a virtual server that performs processing with high CPU load on a physical server with high CPU performance, and to place a virtual server that performs processing with high CPU load on a physical server with low CPU performance It can be said that it is not useful. If the communication frequency between a certain virtual server A and a certain virtual server B is high, it is desirable that the physical servers A and B on which the virtual servers A and B are arranged are also arranged nearby.
仮想サーバ同士がどのように構成されて仮想化システムを作り上げているのか、また仮想サーバの台数が適切であるかという点もまた、仮想化システムにおけるパフォーマンスに影響する。例えば、ある仮想サーバへの通信が集中するような構成が取られている場合、その仮想サーバはボトルネックとなり、構成の見直しが必要であると言える。また、仮想サーバの数が足りない場合、システム全体の負荷が過大になってしまい、仮想サーバの数が多すぎる場合には、アイドル状態の仮想サーバが何台か出てきてしまう。さらに、仮想サーバの性能は配置される物理サーバに左右されるため、仮想サーバが何台必要かといった見積もりを正確に行うのは困難である。 How virtual servers are configured to create a virtualized system and whether the number of virtual servers is appropriate also affect the performance of the virtualized system. For example, if a configuration is adopted in which communication to a certain virtual server is concentrated, it can be said that the virtual server becomes a bottleneck and the configuration needs to be reviewed. In addition, when the number of virtual servers is insufficient, the load on the entire system becomes excessive, and when there are too many virtual servers, several idle virtual servers appear. Furthermore, since the performance of the virtual server depends on the physical server to be arranged, it is difficult to accurately estimate how many virtual servers are required.
仮想化システムのベースとなる、物理サーバの構成および物理サーバ台数もまた重要である。例えば、スイッチへの接続サーバが多すぎる場合には、そのスイッチがボトルネックとなってしまい、接続されている物理サーバは十分に性能を発揮できない。また、物理サーバの数が足りない場合もシステム全体の負荷が高まってしまう。 The configuration of the physical server and the number of physical servers that are the basis of the virtualization system are also important. For example, when there are too many servers connected to the switch, the switch becomes a bottleneck, and the connected physical server cannot exhibit sufficient performance. In addition, when the number of physical servers is insufficient, the load on the entire system increases.
仮想化システムの構築手法として、特許文献1では、仮想サーバの所定時間毎のパフォーマンスを示す実測データから、各仮想サーバを複数の物理サーバのいずれかで稼働させた場合の各時間における各仮想サーバのパフォーマンス値の合計が最大となる、仮想サーバと物理サーバの組み合わせを算出し、その組み合わせに従って各仮想サーバの再配置を行うことを提案している。これにより、仮想サーバを最も相性の良い物理サーバに配置することが可能となる。 As a method for constructing a virtualization system, in Patent Document 1, each virtual server at each time when each virtual server is operated on one of a plurality of physical servers from actually measured data indicating the performance of the virtual server every predetermined time. It is proposed to calculate a combination of a virtual server and a physical server that maximizes the total performance value and to relocate each virtual server according to the combination. This makes it possible to place the virtual server on the physical server with the best compatibility.
特許文献2では、仮想化システム構築の際に仮想サーバの構成に関する情報を利用し、仮想サーバ群が単一障害点を共有しないよう、それぞれの仮想サーバが物理サーバへ配置することを提案している。これにより、障害点を考慮した仮想化システム構築を行うことが可能となる。 Patent Document 2 proposes that each virtual server be placed on a physical server so that the virtual server group does not share a single point of failure, using information related to the configuration of the virtual server when building a virtualization system. Yes. As a result, it is possible to construct a virtualization system in consideration of the failure point.
しかし、上記特許文献1および特許文献2による仮想化システム構築方法では、仮想サーバをどの物理サーバに配置するかという部分でしか考慮していない。仮に特許文献1の方法を実現すると、ベースとなる物理サーバの構成にボトルネックが存在していた場合、もしくは仮想サーバの数が不足していた場合等、仮想サーバを最も効率よく物理サーバに配置したとしても、パフォーマンスの向上は見込めない。 However, in the virtualization system construction method according to Patent Document 1 and Patent Document 2, only the part of which physical server the virtual server is arranged is considered. If the method of Patent Document 1 is realized, a virtual server is most efficiently allocated to a physical server when there is a bottleneck in the configuration of the base physical server or when the number of virtual servers is insufficient. Even so, performance improvements are not expected.
また、仮に特許文献2の方法を実現した場合も同様で、仮想サーバの構成に関する情報を利用はしているものの、その構成を変更するという機能はなく、やはりこちらも物理サーバ間や仮想サーバ間にボトルネックが生じていたとしても、解決することはできない。 Similarly, when the method of Patent Document 2 is realized, the information regarding the configuration of the virtual server is used, but there is no function of changing the configuration, which is also between the physical servers and between the virtual servers. Even if a bottleneck has occurred, it cannot be resolved.
特に、データセンターなどで多数の物理サーバ上で複数の仮想サーバが稼働する環境では、計算機(物理サーバ及び仮想サーバ)の負荷やネットワークの負荷を最適にする組み合わせや配置を迅速に設定する必要がある。しかしながら、上記従来例を用いても計算機やネットワークの負荷を最適にする組み合わせや配置を迅速に得ることはできないという問題があった。 Especially in an environment where multiple virtual servers operate on a large number of physical servers in a data center or the like, it is necessary to quickly set combinations and arrangements that optimize the load on the computers (physical servers and virtual servers) and the network load. is there. However, there has been a problem that even if the above conventional example is used, it is not possible to quickly obtain a combination or arrangement that optimizes the load on the computer or the network.
そこで本発明は、上記問題点に鑑みてなされたもので、仮想サーバと物理サーバの配置を考慮する際に物理構成および論理構成を考慮して、ユーザのニーズに応じた仮想化システム全体の構成を迅速に算出することを目的とする。 Therefore, the present invention has been made in view of the above-described problems. When considering the arrangement of virtual servers and physical servers, the configuration of the entire virtualization system according to the user's needs, taking into account the physical configuration and logical configuration. The purpose is to quickly calculate.
本発明は、プロセッサとメモリを備えた管理計算機が、計算機システムを構成する要素の構成パターンを算出する方法であって、前記管理計算機が、前記計算機システムを構成する要素の情報を含む構成情報を取得する第1のステップと、前記管理計算機が、前記計算機システムを構成する要素の負荷を含む負荷情報を取得する第2のステップと、前記管理計算機が、前記計算機システムの構成パターンに対する制約条件を取得する第3のステップと、前記管理計算機が、前記計算機システムの構成情報に基づいて複数の構成パターンを生成する第4のステップと、前記管理計算機が、前記生成した複数の構成パターンのうち、前記制約条件を満たしていない構成パターンを修正する第5のステップと、前記管理計算機が、前記構成情報と負荷情報を参照して、前記制約条件を満たす構成パターンと前記修正された構成パターンのそれぞれについて所定の適応度を演算する第6のステップと、前記管理計算機が、前記適応度が所定の閾値を超える構成パターンが存在する場合には、当該構成パターンを出力する第7のステップと、前記管理計算機が、前記適応度が所定の閾値を超える構成パターンが存在しない場合には、前記適応度が所定の閾値を下回る構成パターンを削除する工程と、ある構成パターンと別のある構成パターンの一部を入れ換える工程と、ある構成パターンの一部を変更する工程とを適用する第8のステップと、を含み、前記第8のステップの後に前記第5のステップへ復帰し、前記第1のステップは、前記計算機システムの物理的な構成要素と、論理的な構成要素の情報とを含む構成情報を取得し、前記第2のステップは、前記計算機システムの物理的な構成要素の負荷と、論理的な構成要素の負荷と、を含む負荷情報を取得し、前記第4のステップは、前記計算機システムの物理的な構成要素の構成パターンと、論理的な構成要素の構成パターンとをそれぞれ生成し、前記第5のステップは、前記生成した複数の物理的な構成パターンのうち、前記制約条件を満たしていない物理的な構成パターンを修正し、前記生成した複数の論理的な構成パターンのうち、前記制約条件を満たしていない論理的な構成パターンを修正し、前記第6のステップは、前記物理的な構成情報と物理的な負荷情報を参照して、前記制約条件を満たす物理的な構成パターンと前記修正された物理的な構成パターンのそれぞれについて所定の適応度を演算し、前記論理的な構成情報と論理的な負荷情報を参照して、前記制約条件を満たす論理的な構成パターンと前記修正された論理的な構成パターンのそれぞれについて所定の適応度を演算し、前記第7のステップは、前記適応度が所定の閾値を超える物理的な構成パターンが存在し、かつ、前記適応度が所定の閾値を超える論理的な構成パターンが存在する場合には、当該物理的な構成パターンと論理的な構成パターンを出力する。 The present invention provides a method in which a management computer having a processor and a memory calculates a configuration pattern of elements constituting a computer system, wherein the management computer includes configuration information including information on elements constituting the computer system. A first step of acquiring, a second step of acquiring load information including a load of an element constituting the computer system by the management computer, and a constraint condition for the configuration pattern of the computer system by the management computer. A third step of acquiring, a fourth step in which the management computer generates a plurality of configuration patterns based on configuration information of the computer system, and the management computer among the plurality of configuration patterns generated A fifth step of correcting a configuration pattern that does not satisfy the constraint condition, and the management computer Referring to information, and a sixth step of calculating a predetermined fitness for each of the constraint condition is satisfied constituting pattern and the modified configuration pattern, wherein the management computer, the fitness exceeds a predetermined threshold value If the configuration pattern is present, a seventh step of outputting the configuration pattern, the management computer, if the fitness is not present configuration pattern exceeds a predetermined threshold value, the fitness of a given An eighth step of applying a step of deleting a configuration pattern below a threshold, a step of replacing a configuration pattern with a portion of another configuration pattern, and a step of changing a portion of the configuration pattern. , returning to the fifth step after the eighth step, the first step, and physical components of the computer system, a logical structure Configuration information including raw information, and the second step acquires load information including a physical component load and a logical component load of the computer system, and The fourth step generates a configuration pattern of physical components and a configuration pattern of logical components of the computer system, and the fifth step includes the generated plurality of physical configurations. Among the patterns, the physical configuration pattern that does not satisfy the constraint condition is corrected, and among the plurality of generated logical configuration patterns, the logical configuration pattern that does not satisfy the constraint condition is corrected, The sixth step refers to the physical configuration information and the physical load information, and each of the physical configuration pattern satisfying the constraint condition and the modified physical configuration pattern A predetermined fitness is calculated for each of the logical configuration pattern and the logical load information, and the logical configuration pattern satisfying the constraint condition and the modified logical configuration pattern are respectively determined with reference to the logical configuration information and the logical load information. In the seventh step, there is a physical configuration pattern in which the fitness exceeds a predetermined threshold, and a logical configuration pattern in which the fitness exceeds a predetermined threshold. If so, the physical configuration pattern and the logical configuration pattern are output .
したがって、本発明では、構成要素の接続関係及び配置関係を考慮することにより、従来技術では実現できなかった自由度の高い計算機システムの構成パターンを算出することが可能となる。また、ユーザは管理計算機へニーズを入力すれば、計算機システム全体の構成を迅速に算出することができ、ユーザが多大な労力を割いて構成を検討する必要がなくなって、管理コストを低減することが可能となる。 Therefore, in the present invention, it is possible to calculate a configuration pattern of a computer system having a high degree of freedom that cannot be realized by the conventional technology by considering the connection relationship and the arrangement relationship of the components. In addition, if the user inputs needs to the management computer, the configuration of the entire computer system can be calculated quickly, eliminating the need for the user to study the configuration with a great deal of labor, and reducing the management cost. Is possible.
以下、本発明の一実施形態を添付図面に基づいて説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
本実施形態では、計算機システムの構成(構成要素の接続関係や構成要素の配置)を算出する方法として組み合わせ最適化アルゴリズムの一種である遺伝的アルゴリズムを用いた例を以下に示すが、他の組み合わせ最適化アルゴリズムや動的計画法を用いても良い。組み合わせ最適化アルゴリズムや動的計画法を使わずに解くことも可能だが、組み合わせ最適化アルゴリズムや動的計画法を用いることで、計算量を大幅に減らすことが出来る。 In this embodiment, an example using a genetic algorithm which is a kind of combination optimization algorithm as a method for calculating the configuration of a computer system (component connection relation and component arrangement) is shown below. Optimization algorithms and dynamic programming may be used. Although it is possible to solve without using a combinatorial optimization algorithm or dynamic programming, the computational complexity can be greatly reduced by using a combinatorial optimization algorithm or dynamic programming.
図1は、本発明の実施形態を示し、仮想計算機システムを運用するデータセンタの一例を示すブロック図である。 FIG. 1 is a block diagram illustrating an embodiment of the present invention and an example of a data center that operates a virtual machine system.
第1実施形態の計算機システムは、クライアント101がデータセンタ103内のコントローラ(仮想化管理サーバ)201を介して仮想計算機システムを構築および管理する際に、仮想計算機システムの構成を算出する計算サーバ(管理計算機または構成パターンの算出装置)102を利用することで、仮想計算機システムの管理者のニーズに応じた仮想計算機システムを算出および構築するものである。ここで、計算サーバ102の構成は特に限定しない。例えば、クライアント101と計算サーバ102は、両方の機能を併せ持った1台で実現しても良く、コントローラ201と計算サーバ102は、両方の機能を併せ持った1台で実現しても良い。 The computer system according to the first embodiment is a computer server that calculates the configuration of a virtual computer system when the client 101 constructs and manages the virtual computer system via the controller (virtualization management server) 201 in the data center 103. By using the management computer or configuration pattern calculation device 102, a virtual computer system corresponding to the needs of the administrator of the virtual computer system is calculated and constructed. Here, the configuration of the calculation server 102 is not particularly limited. For example, the client 101 and the calculation server 102 may be realized by a single unit having both functions, and the controller 201 and the calculation server 102 may be realized by a single unit having both functions.
ここで、計算サーバ102が算出する構成の一例として、物理サーバ202とネットワーク機器の接続関係や、物理サーバ202上で稼動させる仮想サーバ403の配置等を含む計算機システムの構成要素の構成パターンの例を示す。 Here, as an example of the configuration calculated by the calculation server 102, an example of the configuration pattern of the components of the computer system including the connection relationship between the physical server 202 and the network device, the arrangement of the virtual server 403 operated on the physical server 202, and the like. Indicates.
クライアント101、計算サーバ102およびデータセンタ103のルータ203はネットワーク104を介して接続している。データセンタ103はコントローラ201、物理サーバ202、ルータ203およびスイッチ204にて構成され、コントローラ201はルータ203及びスイッチ204で構成される内部LANを介して全ての物理サーバ202と接続している。コントローラ201は、後述するように、物理サーバ202で稼動する仮想サーバの実行、停止あるいは移動を管理する仮想化管理サーバとして機能する。 The client 101, the calculation server 102 and the router 203 of the data center 103 are connected via the network 104. The data center 103 includes a controller 201, a physical server 202, a router 203, and a switch 204, and the controller 201 is connected to all physical servers 202 via an internal LAN including the router 203 and switch 204. As will be described later, the controller 201 functions as a virtualization management server that manages the execution, stop, or movement of a virtual server running on the physical server 202.
図2はデータセンタ103の構成を示すブロック図である。コントローラ201はデータセンタ103内のルータ203に接続されている。また、物理サーバ202はスイッチ204を介してデータセンタ103内のルータ203に接続されている。データセンタ103内のルータ203はネットワーク104と接続されており、間接的にコントローラ201および物理サーバ202はネットワーク104と接続している。 FIG. 2 is a block diagram showing the configuration of the data center 103. The controller 201 is connected to the router 203 in the data center 103. The physical server 202 is connected to the router 203 in the data center 103 via the switch 204. The router 203 in the data center 103 is connected to the network 104, and the controller 201 and the physical server 202 are indirectly connected to the network 104.
コントローラ201は、演算処理を行うプロセッサ210と、データやプログラムを格納するメモリ304と、ネットワークI/F301を備え、ネットワークI/F301を介してルータ203に接続している。また、コントローラ201は、図示しないストレージ装置にプログラムやデータを記憶する。 The controller 201 includes a processor 210 that performs arithmetic processing, a memory 304 that stores data and programs, and a network I / F 301, and is connected to the router 203 via the network I / F 301. Further, the controller 201 stores a program and data in a storage device (not shown).
メモリ304には、構成/負荷情報取得部303と、構成変更指示部302がロードされてプロセッサ210により実行される。構成/負荷情報取得部303は、複数の物理サーバ202から構成情報701と負荷情報702を取得する。 A configuration / load information acquisition unit 303 and a configuration change instruction unit 302 are loaded into the memory 304 and executed by the processor 210. The configuration / load information acquisition unit 303 acquires configuration information 701 and load information 702 from a plurality of physical servers 202.
メモリ304には、複数の物理サーバ202上に構成されている仮想サーバ304の構成情報と、各物理サーバ202の構成情報および仮想サーバ403の種別や物理サーバ202の種別等の仮想計算機システムの定義情報が構成情報701として格納される。また、構成/負荷情報取得部303によって得られた各仮想サーバ403および各物理サーバ202の負荷の情報が負荷情報702としてメモリ304に格納される。 The memory 304 includes the configuration information of the virtual servers 304 configured on the plurality of physical servers 202, the configuration information of each physical server 202, and the definition of the virtual computer system such as the type of the virtual server 403 and the type of the physical server 202. Information is stored as configuration information 701. Also, the load information of each virtual server 403 and each physical server 202 obtained by the configuration / load information acquisition unit 303 is stored in the memory 304 as load information 702.
物理サーバ202は、演算処理を行うプロセッサ220と、データやプログラムを格納するメモリ314と、ネットワークI/F401とを備え、ネットワークI/F401からスイッチ204を介してルータ203に接続される。 The physical server 202 includes a processor 220 that performs arithmetic processing, a memory 314 that stores data and programs, and a network I / F 401. The physical server 202 is connected from the network I / F 401 to the router 203 via the switch 204.
メモリ314には、ハイパーバイザ402がロードされてプロセッサ220によって実行される。ハイパーバイザ402は、物理サーバ202の計算機資源を1以上の仮想サーバ403に割り当てる。 The memory 314 is loaded with the hypervisor 402 and executed by the processor 220. The hypervisor 402 allocates computer resources of the physical server 202 to one or more virtual servers 403.
コントローラ201は、計算サーバ102からネットワーク104を介して構成/負荷情報取得要求がネットワークI/F301に受信された場合、構成/負荷情報取得部303がネットワークI/F301を介して全物理サーバ202のハイパーバイザ402へ、各仮想サーバ403および各物理サーバ202の負荷情報を送信するよう命令を送信する。各ハイパーバイザ402は検出した負荷情報をコントローラ201へ送信し、コントローラ201はメモリ304へ負荷情報702として格納する。 When the configuration / load information acquisition request is received by the network I / F 301 from the calculation server 102 via the network 104, the controller 201 causes the configuration / load information acquisition unit 303 of all the physical servers 202 to pass through the network I / F 301. A command is transmitted to the hypervisor 402 to transmit the load information of each virtual server 403 and each physical server 202. Each hypervisor 402 transmits the detected load information to the controller 201, and the controller 201 stores the load information as load information 702 in the memory 304.
さらに、各ハイパーバイザ402は検出した構成情報をコントローラ201へ送信し、コントローラ201はメモリ304へ構成情報701として格納する。 Further, each hypervisor 402 transmits the detected configuration information to the controller 201, and the controller 201 stores the configuration information 701 in the memory 304.
そして、コントローラ201はメモリ304に格納された各仮想サーバ403および各物理サーバ202の負荷情報702に加え、メモリ304上の構成情報701をネットワークI/F301を介して、計算サーバ102へ送信する。 In addition to the load information 702 of each virtual server 403 and each physical server 202 stored in the memory 304, the controller 201 transmits the configuration information 701 on the memory 304 to the calculation server 102 via the network I / F 301.
また、計算サーバ102からネットワーク104を介して構成変更要求がネットワークI/F301で受信された場合、コントローラ201の構成変更指示部302はネットワークI/F301を介して構成変更が必要な物理サーバ202のハイパーバイザ402へ、構成変更命令を送信する。そして変更が反映されるだけの十分な時間が経った後、構成変更指示部302はネットワークI/F301を介して構成変更を行った物理サーバ202のハイパーバイザ402へ、構成変更が正しく行われているかを検出する。要求通りに構成変更が行われていた場合、構成変更指示部302はネットワークI/F301およびルータ203を介し、ネットワーク104を介して、計算サーバ102へ構成変更の完了を通知する。一方、構成変更が正常に行われていなかった場合には、構成変更指示部302は要求が反映されるまで、再度構成変更の手順を行う。もしくは、構成変更のエラー通知を計算サーバ102に送信する。 In addition, when a configuration change request is received from the calculation server 102 via the network 104 by the network I / F 301, the configuration change instruction unit 302 of the controller 201 uses the network I / F 301 to change the physical server 202 that requires the configuration change. A configuration change command is transmitted to the hypervisor 402. After a sufficient amount of time has passed for the change to be reflected, the configuration change instruction unit 302 correctly changes the configuration to the hypervisor 402 of the physical server 202 that has changed the configuration via the network I / F 301. Detect whether or not When the configuration change has been performed as requested, the configuration change instruction unit 302 notifies the calculation server 102 of the completion of the configuration change via the network 104 via the network I / F 301 and the router 203. On the other hand, if the configuration change has not been performed normally, the configuration change instruction unit 302 performs the configuration change procedure again until the request is reflected. Alternatively, a configuration change error notification is transmitted to the calculation server 102.
なお、物理サーバ202は図示しないホストバスアダプタなどを備えて、図示しないストレージ装置にアクセスするものとする。 The physical server 202 includes a host bus adapter (not shown) and accesses a storage device (not shown).
図3は計算サーバ102の構成図である。計算サーバ102は、演算処理を行うプロセッサ230と、データやプログラムを格納するメモリ504と、ストレージ装置231及びネットワークI/F501とを備え、ネットワークI/F501を介してネットワーク104に接続される。メモリ504には、要求取得部502、構成/負荷情報取得部503、構成算出部505、構成提示部506及び、構成変更指示部507がストレージ装置231からロードされてプロセッサ230によって実行される。ストレージ装置231は、要求取得部502、構成/負荷情報取得部503、構成算出部505、構成提示部506及び、構成変更指示部507の記憶媒体としても機能する。 FIG. 3 is a configuration diagram of the calculation server 102. The calculation server 102 includes a processor 230 that performs arithmetic processing, a memory 504 that stores data and programs, a storage device 231, and a network I / F 501, and is connected to the network 104 via the network I / F 501. A request acquisition unit 502, a configuration / load information acquisition unit 503, a configuration calculation unit 505, a configuration presentation unit 506, and a configuration change instruction unit 507 are loaded from the storage device 231 and executed by the processor 230 in the memory 504. The storage device 231 also functions as a storage medium for the request acquisition unit 502, the configuration / load information acquisition unit 503, the configuration calculation unit 505, the configuration presentation unit 506, and the configuration change instruction unit 507.
メモリ504には、構成/負荷情報取得部503がコントローラ201から取得した構成情報801と、負荷情報802が格納される。構成情報801は、データセンタ103の仮想サーバ403の構成情報と、各物理サーバ202の構成情報および仮想サーバの種別や物理サーバの種別等の情報から構成される。また、各仮想サーバ403および各物理サーバ202の負荷情報が負荷情報802として構成される。 The memory 504 stores configuration information 801 and load information 802 acquired by the configuration / load information acquisition unit 503 from the controller 201. The configuration information 801 includes configuration information of the virtual server 403 of the data center 103, configuration information of each physical server 202, information such as a virtual server type and a physical server type. Further, load information of each virtual server 403 and each physical server 202 is configured as load information 802.
また、要求取得部502は、クライアント101等から受信した要求や制約条件、または算出する構成に関する情報を要求情報803としてメモリ504に格納する。また、計算サーバ102では仮想計算機システムの構成算出にあたって必要となる情報をシステム定義情報804としてメモリ504に格納しておく。 In addition, the request acquisition unit 502 stores the request received from the client 101 or the like, the constraint condition, or information related to the calculated configuration in the memory 504 as the request information 803. The calculation server 102 stores information necessary for calculating the configuration of the virtual machine system in the memory 504 as system definition information 804.
ここで、システム定義情報804は、サーバ情報1001、要求/制約反映テーブル1002、致死フィルタ1003からなる。サーバ情報1001には物理サーバ202の性能に関する情報が格納される。要求/制約反映テーブル1002には、仮想計算機システムの構成を算出する際に要求情報803をどのように反映させるかに関する情報が格納される。致死フィルタ1003には、仮想計算機システムの構成を算出するにあたって使用する遺伝的アルゴリズムの動作に関する情報が格納される。システム定義情報804は、仮想計算機システムの構成を算出する前に入力されている必要があり、入力装置232からの入力や、クライアント101からの遠隔入力でもよい。 Here, the system definition information 804 includes server information 1001, a request / constraint reflection table 1002, and a lethal filter 1003. Server information 1001 stores information related to the performance of the physical server 202. The request / constraint reflection table 1002 stores information on how the request information 803 is reflected when the configuration of the virtual machine system is calculated. The lethal filter 1003 stores information related to the operation of the genetic algorithm used in calculating the configuration of the virtual machine system. The system definition information 804 needs to be input before calculating the configuration of the virtual machine system, and may be input from the input device 232 or remote input from the client 101.
クライアント101からネットワーク104を介して、要求または制約条件および構成変更要求がネットワークI/F501で受信された場合、要求取得部502は受信した要求または制約条件を要求情報803としてメモリ504に格納し、構成/負荷情報取得部503に構成/負荷情報取得要求を送る。 When a request or restriction condition and a configuration change request are received by the network I / F 501 from the client 101 via the network 104, the request acquisition unit 502 stores the received request or restriction condition as request information 803 in the memory 504, A configuration / load information acquisition request is sent to the configuration / load information acquisition unit 503.
構成/負荷情報取得要求を受け取った構成/負荷情報取得部503は、ネットワークI/F501およびネットワーク104を介して、データセンタ103内のコントローラ201へ構成/負荷情報取得要求を送信する。 Upon receiving the configuration / load information acquisition request, the configuration / load information acquisition unit 503 transmits the configuration / load information acquisition request to the controller 201 in the data center 103 via the network I / F 501 and the network 104.
データセンタ103内のコントローラ201からネットワーク104を介して、仮想計算機システムにおける仮想サーバの構成情報と、物理サーバの構成情報および各仮想サーバ及び物理サーバの負荷情報が計算サーバ102のネットワークI/F501で受信される。構成/負荷情報取得部503はメモリ504に上記受信した情報を構成情報801及び負荷情報802として格納し、構成算出部505に構成算出要求を送信する。 The configuration information of the virtual server in the virtual machine system, the configuration information of the physical server, and the load information of each virtual server and physical server are transferred from the controller 201 in the data center 103 via the network 104 to the network I / F 501 of the calculation server 102. Received. The configuration / load information acquisition unit 503 stores the received information as configuration information 801 and load information 802 in the memory 504 and transmits a configuration calculation request to the configuration calculation unit 505.
構成算出要求を受け取った構成算出部505は、メモリ504内の構成情報801、負荷情報802、要求情報803、システム定義情報804と物理クラスタテーブル851及び論理クラスタテーブル852を元に仮想計算機システムの構成を算出する。構成算出部505は、構成を算出する際には、処理トラフィック900、基本負荷910、算出する構成に関する情報920、仮想サーバ想定負荷930、物理サーバ想定負荷940、負荷の判定結果950をメモリ504上に保持する。なお、物理クラスタテーブル851及び論理クラスタテーブル852は構成を算出する際に生成することができる。 Upon receiving the configuration calculation request, the configuration calculation unit 505 receives the configuration information 801, the load information 802, the request information 803, the system definition information 804, the physical cluster table 851, and the logical cluster table 852 in the memory 504. Is calculated. When calculating the configuration, the configuration calculation unit 505 stores the processing traffic 900, the basic load 910, the information 920 regarding the calculated configuration, the virtual server assumed load 930, the physical server assumed load 940, and the load determination result 950 on the memory 504. Hold on. The physical cluster table 851 and the logical cluster table 852 can be generated when the configuration is calculated.
そして、構成算出部505は、物理サーバ202の構成を変更する必要がある場合には、その結果を構成提示部506へ送信する。構成提示部506はネットワークI/F501およびネットワーク104を介して、クライアント101へと構成変更内容を送信する。また、物理サーバ202の構成を変更する必要がある場合には、構成提示部506は仮想計算機システムの構成の算出結果を構成変更指示部507へ送信し、構成変更指示部507はネットワークI/F501およびネットワーク104を介して、データセンタ103内のコントローラ201へ構成変更要求を送信する。 If the configuration of the physical server 202 needs to be changed, the configuration calculation unit 505 transmits the result to the configuration presentation unit 506. The configuration presentation unit 506 transmits the configuration change content to the client 101 via the network I / F 501 and the network 104. When the configuration of the physical server 202 needs to be changed, the configuration presentation unit 506 transmits the calculation result of the configuration of the virtual machine system to the configuration change instruction unit 507, and the configuration change instruction unit 507 transmits the network I / F 501. Then, a configuration change request is transmitted to the controller 201 in the data center 103 via the network 104.
その後、データセンタ103内のコントローラ201から構成変更完了の通知をネットワークI/F501で受信すると、構成提示部506がネットワークI/F501およびネットワーク104を介して、クライアント101へと構成変更内容を送信する。もしくは、構成変更のエラー通知がデータセンタ103内のコントローラ201から送られてきた場合、構成提示部506がネットワークI/F501およびネットワーク104を介して、クライアント101へ算出した構成および変更エラー内容を送信する。 Thereafter, when the configuration change completion notification is received by the network I / F 501 from the controller 201 in the data center 103, the configuration presentation unit 506 transmits the configuration change content to the client 101 via the network I / F 501 and the network 104. . Alternatively, when a configuration change error notification is sent from the controller 201 in the data center 103, the configuration presentation unit 506 transmits the calculated configuration and change error content to the client 101 via the network I / F 501 and the network 104. To do.
図4はクライアント101の構成を示すブロック図である。クライアント101は、演算処理を行うプロセッサ240と、データやプログラムを格納するメモリ607と、I/O606及びネットワークI/F601とを備え、ネットワークI/F601を介してネットワーク104に接続される。I/O606には、入力装置611と出力装置612が接続される。入力装置611は、キーボードやマウスなどで構成される。出力装置612は、ディスプレイ等で構成される。 FIG. 4 is a block diagram showing the configuration of the client 101. The client 101 includes a processor 240 that performs arithmetic processing, a memory 607 that stores data and programs, an I / O 606 and a network I / F 601, and is connected to the network 104 via the network I / F 601. An input device 611 and an output device 612 are connected to the I / O 606. The input device 611 is configured with a keyboard, a mouse, and the like. The output device 612 includes a display or the like.
メモリ607には、構成取得部602、構成表示部603、要求取得部604、要求送信部605が格納され、プロセッサ240によって実行される。ここで、メモリ607には構成取得部602が受信する仮想計算機システムの構成内容が構成情報901として格納される。また、メモリ607には要求取得部604が取得する要求/制約条件が要求情報802として格納される。仮想計算機システムの構成の算出または変更に関するユーザ(または管理者)の要求および制約条件は、入力装置611からI/O606を介して要求取得部604で受け付ける。 The memory 607 stores a configuration acquisition unit 602, a configuration display unit 603, a request acquisition unit 604, and a request transmission unit 605, and is executed by the processor 240. Here, the configuration content of the virtual machine system received by the configuration acquisition unit 602 is stored in the memory 607 as configuration information 901. The memory 607 stores request / restriction conditions acquired by the request acquisition unit 604 as request information 802. A request (required by a user (or administrator) regarding the calculation or change of the configuration of the virtual machine system) and a constraint condition are received by the request acquisition unit 604 from the input device 611 via the I / O 606.
ユーザの要求および制約条件を受け取った要求取得部604は、受け取った情報を要求情報902としてメモリ607へと格納し、要求送信部605へ要求/制約条件の格納完了を通知する。要求/制約条件の格納完了通知を受け取った要求送信部605は、ネットワークI/F601およびネットワーク104を介して、計算サーバ102へメモリ607内に格納された要求情報902を送信する。計算サーバ102からネットワーク104を介して、構成変更内容がネットワークI/F601に受信された場合、構成取得部602は受信した構成変更内容を構成情報901としてメモリ607へ格納し、構成表示部603へ構成変更内容の格納完了を通知する。構成変更内容の格納完了通知を受け取った構成表示部603は、I/O606を介して、構成情報901の内容を出力装置612に出力する。 Upon receiving the user request and the constraint condition, the request acquisition unit 604 stores the received information as the request information 902 in the memory 607 and notifies the request transmission unit 605 of the completion of the storage of the request / restriction condition. Upon receiving the request / constraint condition storage completion notification, the request transmission unit 605 transmits the request information 902 stored in the memory 607 to the calculation server 102 via the network I / F 601 and the network 104. When the configuration change content is received by the network I / F 601 from the calculation server 102 via the network 104, the configuration acquisition unit 602 stores the received configuration change content in the memory 607 as the configuration information 901, and the configuration display unit 603 Notify completion of storage of configuration changes. The configuration display unit 603 that has received the storage completion notification of the configuration change content outputs the content of the configuration information 901 to the output device 612 via the I / O 606.
また、仮想計算機システムの構成およびエラー内容がネットワークI/F601に受信された場合、構成取得部602は受信した構成を構成情報901としてメモリ607へ格納し、構成表示部603へ構成情報の格納完了を通知する。構成情報の格納完了通知を受け取った構成表示部603は、I/O606を介して、構成情報901の内容およびエラー内容を出力装置612に出力する。 When the configuration and error contents of the virtual machine system are received by the network I / F 601, the configuration acquisition unit 602 stores the received configuration in the memory 607 as configuration information 901, and the storage of the configuration information in the configuration display unit 603 is completed. To be notified. Upon receiving the configuration information storage completion notification, the configuration display unit 603 outputs the content of the configuration information 901 and the error content to the output device 612 via the I / O 606.
図5A、図5B、図6A、図6B、図7Aおよび図7Bはデータセンタ103内の構成情報701、計算サーバ102内の構成情報801およびクライアント101内の構成情報901上の内容を示す。なお、構成情報701、801、901は同一の情報である。また、構成情報701は、図5Bの構成情報701A、図6Bの構成情報701B、図7Bの構成情報701Cから構成される。構成情報801、901も同様であり、構成情報801A〜801Cと901A〜901Cからそれぞれ構成される。これらの構成情報の総称を構成情報701、801,901とする。 5A, 5B, 6A, 6B, 7A, and 7B show the contents on the configuration information 701 in the data center 103, the configuration information 801 in the calculation server 102, and the configuration information 901 in the client 101. FIG. The configuration information 701, 801, and 901 are the same information. The configuration information 701 includes configuration information 701A in FIG. 5B, configuration information 701B in FIG. 6B, and configuration information 701C in FIG. 7B. The configuration information 801 and 901 are the same, and are configured from configuration information 801A to 801C and 901A to 901C, respectively. These configuration information are collectively referred to as configuration information 701, 801, and 901.
図5B、図6B、図7Bの構成情報701、801、901は、図7Aで示すように、3台の物理サーバ(Machine0、1、2)202上で仮想サーバ(NODE0、NODE1、NODE2)が稼動し、物理サーバ(Machine0、Machine1)がスイッチ(SW0)に接続され、物理サーバ(Machine2)がスイッチ(SW1)に接続され、2つのスイッチ(SW0、SW1)204がルータ(Router0)203に接続された例を示す。 As shown in FIG. 7A, the configuration information 701, 801, and 901 in FIGS. 5B, 6B, and 7B are stored in the virtual servers (NODE0, NODE1, and NODE2) on the three physical servers (Machine0, 1, and 2) 202. The physical server (Machine0, Machine1) is connected to the switch (SW0), the physical server (Machine2) is connected to the switch (SW1), and the two switches (SW0, SW1) 204 are connected to the router (Router0) 203. An example is shown.
図5Aは仮想サーバや仮想スイッチなどの仮想的な計算機資源の接続関係を示しており、例えば、2つの仮想サーバNODE0とNODE1が物理サーバ(Machine0)のハイパーバイザ402内の仮想スイッチ(Virtual SW0)に接続され、1つの仮想サーバNODE2が物理サーバ(Machine1)のハイパーバイザ402内の仮想スイッチ(Virtual SW1)に接続された例を示す。そして、2つの仮想スイッチ(Virtual SW0とVirtual SW1)がハイパーバイザ402で稼動するソフトウェアルータで構成される仮想ルータ(Virtual Router0)に接続される。このような構成の場合、仮想サーバの接続先を示す構成情報701A(801A、901A)は、図5Bのように表現される。図5Bでは、仮想的な計算機資源の名称711と、接続先の名称712からひとつのエントリが構成される。なお、ひとつの物理計算機内の仮想的な計算機資源には、少なくとも、ノードと仮想スイッチが含まれればよい。 FIG. 5A shows a connection relationship of virtual computer resources such as a virtual server and a virtual switch. For example, two virtual servers NODE0 and NODE1 are virtual switches (Virtual SW0) in the hypervisor 402 of a physical server (Machine0). And one virtual server NODE2 is connected to a virtual switch (Virtual SW1) in the hypervisor 402 of the physical server (Machine 1). Then, two virtual switches (Virtual SW0 and Virtual SW1) are connected to a virtual router (Virtual Router0) configured by a software router operating on the hypervisor 402. In the case of such a configuration, configuration information 701A (801A, 901A) indicating the connection destination of the virtual server is expressed as shown in FIG. 5B. In FIG. 5B, one entry is configured from a virtual computer resource name 711 and a connection destination name 712. A virtual computer resource in one physical computer may include at least a node and a virtual switch.
また、図6Aは物理サーバ202と物理的なネットワーク接続の関係を示し、2つの物理サーバ(Machine0、1)がスイッチ(SW1)204に接続され、1つの物理サーバ(Machine2)がスイッチ(SW1)に接続され、2つのスイッチ(SW0、1)がルータ(Router0)203に接続された例を示す。そして、物理サーバ(Machine0、1)の種別が「A」であることを示し、物理サーバ(Machine2)の種別が「B」であることを示す。 FIG. 6A shows the relationship between the physical server 202 and the physical network connection. Two physical servers (Machine 0, 1) are connected to the switch (SW1) 204, and one physical server (Machine 2) is the switch (SW1). And two switches (SW0, 1) are connected to the router (Router0) 203. The type of the physical server (Machine 0, 1) indicates “A”, and the type of the physical server (Machine 2) indicates “B”.
図6Bは物理的な計算機資源の接続関係を示す構成情報701B(801B、901B)を示す。図6Bでは、物理的な計算機資源の名称721と、接続先の名称722と、計算機資源の種別723からひとつのエントリが構成される。なお、物理サーバ202の種別が同じ場合には、各サーバ同士は同じスペックであることを示している。このサーバ種別の詳細な情報は、後に述べるが図19のような形で表現される。 FIG. 6B shows configuration information 701B (801B, 901B) indicating the connection relation of physical computer resources. In FIG. 6B, one entry is configured from a physical computer resource name 721, a connection destination name 722, and a computer resource type 723. When the types of the physical servers 202 are the same, it indicates that the servers have the same specifications. The detailed information of the server type is expressed in a form as shown in FIG.
図7Aはどの仮想サーバがどの物理サーバに配置されているのかを示す物理的計算機資源と仮想的計算機資源の対応関係を示す図である。図のように物理サーバMachine0に仮想サーバNODE0とNODE1が、物理サーバMachine2に仮想サーバNODE2が配置されている。図示の例では、物理サーバ(Machine2)には仮想サーバが生成されていない例を示す。 FIG. 7A is a diagram showing a correspondence relationship between physical computer resources and virtual computer resources indicating which virtual server is allocated to which physical server. As shown in the figure, the virtual servers NODE0 and NODE1 are arranged on the physical server Machine0, and the virtual server NODE2 is arranged on the physical server Machine2. In the illustrated example, a virtual server is not generated in the physical server (Machine 2).
図7Bは仮想サーバ403が何れの物理サーバ202に配置されているのかを示す物理的計算機資源と仮想的計算機資源の対応関係を示す構成情報701C(801C、901C)である。図7Bでは、仮想的な計算機資源の名称731と、当該仮想的な計算機資源を提供する物理的計算機資源の名称732からひとつのエントリが構成される。 FIG. 7B shows configuration information 701C (801C, 901C) indicating the correspondence between physical computer resources and virtual computer resources indicating which physical server 202 the virtual server 403 is located on. In FIG. 7B, one entry is configured from the name 731 of the virtual computer resource and the name 732 of the physical computer resource that provides the virtual computer resource.
図8および図9は、データセンタ103内の負荷情報702および計算サーバ102内の負荷情報802の内容を示す。負荷情報702と負荷情報802は同一である。負荷情報702、802は、図8に示す仮想的な計算機資源の負荷情報702A、802Aと、図9に示す物理的な計算機資源の負荷情報702B、802Bから構成される。 8 and 9 show the contents of the load information 702 in the data center 103 and the load information 802 in the calculation server 102. The load information 702 and the load information 802 are the same. The load information 702 and 802 includes virtual computer resource load information 702A and 802A shown in FIG. 8, and physical computer resource load information 702B and 802B shown in FIG.
図8は各仮想サーバ403とそれぞれのCPU、メモリ、I/O、トラフィック負荷を示す仮想的な計算機資源の負荷情報702A、802Aである。負荷情報702A、802Aは、仮想サーバ403の名称を格納する仮想サーバ名741と、当該仮想サーバに割り当てたプロセッサ220の使用率を格納するCPU負荷742と、当該仮想サーバに割り当てたメモリ314の使用率を格納するメモリ負荷743と、当該仮想サーバがアクセスするストレージ装置(図示省略)の帯域使用率を格納するI/O負荷744と、当該仮想サーバがアクセスするネットワーク負荷を格納するトラフィック負荷745からひとつのエントリが構成される。なお、I/O負荷744及びトラフィック負荷745は、ハイパーバイザ402が各仮想サーバ403に割り当てた仮想デバイス(仮想ネットワークI/F等)の使用率を用いるものとする。なお、使用率は、所定時間内の平均値や最大値などから適宜用いることができる。 FIG. 8 shows virtual computer resource load information 702A and 802A indicating each virtual server 403 and its CPU, memory, I / O, and traffic load. The load information 702A and 802A includes a virtual server name 741 for storing the name of the virtual server 403, a CPU load 742 for storing the usage rate of the processor 220 allocated to the virtual server, and the use of the memory 314 allocated to the virtual server. A memory load 743 for storing a rate, an I / O load 744 for storing a bandwidth usage rate of a storage device (not shown) accessed by the virtual server, and a traffic load 745 for storing a network load accessed by the virtual server. One entry is configured. The I / O load 744 and the traffic load 745 use the usage rate of a virtual device (virtual network I / F, etc.) assigned to each virtual server 403 by the hypervisor 402. The usage rate can be appropriately used from an average value or a maximum value within a predetermined time.
図9は各物理サーバ202とそれぞれのCPU、メモリ、I/O、トラフィック負荷を示す物理的な計算機資源の負荷情報702B、802Bである。 FIG. 9 shows physical computer resource load information 702B and 802B indicating the physical servers 202 and their respective CPUs, memories, I / Os, and traffic loads.
負荷情報702B、802Bは、物理サーバ202の名称を格納する物理サーバ名751と、当該物理サーバのプロセッサ220の使用率を格納するCPU負荷752と、当該物理サーバのメモリ314の使用率を格納するメモリ負荷753と、当該物理サーバがアクセスするストレージ装置(図示省略)の帯域使用率を格納するI/O負荷754と、当該物理サーバがアクセスするネットワークI/F401の使用率を格納するトラフィック負荷755からひとつのエントリが構成される。なお、各使用率は、所定時間内の平均値や最大値などから適宜用いることができる。また、トラフィック負荷755は、ハイパーバイザ402が取り扱う総トラフィック量も情報として保持してもよい。 The load information 702B and 802B store the physical server name 751 for storing the name of the physical server 202, the CPU load 752 for storing the usage rate of the processor 220 of the physical server, and the usage rate of the memory 314 of the physical server. A memory load 753, an I / O load 754 that stores a bandwidth usage rate of a storage device (not shown) accessed by the physical server, and a traffic load 755 that stores a usage rate of a network I / F 401 accessed by the physical server An entry is constructed from. Each usage rate can be appropriately used from an average value or a maximum value within a predetermined time. The traffic load 755 may also hold the total traffic amount handled by the hypervisor 402 as information.
図10は計算サーバ102内の要求情報803およびクライアント101内の要求情報902上の内容を示す。なお、要求情報803と要求情報902は同一である。 FIG. 10 shows the contents of request information 803 in the calculation server 102 and request information 902 in the client 101. The request information 803 and the request information 902 are the same.
要求情報803(902)は、図示のように、緊急度、上限工数、物理サーバ数上限情報、物理構成の変更可否、構成に関する要求といった項目811に対するそれぞれの要求内容812によって構成される。ここで、緊急度とは顧客が構成の算出にどれだけ時間をかけてよいかを表わす指標であり、構成の算出に時間をかけて良い場合には緊急度は低く、すぐに構成算出結果が必要な場合には緊急度は高く設定する。 As shown in the figure, the request information 803 (902) includes request contents 812 for items 811 such as urgency, upper limit man-hours, physical server number upper limit information, physical configuration changeability, and configuration requests. Here, the urgency is an index indicating how much time the customer can spend calculating the configuration, and if the calculation of the configuration can take time, the urgency is low, and the configuration calculation result is immediately If necessary, set the urgency level high.
緊急度は、例えば、0から1までの値をとり、1に近づくほど緊急度は高くなる。後に述べるが、緊急度は遺伝的アルゴリズム内の「適応度」と呼ばれる項目と関係している。また、緊急度は算出する構成の精度とのトレードオフとなり、緊急度を高く、つまり構成算出に時間をかけない場合は、算出する構成の妥当性が若干下がる。 The urgency level takes a value from 0 to 1, for example, and the urgency level increases as the urgency level approaches 1. As will be described later, the degree of urgency is related to an item called “fitness” in the genetic algorithm. Further, the urgency level is a trade-off with the accuracy of the configuration to be calculated, and if the urgency level is high, that is, if time is not required for the configuration calculation, the validity of the calculated configuration is slightly lowered.
上限工数(図中工数の上限)は、クライアント101が仮想計算機システムの構成変更に際して、許容する工数(変更数)である。ここで、仮想サーバ403の変更における1工数は仮想サーバ403の移動(マイグレーション)、仮想サーバ403の接続先の変更、仮想サーバ403の終了、仮想サーバ403の追加が該当する。また、物理サーバ202における1工数は物理サーバ202の接続先の変更、物理サーバ202の追加が該当する。 The upper limit man-hour (the upper limit of man-hours in the figure) is the man-hour (number of changes) allowed by the client 101 when changing the configuration of the virtual machine system. Here, one man-hour for changing the virtual server 403 corresponds to migration (migration) of the virtual server 403, change of the connection destination of the virtual server 403, termination of the virtual server 403, and addition of the virtual server 403. Further, one man-hour in the physical server 202 corresponds to a change in the connection destination of the physical server 202 and an addition of the physical server 202.
物理サーバ数上限は、物理サーバ202を種別(A〜C)ごとに何台まで利用可能かを設定する。仮想サーバ数は物理サーバ数に依存するため、上限数の入力を求めない。また、物理構成の変更可否は、物理構成の変更を加味した上で仮想計算機システムの構成の算出を行うか否かを示す入力である。論理構成の変更や、仮想サーバ403の配置に関する変更は、データセンタ103内のコントローラ201によって変更することが可能である。しかしながら、物理構成を変更する場合にはユーザ(データセンタ103の管理者など)が直接変更を加える必要が出てくる。そのため、クライアント101は物理構成の変更を認めるか否かを設定することが出来る。 The upper limit on the number of physical servers sets how many physical servers 202 can be used for each type (A to C). Since the number of virtual servers depends on the number of physical servers, input of the upper limit number is not required. Further, whether or not the physical configuration can be changed is an input indicating whether or not to calculate the configuration of the virtual machine system in consideration of the change of the physical configuration. Changes in the logical configuration and changes in the placement of the virtual server 403 can be changed by the controller 201 in the data center 103. However, when changing the physical configuration, a user (such as an administrator of the data center 103) needs to make a direct change. Therefore, the client 101 can set whether or not to allow a change in physical configuration.
また、構成に関する要求は、物理構成の算出時に評価の指標として反映させることが出来ればどのような要求でも良いが、例えばマシンコストを重要視する、変更工数を出来る限り少なくしたい、といった項目を計算サーバであらかじめ用意すれば、クライアント101は管理者などの希望に応じて選択することが出来る。 In addition, the request for the configuration can be any request as long as it can be reflected as an evaluation index when calculating the physical configuration, but for example, items such as emphasizing the machine cost or minimizing the change man-hours are calculated. If prepared in advance by the server, the client 101 can be selected according to the desire of the administrator or the like.
図11は、仮想計算機システムの構成要求時の手順の一例を示すシーケンス図である。構成要求は、クライアント101が仮想計算機システムの構成を計算サーバ102に演算させる指令である。 FIG. 11 is a sequence diagram illustrating an example of a procedure at the time of requesting the configuration of the virtual machine system. The configuration request is a command for the client 101 to cause the calculation server 102 to calculate the configuration of the virtual machine system.
まず、クライアント101では、要求取得部604がシステム構成を取得するユーザ(または管理者)の要求(構成要求)および制約条件をI/O606を介して入力装置611から受け付け、メモリ607に要求情報902として格納する(S1)。 First, in the client 101, the request acquisition unit 604 receives a user (or administrator) request (configuration request) and constraint conditions for acquiring a system configuration from the input device 611 via the I / O 606, and requests information 902 in the memory 607. (S1).
次にクライアント101の要求送信部605がメモリ607から要求情報902を読み出し、構成要求と制約条件を含む構成算出要求を、ネットワークI/F601およびネットワーク104を介して計算サーバ102に送信する(S2)。 Next, the request transmission unit 605 of the client 101 reads the request information 902 from the memory 607, and transmits a configuration calculation request including a configuration request and a constraint condition to the calculation server 102 via the network I / F 601 and the network 104 (S2). .
構成要求と制約条件を含む構成算出要求は計算サーバ102内のネットワークI/F501を介して要求取得部502で受信する。要求取得部502は受信した構成要求/制約条件を要求情報803としてメモリ504に格納し(S3)、構成/負荷情報取得部503に構成及び負荷情報取得要求を送る。構成及び負荷情報取得要求を受け取った構成/負荷情報取得部503は、ネットワークI/F501およびネットワーク104を介して、データセンタ103内のコントローラ201へ構成/負荷情報取得要求を送信する(S4)。 The configuration calculation request including the configuration request and the constraint condition is received by the request acquisition unit 502 via the network I / F 501 in the calculation server 102. The request acquisition unit 502 stores the received configuration request / restriction condition as request information 803 in the memory 504 (S3), and sends a configuration / load information acquisition request to the configuration / load information acquisition unit 503. Upon receiving the configuration and load information acquisition request, the configuration / load information acquisition unit 503 transmits the configuration / load information acquisition request to the controller 201 in the data center 103 via the network I / F 501 and the network 104 (S4).
コントローラ201内の構成/負荷情報取得部303が構成/負荷情報取得要求を受け取ると、構成/負荷情報取得部303はネットワークI/F301を介して全ての物理サーバ202のハイパーバイザ402へ、各仮想サーバ403および各物理サーバ202の構成情報と負荷情報の送信命令を出力する(S5)。 When the configuration / load information acquisition unit 303 in the controller 201 receives the configuration / load information acquisition request, the configuration / load information acquisition unit 303 transmits the virtual / virtual information to each hypervisor 402 of all physical servers 202 via the network I / F 301. A transmission command of configuration information and load information of the server 403 and each physical server 202 is output (S5).
各ハイパーバイザ402は、構成情報と負荷情報の送信命令を受信すると、各仮想サーバ403及び物理サーバ202の構成情報と、負荷の測定結果(負荷情報)とを取得してコントローラ201へ応答する(S6)。 Upon receiving the configuration information and load information transmission command, each hypervisor 402 acquires the configuration information of each virtual server 403 and physical server 202 and the load measurement result (load information) and responds to the controller 201 ( S6).
コントローラ201は、ハイパーバイザ402から受信した構成情報及び負荷測定結果を構成情報701、負荷情報702としてメモリ304へ格納する。メモリ304に格納された負荷情報702に加え、メモリ304上に存在する、構成情報701をネットワークI/F301を介して、計算サーバ102へ送信する(S7)。 The controller 201 stores the configuration information and the load measurement result received from the hypervisor 402 in the memory 304 as configuration information 701 and load information 702. In addition to the load information 702 stored in the memory 304, the configuration information 701 existing on the memory 304 is transmitted to the calculation server 102 via the network I / F 301 (S7).
仮想計算機システムにおける仮想サーバ403の構成情報と、物理サーバ202の構成情報と、仮想計算機システムの定義情報および各仮想サーバ403と各物理サーバ202の負荷情報がネットワークI/F501で受信されると、構成/負荷情報取得部503はメモリ504に受信した情報を構成情報801および負荷情報802として格納し、構成算出部505に構成算出要求を送信する。そして構成算出要求を受け取った構成算出部505は、メモリ504内の構成情報801、負荷情報802および要求情報803を元に後述するように構成を算出する。そして、計算サーバ102は、算出した構成情報をクライアント101に出力する(S8)。 When the network I / F 501 receives the configuration information of the virtual server 403 in the virtual computer system, the configuration information of the physical server 202, the definition information of the virtual computer system, and the load information of each virtual server 403 and each physical server 202, The configuration / load information acquisition unit 503 stores the received information in the memory 504 as configuration information 801 and load information 802, and transmits a configuration calculation request to the configuration calculation unit 505. Upon receiving the configuration calculation request, the configuration calculation unit 505 calculates the configuration as described later based on the configuration information 801, the load information 802, and the request information 803 in the memory 504. Then, the calculation server 102 outputs the calculated configuration information to the client 101 (S8).
なお、ステップS8以降の処理は、物理構成の変更の有無に応じて図28または図29のシーケンス図となり、物理構成の変更がある場合には図28のシーケンス図で処理が行われ、物理構成の変更が無い場合には、図29のシーケンス図で論理構成の変更が行われる。 The processing after step S8 is the sequence diagram of FIG. 28 or FIG. 29 depending on whether or not the physical configuration is changed. When the physical configuration is changed, the processing is performed by the sequence diagram of FIG. If there is no change, the logical configuration is changed in the sequence diagram of FIG.
図12は構成算出部505で行われる遺伝的アルゴリズムを用いた構成算出処理の一例を示すフローチャートである。 FIG. 12 is a flowchart illustrating an example of a configuration calculation process using a genetic algorithm performed by the configuration calculation unit 505.
遺伝的アルゴリズムは生物の遺伝メカニズムを模倣した学習アルゴリズムであり、選択、交叉、突然変異という遺伝子操作によって解を導く。遺伝的アルゴリズムを用いた仮想計算機システムの構成情報の算出方法として、まず解候補となる初期集団を複数生成し、それぞれの個体(構成)が要求情報803を満たすものであるかを評価する。 A genetic algorithm is a learning algorithm that mimics the genetic mechanism of an organism, and a solution is derived by genetic operations such as selection, crossover, and mutation. As a method for calculating configuration information of a virtual computer system using a genetic algorithm, first, a plurality of initial populations as solution candidates are generated, and it is evaluated whether each individual (configuration) satisfies the request information 803.
次に、初期集団を評価した結果、要求情報803を満たす個体が存在した場合には、遺伝的アルゴリズムを終了する。一方、初期集団を評価した結果、要求情報803を満たす個体が存在しなかった場合には、選択、交叉、突然変異という遺伝子操作を行い、再びそれぞれの個体を評価する。構成算出部505では、上記サイクルを、物理的な構成パターンと論理的な構成のパターンについてそれぞれ実施して、要求情報803を満たす個体(構成のパターン)が現れるまで繰り返す。 Next, as a result of evaluating the initial population, if there is an individual that satisfies the request information 803, the genetic algorithm is terminated. On the other hand, if there is no individual satisfying the request information 803 as a result of evaluating the initial population, genetic operations such as selection, crossover, and mutation are performed, and each individual is evaluated again. The configuration calculation unit 505 performs the above-described cycle for each of the physical configuration pattern and the logical configuration pattern, and repeats until an individual (configuration pattern) that satisfies the request information 803 appears.
遺伝的アルゴリズムでは、各個体を遺伝子という形で表わす。遺伝子の表現方法は、遺伝子操作に必要な情報を表現できる形であれば特に制限はないが、仮想計算機システムの物理構成を表わす遺伝子として、例えば図14に表わしたような数列で表現できる。 In the genetic algorithm, each individual is represented in the form of a gene. The gene expression method is not particularly limited as long as information necessary for gene manipulation can be expressed, but can be expressed as a gene representing the physical configuration of the virtual computer system, for example, by a numerical sequence as shown in FIG.
図14は、仮想計算機システムの物理的な構成パターンを示す遺伝子を作成する手順の一例を示す図である。 FIG. 14 is a diagram illustrating an example of a procedure for creating a gene indicating a physical configuration pattern of a virtual computer system.
計算機システムの物理構成を表わす遺伝子配列の作成方法として、まず、仮想計算機システムの物理構成を入力し(S31)、それぞれの装置(物理的計算機資源)の接続関係を表の形にし、繋がっている場合には自身の種別(サーバ種別)番号を設定し、繋がっていない場合には0を設定する(S32)。 As a method of creating a gene sequence representing the physical configuration of a computer system, first, the physical configuration of the virtual computer system is input (S31), and the connection relationship of each device (physical computer resource) is formed into a table and connected. In this case, its own type (server type) number is set, and if it is not connected, 0 is set (S32).
図14の例では、物理サーバSv1はスイッチS1に接続され、物理サーバSv2はスイッチS2に接続される。そして、スイッチS1、S2はそれぞれルータRに接続され、ルータRには入力=Iが接続される。 In the example of FIG. 14, the physical server Sv1 is connected to the switch S1, and the physical server Sv2 is connected to the switch S2. The switches S1 and S2 are connected to the router R, and input = I is connected to the router R.
ステップS32では、物理サーバSv1、Sv2、スイッチS1、S2、ルータR、入力=Iの順でそれぞれ行方向、列方向に配置した表を形成する。そして、種別番号は、物理サーバ=「1」、スイッチ=「2」、ルータ=3とする。まず、物理サーバSv1の行では、物理サーバSv1はスイッチS1に接続されているので、スイッチS1の列に当該物理サーバの種別番号=「1」を設定し、他の列には「0」を設定する。これにより、物理サーバSv1の行は、「001000」となる。同様に、物理サーバSv2はスイッチS2に接続されているので、スイッチS2の列に当該物理サーバの種別番号=「1」を設定し、他の列には「0」を設定する。これにより、物理サーバSv2の行は、「000100」となる。同様に、スイッチS1は、物理サーバSv1とルータRに接続されているので、物理サーバSv1の列には物理サーバの種別番号=「1」を設定し、ルータRの列にはスイッチの種別番号=「2」を設定する。これにより、スイッチS1の行は、「100020」となる。スイッチS2、ルータR、入力Iも同様に設定する。これにより、計算機システムの構成パターンは、構成要素の組み合わせを示す数列で表現され、この数列を構成パターンに対応する遺伝子のパターンとして扱うことができる。 In step S32, physical servers Sv1, Sv2, switches S1, S2, router R, and tables arranged in the row direction and the column direction in the order of input = I are formed. The type numbers are physical server = “1”, switch = “2”, and router = 3. First, in the row of the physical server Sv1, since the physical server Sv1 is connected to the switch S1, the type number “1” of the physical server is set in the column of the switch S1, and “0” is set in the other columns. Set. As a result, the row of the physical server Sv1 becomes “001000”. Similarly, since the physical server Sv2 is connected to the switch S2, the type number “1” of the physical server is set in the column of the switch S2, and “0” is set in the other columns. As a result, the row of the physical server Sv2 becomes “000100”. Similarly, since the switch S1 is connected to the physical server Sv1 and the router R, the physical server type number = “1” is set in the column of the physical server Sv1, and the switch type number is set in the column of the router R. = Set “2”. As a result, the row of the switch S1 becomes “100020”. The switch S2, the router R, and the input I are set similarly. Thereby, the configuration pattern of the computer system is expressed by a number sequence indicating a combination of components, and this number sequence can be handled as a gene pattern corresponding to the configuration pattern.
次に、ステップS33では、表の行と列の内容は、それぞれの要素が対称の形になるため、構成を表現するために必要な情報は表の半分(右上もしくは左下)となる。図示の例では、右上の半分の情報を用いて、他を削除する。 Next, in step S33, the contents of the rows and columns of the table are symmetrical to each other, so that information necessary to express the configuration is half of the table (upper right or lower left). In the example shown in the figure, other information is deleted using the information in the upper right half.
さらに、装置自身が繋がるという表現は必要ないため、表の半分からさらにもう一列情報を省くことが出来る(S34)。つまり、行と列の装置が同一のカラムを削除する。 Furthermore, since it is not necessary to express that the devices themselves are connected, it is possible to omit another line of information from the half of the table (S34). That is, a column with the same row and column device is deleted.
次に、「1.物理サーバ同士は接続されない、2.スイッチ同士は接続されない、3.物理サーバはスイッチを介して物理ルータに接続される(物理サーバは直接ルータに接続されない)、4、Inputに接続するのはルータのみ」という制約を付け加えると、表の中で表現する必要のない部分をさらに削ることが出来る(S35)。 Next, “1. Physical servers are not connected to each other, 2. Switches are not connected to each other, 3. Physical servers are connected to physical routers via switches (physical servers are not directly connected to routers), 4, Input If the restriction that “only the router is connected to” is added, a portion that does not need to be expressed in the table can be further cut (S35).
ステップS35の表から、これら必要な情報だけ取り出し、左上のカラムから右下のカラムへ向かって順次並べた値が遺伝子配列となる(S36)。図示の例では、「1001223」となる。 Only the necessary information is extracted from the table in step S35, and values arranged in order from the upper left column to the lower right column are gene sequences (S36). In the illustrated example, “1001223” is obtained.
以上の手順によって、遺伝子配列は0以上の値を取り、0の値は該当装置と繋がっていないということを示し、1以上の値は該当装置と繋がっているということを表す。また、値が1以上の数字の大きさで、装置の種別を知ることが出来る。ここで、上述のステップS35で適用した制約は対象とする仮想システムに依存するため、自由度の高いシステムに適用する場合には制約による表現の削減を行わずに、ステップS34の表を遺伝子表現とすればよい。 By the above procedure, the gene sequence takes a value of 0 or more, and a value of 0 indicates that it is not connected to the corresponding device, and a value of 1 or more indicates that it is connected to the corresponding device. In addition, the type of the device can be known by the size of a number having a value of 1 or more. Here, since the constraint applied in step S35 described above depends on the target virtual system, when applied to a system with a high degree of freedom, the expression in step S34 is not expressed in the gene expression without reducing the expression due to the constraint. And it is sufficient.
しかしながら、対象とする仮想計算機システムにとって表現する必要のない情報が存在するならば、遺伝子の長さを短くするべきである。これは計算サーバ102における計算量の削減にもつながる。 However, if there is information that does not need to be expressed for the target virtual computer system, the length of the gene should be shortened. This also leads to a reduction in calculation amount in the calculation server 102.
また、論理構成を表わす遺伝子として、例えば図15に表わしたような数列で表現できる。図15は、仮想計算機システムの物理構成を示す遺伝子を作成する手順の一例を示す図である。 Further, the gene representing the logical configuration can be expressed by a numerical sequence as shown in FIG. 15, for example. FIG. 15 is a diagram illustrating an example of a procedure for creating a gene indicating the physical configuration of the virtual computer system.
計算機システムの論地構成を表わす遺伝子配列の作成方法として、まず、仮想計算機システムの論理構成を入力し(S41)、それぞれの装置(論理的計算機資源)の接続関係を表の形にし、繋がっている場合には自身の装置種別に応じた装置番号を設定し、繋がっていない場合には0を設定する(S42)。 As a method of creating a gene sequence that represents the logical configuration of a computer system, first, the logical configuration of the virtual computer system is input (S41), and the connection relationship of each device (logical computer resource) is formed into a table and connected. If it is, the device number corresponding to its own device type is set, and if it is not connected, 0 is set (S42).
図15の例では、Machine1の仮想サーバNODE1(N1)、NODE2(N2)が、Machine3の仮想スイッチS1に接続され、Machine2の仮想サーバNODE3(N3)、NODE4(N4)はMachine3の仮想スイッチS2に接続される。そして、仮想スイッチS1、S2はそれぞれMachine4の仮想ルータRに接続され、仮想ルータRには入力Iが接続される。 In the example of FIG. 15, the virtual servers NODE1 (N1) and NODE2 (N2) of Machine1 are connected to the virtual switch S1 of Machine3, and the virtual servers NODE3 (N3) and NODE4 (N4) of Machine2 are connected to the virtual switch S2 of Machine3. Connected. The virtual switches S1 and S2 are each connected to the virtual router R of Machine 4, and the input I is connected to the virtual router R.
ステップS42では、仮想サーバNODE1〜4、仮想スイッチS1、S2、仮想ルータR、入力Iの順でそれぞれ行方向、列方向に配置した表を形成する。そして、装置番号は、Machine1=「1」、Machine2=「2」、Machine3=3、Machine4=4とする。まず、仮想サーバN1の行では、仮想サーバN1は仮想スイッチS1に接続されているので、スイッチS1の列に当該仮想サーバの装置番号=「1」を設定し、他の列には「0」を設定する。これにより、仮想サーバN1の行は、「00001000」となる。同様に、仮想サーバN3は仮想スイッチS2に接続されているので、仮想スイッチS2の列に当該仮想サーバN3の装置番号=「2」を設定し、他の列には「0」を設定する。これにより、仮想サーバN3の行は、「00000200」となる。同様に、仮想スイッチS1は、仮想サーバN1と仮想ルータRに接続されているので、仮想サーバN1の列には仮想サーバN1の装置番号=「1」を設定し、仮想ルータRの列には仮想スイッチの装置番号=「3」を設定する。これにより、仮想スイッチS1の行は、「11000030」となる。仮想スイッチS2、仮想ルータR、入力Iも同様に設定する。これにより、仮想計算機システムの論理的な構成パターンは、仮想的な構成要素の組み合わせを示す数列で表現され、この数列を構成パターンに対応する遺伝子のパターンとして扱うことができる。 In step S42, tables arranged in the row direction and the column direction in the order of virtual servers NODE1 to NODE4, virtual switches S1 and S2, virtual router R, and input I are formed. The device numbers are Machine1 = “1”, Machine2 = “2”, Machine3 = 3, and Machine4 = 4. First, in the row of the virtual server N1, since the virtual server N1 is connected to the virtual switch S1, the device number of the virtual server = “1” is set in the column of the switch S1, and “0” is set in the other columns. Set. As a result, the row of the virtual server N1 becomes “00001000”. Similarly, since the virtual server N3 is connected to the virtual switch S2, the device number of the virtual server N3 = “2” is set in the column of the virtual switch S2, and “0” is set in the other columns. As a result, the row of the virtual server N3 becomes “00000100”. Similarly, since the virtual switch S1 is connected to the virtual server N1 and the virtual router R, the device number of the virtual server N1 = “1” is set in the column of the virtual server N1, and the column of the virtual router R is set in the column of the virtual router R. The device number of the virtual switch = “3” is set. As a result, the row of the virtual switch S1 becomes “11000030”. The virtual switch S2, the virtual router R, and the input I are set similarly. As a result, the logical configuration pattern of the virtual computer system is expressed by a sequence of numbers indicating combinations of virtual components, and this sequence can be handled as a gene pattern corresponding to the configuration pattern.
次に、ステップS43では、表の行と列の内容は、それぞれの要素が対称の形になるため、構成を表現するために必要な情報は表の半分(右上もしくは左下)となる。図示の例では、右上の半分の情報を用いて、他を削除する。 Next, in step S43, the contents of the row and column of the table are symmetrical with each other, so that the information necessary for expressing the configuration is half of the table (upper right or lower left). In the example shown in the figure, other information is deleted using the information in the upper right half.
さらに、装置自身が繋がるという表現は必要ないため、表の半分からさらにもう一列情報を省くことが出来る(S44)。つまり、行と列の要素が同一のカラムを削除する。 Furthermore, since it is not necessary to express that the device itself is connected, it is possible to omit another line of information from the half of the table (S44). That is, a column having the same row and column element is deleted.
次に、「1.仮想サーバ同士は接続されない、2.仮想スイッチ同士は接続されない、3.仮想サーバは仮想スイッチを介して仮想ルータに接続される(仮想サーバは直接仮想ルータに接続されない)、4、Inputに接続するのは仮想ルータのみ」という制約を付け加えると、表の中で表現する必要のない部分をさらに削ることが出来る(S45)。 Next, “1. The virtual servers are not connected to each other, 2. The virtual switches are not connected to each other, 3. The virtual server is connected to the virtual router via the virtual switch (the virtual server is not directly connected to the virtual router), If the restriction that “4. Only a virtual router is connected to Input” is added, it is possible to further cut a portion that does not need to be expressed in the table (S45).
ステップS45の表から、これら必要な情報だけ取り出し、左上のカラムから右下のカラムへ向かって順次並べた値が遺伝子配列となる(S46)。図示の例では、「101010202334」となる。 Only the necessary information is extracted from the table in step S45, and the values sequentially arranged from the upper left column to the lower right column become the gene sequence (S46). In the illustrated example, “1010102202334” is obtained.
以上の手順によって、論理構成についても遺伝子配列は0以上の値を取り、0の値は該当要素と繋がっていないということを示し、1以上の値は該当要素と繋がっているということを表す。また、値が1以上の数字の大きさで、装置の種別を知ることが出来る。ここで、上述のステップS35で適用した制約は対象とする仮想システムに依存するため、自由度の高いシステムに適用する場合には制約による表現の削減を行わずに、ステップS44の表を遺伝子表現とすればよい。 With the above procedure, the gene arrangement also takes a value of 0 or more for the logical configuration, and a value of 0 indicates that it is not connected to the corresponding element, and a value of 1 or more indicates that it is connected to the corresponding element. In addition, the type of the device can be known by the size of a number having a value of 1 or more. Here, since the constraint applied in step S35 described above depends on the target virtual system, the expression in step S44 is not expressed in the table in step S44 without reducing the expression due to the constraint when applied to a system with a high degree of freedom. And it is sufficient.
しかしながら、対象とする仮想計算機システムにとって表現する必要のない情報が存在するならば、遺伝子の長さを短くするべきである。これは計算サーバ102における計算量の削減にもつながる。 However, if there is information that does not need to be expressed for the target virtual computer system, the length of the gene should be shortened. This also leads to a reduction in calculation amount in the calculation server 102.
物理構成と論理構成を同時に表現する遺伝子一つに情報をまとめても良いが、要求情報803によっては、物理構成の変更を禁止する場合が存在する。その場合、物理構成と論理構成で遺伝子を分けておくことによって、論理構成を表わした遺伝子を操作するだけでよくなるため、計算量を減らすことが可能となる。また、遺伝子の複雑化も防ぐことが出来る。 Information may be collected into one gene that simultaneously represents the physical configuration and the logical configuration, but depending on the request information 803, there is a case where the change of the physical configuration is prohibited. In that case, by dividing the gene into a physical configuration and a logical configuration, it is only necessary to manipulate the gene representing the logical configuration, and thus the amount of calculation can be reduced. In addition, the complexity of the gene can be prevented.
ここで、上記図14および図15の遺伝子表現では、サーバ種別や装置種別ごとの台数を表わすことが出来ないほか、サーバ台数によって遺伝子の長さが変化するため、遺伝子操作が困難である。そこで、本発明ではサーバ種別または装置種別ごとの台数が同一となる遺伝子をクラスタというまとまりで表現し、クラスタ単位で遺伝子操作を行う。つまり、クラスタは遺伝子を示す数列の長さが等しい構成パターンの集合となる。 Here, in the gene expression of FIG. 14 and FIG. 15, the number of servers for each server type or device type cannot be represented, and the length of the gene varies depending on the number of servers, so that gene manipulation is difficult. Therefore, in the present invention, genes having the same number for each server type or device type are expressed as a cluster, and gene manipulation is performed in units of clusters. In other words, the cluster is a set of configuration patterns in which the lengths of the sequences indicating the genes are equal.
図16、図17は、物理構成を表わす遺伝子、および論理構成を表わす遺伝子のクラスタを表現したものである。なお、図16は、物理構成を表わす遺伝子のクラスタテーブルを示す。図17は、論理構成を表わす遺伝子のクラスタテーブルを示す。 FIG. 16 and FIG. 17 represent genes representing a physical configuration and clusters of genes representing a logical configuration. FIG. 16 shows a gene cluster table representing a physical configuration. FIG. 17 shows a gene cluster table representing a logical structure.
各クラスタテーブルは、入力された構成(物理構成と論理構成)を基準に構成算出部505によって生成され、各クラスタのサーバ種別または装置種別ごとの台数は図16中の追加マシン種別、図17中の追加VM種別を元に算出することができ、また各クラスタが保持している遺伝子の数および遺伝子情報を持つ。クラスタは、図16および図17のような形でメモリ504上に格納され、遺伝的アルゴリズム適用中、必要に応じて随時書き換えられる。クラスタ内は遺伝子長が全て同一のため、遺伝子操作を自由に行うことが可能となる。 Each cluster table is generated by the configuration calculation unit 505 based on the input configuration (physical configuration and logical configuration), and the number of each cluster server type or device type is the additional machine type in FIG. 16 and FIG. Can be calculated based on the additional VM type, and the number of genes and gene information held by each cluster. The cluster is stored in the memory 504 in the form as shown in FIGS. 16 and 17, and is rewritten as needed during application of the genetic algorithm. Since all the gene lengths are the same in the cluster, gene manipulation can be performed freely.
図16において、物理クラスタテーブル851は、クラスタの識別子を格納するクラスタ番号8511と、追加する物理装置の種別を格納する追加マシン種別8512と、テーブル内の遺伝子の数を格納する遺伝子の数8513と、物理構成を示す遺伝子を格納する遺伝子8514からひとつのエントリが構成される。 In FIG. 16, a physical cluster table 851 includes a cluster number 8511 for storing a cluster identifier, an additional machine type 8512 for storing the type of a physical device to be added, and a gene number 8513 for storing the number of genes in the table. One entry is made up of a gene 8514 for storing a gene indicating a physical configuration.
図示の例では、クラスタ番号8511=0が4台の物理サーバ202の構成例を示す遺伝子8514を格納している。また、クラスタ番号8511=1は種別がAの物理サーバ202を追加する場合の遺伝子8514を格納している。クラスタ番号8511=2は種別がAの物理サーバ202を追加する場合の遺伝子8514を格納している。 In the illustrated example, the cluster number 8511 = 0 stores a gene 8514 indicating a configuration example of four physical servers 202. The cluster number 8511 = 1 stores a gene 8514 when a physical server 202 of type A is added. Cluster number 8511 = 2 stores a gene 8514 when a physical server 202 of type A is added.
図17において、論理クラスタテーブル852は、クラスタの識別子を格納するクラスタ番号8521と、追加する要素の種別を格納する追加VM種別8522と、テーブル内の遺伝子の数を格納する遺伝子の数8523と、物理構成を示す遺伝子を格納する遺伝子8524からひとつのエントリが構成される。 In FIG. 17, the logical cluster table 852 includes a cluster number 8521 for storing the identifier of the cluster, an additional VM type 8522 for storing the type of the element to be added, the number of genes 8523 for storing the number of genes in the table, One entry is configured from a gene 8524 that stores a gene indicating a physical configuration.
図示の例では、クラスタ番号8521=0が6台の仮想サーバ403の構成例を示す遺伝子を格納している。また、クラスタ番号8511=1は仮想サーバ403を1つ追加する場合の遺伝子8524を格納している。クラスタ番号8521=2は2つの仮想サーバを追加する場合の遺伝子8524を格納している。 In the illustrated example, a cluster number 8521 = 0 stores a gene indicating a configuration example of six virtual servers 403. The cluster number 8511 = 1 stores a gene 8524 when one virtual server 403 is added. Cluster number 8521 = 2 stores gene 8524 when two virtual servers are added.
<処理の概要>
図12は仮想計算機システムの物理構成と、論理構成及び仮想サーバの配置を考慮して計算サーバ102で行われる構成の算出処理の一例を示すフローチャートである。
<Outline of processing>
FIG. 12 is a flowchart illustrating an example of a configuration calculation process performed by the calculation server 102 in consideration of the physical configuration of the virtual computer system, the logical configuration, and the placement of the virtual server.
ネットワークI/F501を介して要求取得部502と構成/負荷情報取得部503により収集された要求情報および構成/負荷情報はメモリ504を介して構成算出部505に送られ、構成算出部505はクライアント101から構成を算出する指令を受信すると図12のフローチャートに従って処理を行う。本フローチャートは物理的な構成パターンを算出するループ(S12、S13、S21〜S25)と、論理的な構成パターン及び仮想サーバの配置を算出するループ部分(S14〜S20)とから構成される。 The request information and the configuration / load information collected by the request acquisition unit 502 and the configuration / load information acquisition unit 503 via the network I / F 501 are sent to the configuration calculation unit 505 via the memory 504, and the configuration calculation unit 505 is the client. When a command for calculating the configuration is received from 101, processing is performed according to the flowchart of FIG. This flowchart includes a loop (S12, S13, S21 to S25) for calculating a physical configuration pattern, and a loop portion (S14 to S20) for calculating a logical configuration pattern and a virtual server arrangement.
遺伝的アルゴリズムを適用する処理の例としては、物理的な構成を算出する際の遺伝的アルゴリズムに、論理構成及びサーバ配置を算出する遺伝的アルゴリズムを入れ子にした一例を示す。 As an example of the process of applying the genetic algorithm, an example in which the genetic algorithm for calculating the logical configuration and the server arrangement is nested in the genetic algorithm for calculating the physical configuration is shown.
計算サーバ102は、構成の算出処理を実行するにあたり、構成算出部505は要求情報803を参照し、システム定義情報804内の要求/制約反映テーブル1002へ反映する。要求/制約反映テーブル1002については後述する。また、計算サーバ102の構成算出部505は、構成の算出処理を開始する以前に、クライアント101から要求情報803に加えて算出する構成に関する情報920を受信しておく。構成算出部505は受信した要求/制約反映テーブル1002の緊急度aを取得し、図18で示すように適応度の閾値を求めておく。なお、緊急度aは演算精度の高低(演算時間の長短)を決定するパラメータで0〜1の値で表現される。 When the calculation server 102 executes the configuration calculation process, the configuration calculation unit 505 refers to the request information 803 and reflects it in the request / constraint reflection table 1002 in the system definition information 804. The request / constraint reflection table 1002 will be described later. The configuration calculation unit 505 of the calculation server 102 receives information 920 related to the configuration to be calculated in addition to the request information 803 from the client 101 before starting the configuration calculation processing. The configuration calculation unit 505 acquires the urgency a of the received request / constraint reflection table 1002, and obtains a fitness threshold as shown in FIG. The degree of urgency a is a parameter that determines the level of calculation accuracy (the length of calculation time), and is expressed as a value between 0 and 1.
次に、構成算出部505は図12のステップS11で、各仮想サーバ403の負荷を推定する。この負荷の推定は、後述する図20Cで示すように、単位トラフィック当たりの仮想サーバ202の負荷を基本負荷910として求める。そして、構成算出部505は取得されたトラフィック量923を処理する際の仮想サーバ403の想定負荷930と、各仮想サーバ403を提供する物理サーバ202の想定負荷940とを演算する。そして、構成算出部505は、想定負荷と所定の既定値を比較して仮想サーバ403と物理サーバ202のそれぞれについて、負荷の判定結果950を演算する。なお、処理トラフィック量923は負荷情報を取得した際に測定したトラフィック量である。 Next, the configuration calculation unit 505 estimates the load of each virtual server 403 in step S11 of FIG. For this load estimation, as shown in FIG. 20C described later, the load of the virtual server 202 per unit traffic is obtained as a basic load 910. Then, the configuration calculation unit 505 calculates the assumed load 930 of the virtual server 403 when processing the acquired traffic volume 923 and the assumed load 940 of the physical server 202 that provides each virtual server 403. Then, the configuration calculation unit 505 compares the assumed load with a predetermined default value and calculates a load determination result 950 for each of the virtual server 403 and the physical server 202. The processing traffic volume 923 is the traffic volume measured when the load information is acquired.
次に、ステップS12で、構成算出部505は、物理構成の初期パターンをクラスタ毎の遺伝子のパターンで生成する。物理パターンを生成する方法としては、例えば乱数の発生によってクラスタ毎の物理構成のパターンを生成することができる。そして、発生した物理構成のパターンを上述した処理によって遺伝子に変換する。 Next, in step S12, the configuration calculation unit 505 generates an initial pattern of the physical configuration with a gene pattern for each cluster. As a method of generating a physical pattern, for example, a physical configuration pattern for each cluster can be generated by generating a random number. Then, the generated physical configuration pattern is converted into a gene by the above-described processing.
次に、ステップS13(修正部)で、構成算出部505は、ステップS12で生成された物理構成の遺伝子がシステム定義情報804の制約条件に反していた場合には、物理構成の遺伝子が制約条件を満たすように修正する。この修正は、システム定義情報804の致死フィルタ1003を制約条件として用いる例を示す。致死フィルタ1003には、後述するように、予め設定した計算機システムの定義に反する遺伝子を判定するための条件と、計算機システムの定義に反した遺伝子を修正する内容が格納される。構成算出部505は、生成した物理構成の遺伝子のそれぞれについて、定義に合致しているか否かを判定し、定義に反している物理構成の遺伝子があれば修正内容に従って遺伝子を修正する。 Next, in step S13 (correction unit), the configuration calculation unit 505 determines that if the physical configuration gene generated in step S12 violates the constraint condition of the system definition information 804, the physical configuration gene is the constraint condition. Modify to meet This modification shows an example in which the lethal filter 1003 of the system definition information 804 is used as a constraint condition. As will be described later, the lethal filter 1003 stores conditions for determining genes that violate preset computer system definitions and contents for correcting genes that violate computer system definitions. The configuration calculation unit 505 determines whether or not each of the generated genes of the physical configuration matches the definition, and corrects the gene according to the correction contents if there is a physical configuration of the gene that violates the definition.
次に、ステップS14で、構成算出部505は、論理構成の初期パターンをクラスタ毎の遺伝子のパターンで生成する。論理構成を生成する方法としては、例えば乱数の発生によって各クラスタ毎の論理構成のパターンを生成することができる。そして、発生した論理構成のパターンを上述した処理によって遺伝子に変換する。 Next, in step S14, the configuration calculation unit 505 generates an initial pattern of the logical configuration as a gene pattern for each cluster. As a method of generating a logical configuration, for example, a logical configuration pattern for each cluster can be generated by generating a random number. Then, the generated logical configuration pattern is converted into a gene by the above-described processing.
次に、ステップS15(修正部)で、構成算出部505は、ステップS14で生成された論理構成の遺伝子がシステム定義情報804の制約条件に反していた場合には、遺伝子が制約条件を満たすように修正する。この修正は、物理構成と同様に、システム定義情報804の致死フィルタ1003を制約条件として用いる例を示す。構成算出部505は、生成した論理構成の遺伝子のそれぞれについて、定義に合致しているか否かを判定し、定義に反している遺伝子があれば修正内容に従って遺伝子を修正する。 Next, in step S15 (correction unit), the configuration calculation unit 505 determines that the gene satisfies the constraint condition if the gene of the logical configuration generated in step S14 violates the constraint condition of the system definition information 804. To correct. This modification shows an example in which the lethal filter 1003 of the system definition information 804 is used as a constraint condition as in the physical configuration. The configuration calculation unit 505 determines whether or not each of the generated genes of the logical configuration matches the definition, and corrects the gene according to the correction content if there is a gene that violates the definition.
ステップS16(適応度演算部)では、構成算出部505が、各クラスタのそれぞれの論理構成に対して適応度を後述する(1)式から算出する。そして、構成算出部505は各論理構成の適応度と所定の閾値を比較して、閾値を超える適応度の論理構成があるか否かを判定する。何れかのクラスタに閾値を越える適応度を有する論理構成が存在する場合には、当該論理構成を解としてステップS21(適応度演算部)へ進む。一方、閾値を越える適応度が無い場合にはステップS17に進む。 In step S16 (a fitness calculation unit), the configuration calculation unit 505 calculates the fitness for each logical configuration of each cluster from equation (1) described later. Then, the configuration calculation unit 505 compares the fitness of each logical configuration with a predetermined threshold value, and determines whether there is a logical configuration with a fitness level exceeding the threshold value. If there is a logical configuration having a fitness level that exceeds the threshold value in any cluster, the logical configuration is taken as a solution and the process proceeds to step S21 (a fitness level calculation unit). On the other hand, if there is no fitness exceeding the threshold, the process proceeds to step S17.
予め設定した閾値以上の適応度が存在しなかった場合には、構成算出部505がステップS17〜S19(構成変更部)で各論理構成の遺伝子を操作する。ここで、適応度を判定する閾値は、図18の要求/制約反映テーブル1002に設定された適応度の閾値を用いる。 If there is no fitness level equal to or greater than the preset threshold value, the configuration calculation unit 505 operates the genes of each logical configuration in steps S17 to S19 (configuration change unit). Here, as the threshold value for determining the fitness level, the threshold value for the fitness level set in the request / constraint reflection table 1002 in FIG. 18 is used.
まず、図12のステップS17では、構成算出部505が論理構成の遺伝子に対して選択と呼ばれる遺伝子操作を実行する。構成算出部505が実行する選択処理は、適応度が所定値未満の論理構成の遺伝子を消去し、適応度が高い(所定値以上)の個体(構成)を次の世代へ多く残すための操作である。選択処理の一例としては、ルーレット選択、ランキング選択、トーナメント選択、エリート選択等の公知または周知の手法を用いることができる。ここで、遺伝子としては、図14、図15のような表現を用いた場合で、かつ図16、図17に表わしたようにクラスタとして遺伝子を群として扱う。 First, in step S <b> 17 of FIG. 12, the configuration calculation unit 505 performs a gene operation called selection on a logically configured gene. The selection process executed by the configuration calculation unit 505 is an operation for deleting genes having a logical configuration with a fitness less than a predetermined value and leaving a large number of individuals (configuration) with a high fitness (a predetermined value or more) in the next generation. It is. As an example of the selection process, a known or well-known method such as roulette selection, ranking selection, tournament selection, elite selection, or the like can be used. Here, as the gene, when the expressions as shown in FIGS. 14 and 15 are used, and as shown in FIGS. 16 and 17, the genes are handled as a group as a cluster.
ステップS18では、構成算出部505はこれら複数のクラスタの論理構成の遺伝子群について調整をそれぞれ行う。構成算出部505が実行する各クラスタの調整については図24で後述する。 In step S <b> 18, the configuration calculation unit 505 adjusts each of the gene groups having the logical configuration of the plurality of clusters. The adjustment of each cluster executed by the configuration calculation unit 505 will be described later with reference to FIG.
ステップS19では、構成算出部505は選択を行った複数のクラスタの論理構成の遺伝子群について交叉を実行する。交叉は、上記選択によって選出された遺伝子の中から2つの遺伝子を取り出し、遺伝子同士を掛け合わせる工程になっている。交叉の手法としては、一点交叉、二点交叉、多点交叉、一様交叉等の周知または公知の手法を用いることができる。 In step S <b> 19, the configuration calculation unit 505 performs crossover for the gene groups having the logical configuration of the selected clusters. Crossover is a process of taking two genes out of the genes selected by the selection and multiplying the genes. As the crossover method, a known or publicly known method such as one-point crossover, two-point crossover, multipoint crossover, or uniform crossover can be used.
ただし、図8、図9に表わされた遺伝子表現を用いる場合、仮想サーバ数および物理サーバ数が異なる遺伝子同士は遺伝子長が異なる。このため、交叉時にはクラスタ内の遺伝子同士で交叉を行い、サーバ種別の等しい遺伝子同士を交叉することを可能とする。 However, when the gene expression shown in FIGS. 8 and 9 is used, genes having different numbers of virtual servers and different physical servers have different gene lengths. For this reason, at the time of crossover, it is possible to crossover between genes in the cluster and crossover genes of the same server type.
ステップS20では、構成算出部505は交叉を行った複数のクラスタの遺伝子群について遺伝子操作の最後の工程となる突然変異を行う。突然変異の遺伝子操作は、交叉まで遺伝子操作が済んだ個体(遺伝子)に対して、予め設定された低い確率で、遺伝子表現のビット列の一部の情報を変更する操作になっている。これにより、算出する個体(遺伝子)が局所的最適解に陥ることを防ぐことが出来る。 In step S <b> 20, the configuration calculation unit 505 performs a mutation that is the last step of genetic manipulation for the gene groups of the plurality of clusters that have undergone crossover. The genetic manipulation of mutation is an operation of changing a part of information of a bit string of gene expression with a low probability set in advance for an individual (gene) that has been genetically manipulated until crossover. Thereby, it can prevent that the individual (gene) to calculate falls into a local optimal solution.
上記ステップS17〜S20で遺伝子操作の工程をすべて終えた後、構成算出部505はステップS15の処理に戻る。ステップS15では、構成算出部505は、交叉、突然変異によって変更された論理構成の遺伝子表現が要求情報803内の制約条件に反していた場合には、遺伝子表現が制約条件を満たすものになるよう致死フィルタ1003によって修正を加える。これらの過程を経た後、再び各構成の適応度の判定が行われる(図12ステップS16)。 After completing all the genetic manipulation steps in steps S17 to S20, the configuration calculation unit 505 returns to the process of step S15. In step S15, the configuration calculation unit 505 causes the gene expression to satisfy the constraint condition if the gene expression of the logical configuration changed by the crossover or mutation violates the constraint conditions in the request information 803. Correction is made by the lethal filter 1003. After these processes, the fitness of each component is determined again (step S16 in FIG. 12).
次に、上記ステップS16の判定で適応度が閾値を超える論理構成が存在する場合には、ステップS21に進んで構成算出部505が複数のクラスタの物理構成のそれぞれについて適応度を算出する。物理構成の適応度の算出については後述する。構成算出部505は複数のクラスタの物理構成の適応度を所定の閾値と比較して、閾値を超える適応度を持つ物理構成があるか否かを判定する。ここで、適応度を判定する閾値は、上記ステップS16の判定と同様に、図18の要求/制約反映テーブル1002に設定された適応度の閾値を用いる。 Next, when there is a logical configuration whose fitness exceeds the threshold value in the determination in step S16, the process proceeds to step S21, and the configuration calculation unit 505 calculates the fitness for each of the physical configurations of the plurality of clusters. The calculation of the fitness of the physical configuration will be described later. The configuration calculation unit 505 compares the fitness of physical configurations of a plurality of clusters with a predetermined threshold value, and determines whether there is a physical configuration having a fitness level exceeding the threshold value. Here, as the threshold value for determining the fitness level, the threshold value for the fitness level set in the request / constraint reflection table 1002 in FIG. 18 is used as in the determination in step S16.
何れかのクラスタに閾値を越える適応度を有する物理構成が存在する場合には、構成算出部505が当該物理構成を解としてステップS26へ進む。一方、閾値を越える適応度が無い場合にはステップS22に進む。ステップS26では、構成算出部505が閾値をこえる適応度の論理構成と物理構成を出力して処理を終了する。 If any cluster has a physical configuration having a fitness level that exceeds the threshold, the configuration calculation unit 505 sets the physical configuration as a solution and proceeds to step S26. On the other hand, if there is no fitness exceeding the threshold, the process proceeds to step S22. In step S26 , the configuration calculation unit 505 outputs the logical configuration and physical configuration of the fitness exceeding the threshold value, and the process ends.
予め設定した閾値以上の適応度が存在しなかった場合には、構成算出部505がステップS22〜S25(構成変更部)で各論理構成の遺伝子を操作する。 If there is no fitness level equal to or greater than a preset threshold value, the configuration calculation unit 505 operates the genes of each logical configuration in steps S22 to S25 (configuration change unit).
まず、ステップS22では、構成算出部505が物理構成の遺伝子に対して選択と呼ばれる遺伝子操作を実行する。構成算出部505が実行する選択処理は、適応度が所定値未満の物理構成の遺伝子を消去し、適応度が高い(所定値以上)の個体(構成)を次の世代へ多く残すための操作である。選択処理の一例としては、ルーレット選択、ランキング選択、トーナメント選択、エリート選択等の公知または周知の手法を用いることができる。ここで、遺伝子としては、上記論理構成と同様であり、図14、図15のような表現を用いた場合で、かつ図16、図17に表わしたようにクラスタとして遺伝子を群として扱う。 First, in step S22, the configuration calculation unit 505 performs a genetic operation called selection on a gene having a physical configuration. The selection process executed by the configuration calculation unit 505 is an operation for deleting a gene having a physical configuration having a fitness less than a predetermined value and leaving a large number of individuals (configuration) having a high fitness (a predetermined value or more) in the next generation. It is. As an example of the selection process, a known or well-known method such as roulette selection, ranking selection, tournament selection, elite selection, or the like can be used. Here, the genes are the same as in the logical configuration described above, and when the expressions as shown in FIGS. 14 and 15 are used, the genes are handled as a group as a cluster as shown in FIGS. 16 and 17.
ステップS23では、構成算出部505はこれら複数のクラスタの物理構成の遺伝子群について調整をそれぞれ行う。構成算出部505が実行する各クラスタの調整については図24で後述する。 In step S <b> 23, the configuration calculation unit 505 adjusts each of the gene groups having the physical configuration of the plurality of clusters. The adjustment of each cluster executed by the configuration calculation unit 505 will be described later with reference to FIG.
ステップS24では、構成算出部505は選択を行った複数のクラスタの物理構成の遺伝子群について交叉を実行する。交叉は、上記選択によって選出された遺伝子の中から2つの遺伝子を取り出し、遺伝子同士を掛け合わせる工程になっている。交叉の手法としては、一点交叉、二点交叉、多点交叉、一様交叉等の周知または公知の手法を用いることができる。 In step S24, the configuration calculation unit 505 performs crossover for the gene group having the physical configuration of the selected clusters. Crossover is a process of taking two genes out of the genes selected by the selection and multiplying the genes. As the crossover method, a known or publicly known method such as one-point crossover, two-point crossover, multipoint crossover, or uniform crossover can be used.
ただし、図8、図9に表わされた遺伝子表現を用いる場合、仮想サーバ数および物理サーバ数が異なる遺伝子同士は遺伝子長が異なる。このため、交叉時にはクラスタ内の遺伝子同士で交叉を行い、サーバ種別の等しい遺伝子同士を交叉することを可能とする。 However, when the gene expression shown in FIGS. 8 and 9 is used, genes having different numbers of virtual servers and different physical servers have different gene lengths. For this reason, at the time of crossover, it is possible to crossover between genes in the cluster and crossover genes of the same server type.
ステップS25では、構成算出部505は交叉を行った複数のクラスタの物理構成の遺伝子群について遺伝子操作の最後の工程となる突然変異を行う。突然変異の遺伝子操作は、交叉まで遺伝子操作が済んだ個体(遺伝子)に対して、予め設定された低い確率で、遺伝子表現のビット列の一部の情報を変更する操作になっている。これにより、算出する個体(遺伝子)が局所的最適解に陥ることを防ぐことが出来る。 In step S <b> 25, the configuration calculation unit 505 performs a mutation that is the last step of genetic manipulation for the gene group having the physical configuration of the plurality of clusters that have undergone crossover. The genetic manipulation of mutation is an operation of changing a part of information of a bit string of gene expression with a low probability set in advance for an individual (gene) that has been genetically manipulated until crossover. Thereby, it can prevent that the individual (gene) to calculate falls into a local optimal solution.
上記ステップS22〜S25で遺伝子操作の工程をすべて終えた後、構成算出部505はステップS13の処理に戻る。ステップS13では、構成算出部505は、交叉、突然変異によって変更された物理構成の遺伝子表現が要求情報803内の制約条件に反していた場合には、遺伝子表現が制約条件を満たすものになるよう致死フィルタ1003によって修正を加える。これらの過程を経た後、再びステップS14〜S16を経て、ステップS21以降の処理が繰り返される。 After completing all the genetic manipulation steps in steps S22 to S25, the configuration calculation unit 505 returns to the process of step S13. In step S <b> 13, the configuration calculation unit 505 determines that the gene expression satisfies the constraint condition when the gene expression of the physical configuration changed by crossover or mutation violates the constraint conditions in the request information 803. Correction is made by the lethal filter 1003. After passing through these processes, the process after step S21 is repeated through steps S14-S16 again.
以上の処理によって、構成算出部505は適応度が閾値を超える、論理構成と物理構成の組み合わせを出力する。 Through the above processing, the configuration calculation unit 505 outputs a combination of a logical configuration and a physical configuration whose fitness exceeds a threshold value.
なお、上記の例では閾値を要求/制約反映テーブル1002の適応度の閾値(1−a4/2)として、緊急度a(ただし0≦a≦1)が高くなれば遺伝子操作の量が増大して演算時間が長くなり、緊急度aが低ければ遺伝子操作の量が減少して演算時間は短くなる。なお、適応度の閾値は、緊急度aから独立した閾値を別途設定するようにしてもよい。 Incidentally, as the threshold (1-a 4/2) of the fitness of the request / constraints reflect table 1002 the threshold in the above example, the amount of urgency a (except 0 ≦ a ≦ 1) is high becomes if genetic manipulation increased If the urgency a is low, the amount of genetic manipulation is reduced and the calculation time is shortened. The fitness threshold may be set separately from the urgency a.
以上のように、各構成の適応度の算出を行った結果、適応度の閾値を超える構成が存在した場合には、その構成を解として出力し(図12ステップS26)、終了する。 As described above, when the fitness of each configuration is calculated and there is a configuration exceeding the fitness threshold, the configuration is output as a solution (step S26 in FIG. 12), and the process is terminated.
閾値を超える適応度となる構成が存在しなかった場合、論理構成/サーバ配置算出時の遺伝子操作と同様に、物理構成の個体に対して選択、交叉、突然変異といった処理を行った後(図12ステップS22−25)、再び論理構成/サーバ配置算出処理に移る。ただし、論理構成の遺伝子操作時と違い、物理構成の遺伝子操作時にはクラスタの操作時に全遺伝子内の混み合っている物理サーバの総数が一定数を超えているものの割合を求める。その結果、物理サーバの混雑に応じたサーバ台数を探索することが可能となる。 If there is no configuration that has a fitness level that exceeds the threshold value, after performing processing such as selection, crossover, and mutation for individuals with the physical configuration in the same way as the genetic operation at the time of logical configuration / server allocation calculation (Figure 12 Step S22-25), the process proceeds to the logical configuration / server arrangement calculation process again. However, unlike the case of genetic manipulation of the logical configuration, the percentage of the total number of congested physical servers in all genes exceeding the predetermined number during the cluster manipulation is obtained during the genetic manipulation of the physical configuration. As a result, it is possible to search for the number of servers according to the congestion of physical servers.
<要求/制約反映テーブル>
図18は要求/制約反映テーブル1002の内容の一例を示す。要求/制約反映テーブル1002は上記図12の処理で使用される情報を格納する。
<Request / constraint reflection table>
FIG. 18 shows an example of the contents of the request / constraint reflection table 1002. The request / constraint reflection table 1002 stores information used in the processing of FIG.
要求/制約反映テーブル1002は、要求情報803(902)に設定された緊急度、上限工数、物理サーバ数上限情報、物理構成の変更可否、構成に関する要求といった要求/制約項目10021と、これらの要求/制約項目に対するそれぞれの要求内容10022と、各要求内容10022のうち遺伝的アルゴリズム(図中GA:Genetic Algorithm)に反映する情報10023が格納される。GAに反映する情報10023は、クライアント101から予め設定したものとする。GAに反映する情報10023としては、適応度の閾値や重み付けの係数などが設定される。 The request / restriction reflection table 1002 includes request / restriction items 10021 such as urgency, upper limit man-hours, physical server number upper limit information, change of physical configuration, request regarding configuration set in the request information 803 (902), and these requests. Each request content 10022 with respect to the constraint item and information 10025 to be reflected in the genetic algorithm (GA: Genetic Algorithm in the figure) among the request content 10022 are stored. It is assumed that the information 10027 to be reflected on the GA is set in advance from the client 101. As information 10025 to be reflected in the GA, a threshold value of fitness, a weighting coefficient, and the like are set.
要求/制約反映テーブル1002は、要求情報803によって表現されている要求内容を構成算出時の変数や手順等に反映するその方法を示している。要求/制約反映テーブル1002の通りに構成算出手順を変化させることで、クライアント101を操作するユーザからの要求を構成算出に活かすことが出来る。 The request / constraint reflection table 1002 shows a method of reflecting the request contents expressed by the request information 803 in variables, procedures, etc. at the time of configuration calculation. By changing the configuration calculation procedure according to the request / constraint reflection table 1002, a request from the user operating the client 101 can be utilized for the configuration calculation.
<負荷の測定>
図12の処理において、まず、計算サーバ102の構成算出部505は、各仮想サーバ403毎に単位トラフィック(1000トラフィック)を処理する際の負荷を推定する(図12ステップS11)。構成算出部505は、図8、図9に示す負荷情報を読み込んで、単位トラフィック(1000トラフィック)を処理する際に各仮想サーバ403にかかる負荷を演算する。
<Measurement of load>
In the process of FIG. 12, first, the configuration calculation unit 505 of the calculation server 102 estimates the load when processing the unit traffic (1000 traffic) for each virtual server 403 (step S11 in FIG. 12). The configuration calculation unit 505 reads the load information shown in FIGS. 8 and 9 and calculates the load applied to each virtual server 403 when processing the unit traffic (1000 traffic).
仮想サーバ403の負荷は、構成算出部505が、図8から仮想サーバ403の負荷情報を取得し、図5Bの構成情報701Aを取得して、図20Aに示す仮想サーバの負荷情報を生成する。図20Aの仮想サーバの負荷情報は、図8に示した負荷情報802Aの仮想サーバ741〜トラフィック負荷745に、図5Bの構成情報801Aの接続先712と、図7Bの物理サーバ732を配置先とし、さらに、処理トラフィック量900を結合したものである。ここで、処理トラフィック量は、各仮想サーバ703毎に処理したトラフィック量を仮想サーバ403から計算サーバ102が取得した値である。なお、図20Aの仮想サーバの負荷情報は、計算サーバ102のメモリ504上に保持しても良い。 Regarding the load of the virtual server 403, the configuration calculation unit 505 acquires the load information of the virtual server 403 from FIG. 8, acquires the configuration information 701A of FIG. 5B, and generates the load information of the virtual server shown in FIG. 20A. 20A includes virtual server 741 to traffic load 745 of load information 802A shown in FIG. 8, connection destination 712 of configuration information 801A of FIG. 5B, and physical server 732 of FIG. Further, the processing traffic amount 900 is combined. Here, the processing traffic amount is a value obtained by the calculation server 102 from the virtual server 403 on the traffic amount processed for each virtual server 703. Note that the load information of the virtual server in FIG. 20A may be held on the memory 504 of the calculation server 102.
また、物理サーバ202の負荷は、図9から物理サーバ202の負荷情報を取得し、図6Bの構成情報701Bを取得して、図20Bに示す物理サーバの負荷情報を生成する。 Moreover, the load of the physical server 202 acquires the load information of the physical server 202 from FIG. 9, acquires the configuration information 701B of FIG. 6B, and generates the load information of the physical server shown in FIG. 20B.
図20Bは、図9に示した負荷情報802Bの物理サーバ751〜トラフィック負荷755に、図6Bの構成情報801Bの接続先722とを結合したものである。なお、図20Bの物理サーバの負荷情報は、計算サーバ102のメモリ504上に保持しても良い。 20B is obtained by combining the physical server 751 to the traffic load 755 of the load information 802B shown in FIG. 9 with the connection destination 722 of the configuration information 801B of FIG. 6B. 20B may be held on the memory 504 of the calculation server 102.
そして、構成算出部505は、図19に示すサーバ情報と図20Aに示す仮想サーバの負荷情報と図20Bに示す物理サーバの負荷情報から図20Cに示す単位トラフィック(1000)当たりの負荷の推定値を演算して基本負荷910のテーブルに格納する。基本負荷910は、仮想サーバ403の名称を格納する仮想サーバ911と、単位トラフィックを処理するために当該仮想サーバに割り当てたプロセッサ220の使用率を格納するCPU負荷912と、単位トラフィックを処理するために当該仮想サーバに割り当てたメモリ314の使用率を格納するメモリ負荷913と、単位トラフィックを処理するために当該仮想サーバがアクセスするストレージ装置(図示省略)の帯域使用率を格納するI/O負荷914と、単位トラフィックを処理するために当該仮想サーバがアクセスするネットワーク負荷を格納するトラフィック負荷915からひとつのエントリが構成される。 The configuration calculation unit 505 then estimates the load per unit traffic (1000) shown in FIG. 20C from the server information shown in FIG. 19, the virtual server load information shown in FIG. 20A, and the physical server load information shown in FIG. 20B. Is calculated and stored in the table of the basic load 910. The basic load 910 includes a virtual server 911 that stores the name of the virtual server 403, a CPU load 912 that stores the usage rate of the processor 220 assigned to the virtual server for processing the unit traffic, and a unit traffic. A memory load 913 for storing the usage rate of the memory 314 allocated to the virtual server, and an I / O load for storing the bandwidth usage rate of a storage device (not shown) accessed by the virtual server to process unit traffic One entry is composed of the traffic load 915 that stores the network load accessed by the virtual server in order to process the unit traffic.
単位トラフィック(1000)当たりの負荷推定値は、現在得られている各負荷912―915を、現在の処理トラフィック量で割ることで求める方法が、一般的に知られている。 A method is generally known in which the estimated load value per unit traffic (1000) is obtained by dividing each currently obtained load 912-915 by the current amount of processing traffic.
なお、上記負荷の推定に関して、システム定義情報804内のサーバ情報1001を用いても良い。 Note that the server information 1001 in the system definition information 804 may be used for the load estimation.
図19にサーバ情報1001の内容を示す。サーバ情報1001は、サーバの種別を格納する物理サーバ10011と、遺伝子情報に設定する番号を格納する遺伝子番号10012と、プロセッサの性能に関する情報を格納するCPU性能10013と、メモリの性能に関する情報を格納するメモリ性能10014と、ストレージ装置などへのI/Oアクセスの性能に関する情報を格納するI/O性能10015と、ネットワークなどへのアクセスの性能に関する情報を格納するトラフィック性能10016と、実行可能な仮想サーバの最大値を格納する仮想サーバ上限10017と、物理サーバ202のコストに関する値を格納する10018とからひとつのエントリが構成される。 FIG. 19 shows the contents of the server information 1001. The server information 1001 stores a physical server 10011 that stores a server type, a gene number 10012 that stores a number to be set in gene information, a CPU performance 10013 that stores information on processor performance, and information on memory performance. Memory performance 10014, I / O performance 10015 for storing information related to performance of I / O access to a storage device, etc., traffic performance 10016 for storing information related to performance of access to network etc., and executable virtual One entry includes a virtual server upper limit 10017 for storing the maximum value of the server and 10018 for storing a value related to the cost of the physical server 202.
ここで、性能に関する情報10013〜10016とコストに関する情報10018は、予め設定した基準となる物理サーバとの相対的な値が予め設定されたものである。その他の値も管理者などが予め設定した値である。 Here, the information 10013 to 10016 related to the performance and the information 10018 related to the cost are set in advance with relative values with a physical server that is a preset reference. Other values are values preset by an administrator or the like.
サーバ情報1001は基準とする物理サーバに対する性能の優劣を示す数値(比率)や、実行可能な仮想サーバの数、基準とする物理サーバに対するコストの比率、遺伝子表現で用いる番号等が予め設定されたテーブルである。 The server information 1001 is preset with numerical values (ratio) indicating superiority or inferiority of performance with respect to the reference physical server, the number of executable virtual servers, the cost ratio with respect to the reference physical server, numbers used in gene expression, and the like. It is a table.
性能やコストの優劣を比較する基準のサーバについては管理者などが適宜設定すればよく、基準のサーバから各サーバの性能やコストが相対的に表現出来てさえいればよい。基本負荷910の推定については公知または周知の手法を適宜採用することができる。 An administrator or the like may appropriately set a reference server for comparing the superiority and inferiority of performance and cost as long as the performance and cost of each server can be expressed relatively from the reference server. For estimating the basic load 910, a known or well-known method can be adopted as appropriate.
ただし、図20A〜図20Cで示すように計算サーバ102内のメモリ504に格納されている構成情報801と負荷情報802とシステム定義情報804内のサーバ情報1001などの情報を入力として推定を行い、出力として各仮想サーバの基準のサーバ(各性能1.0扱い)で起動した際の単位トラフィック(1000トラフィック)あたりの負荷量を出力するものであることが求められる。 However, as shown in FIGS. 20A to 20C, estimation is performed using information such as configuration information 801, load information 802, and server information 1001 in system definition information 804 stored in the memory 504 in the calculation server 102 as input, As an output, it is required to output a load amount per unit traffic (1000 traffic) when starting with a reference server (each handling 1.0) for each virtual server.
<致死フィルタ>
図21は致死フィルタ1003の例を示す。
<Fatality filter>
FIG. 21 shows an example of the lethal filter 1003.
致死フィルタ1003は、システムの定義に反する遺伝子を判定するための条件を格納する判定個所10031と、システムの定義に反する遺伝子を修正する内容を格納する修正方法10032の組から成る。ここでは判定個所とその修正手順を記述しているのみだが、フィルタとしてプログラムで記述しても良い。致死フィルタ1003として外に定義することで、システム定義が変わった場合にもこのフィルタ部分を操作するだけで、致死とする遺伝子の種類を変えることができる。 The lethal filter 1003 includes a set of a determination part 10031 for storing a condition for determining a gene that violates the system definition and a correction method 10032 for storing contents for correcting a gene that violates the system definition. Here, only the determination part and its correction procedure are described, but a filter may be described by a program. By defining outside as the lethal filter 1003, even when the system definition changes, the type of lethal gene can be changed only by operating this filter portion.
<論理構成の適応度の演算>
図12のステップS16で行われる論理構成の適応度の算出は、例えば、次式によって行われる。
<Calculation of fitness of logical configuration>
The calculation of the fitness of the logical configuration performed in step S16 in FIG. 12 is performed by the following equation, for example.
ここで、上記(1)式の「good_chemistry_virtual_machine」は、物理サーバ202と相性の良い仮想サーバ403の台数を表わす。また、「bad_chemistry_virtual_machine」は物理サーバ202と相性の悪い仮想サーバ403の台数を表わす。 Here, “good_chemistry_virtual_machine” in the above equation (1) represents the number of virtual servers 403 that are compatible with the physical server 202. “Bad_chemistry_virtual_machine” represents the number of virtual servers 403 that are not compatible with the physical server 202.
ここで、本実施形態では物理サーバ202と仮想サーバ403の相性とは、仮想サーバ403の処理によって最も負荷がかかっている部分(例えばCPU、メモリ、IO、NW等)と物理サーバ202の得意な処理とが同一である仮想サーバ403の配置になっている場合に、相性が良いと定義する。物理サーバ202と仮想サーバ403の相性は、上述の単位トラフィックあたりの仮想サーバ403の基本負荷情報と、システム定義情報804内のサーバ情報1001を参照することで得られる。 Here, in the present embodiment, the compatibility between the physical server 202 and the virtual server 403 means that the portion that is most loaded by the processing of the virtual server 403 (for example, CPU, memory, IO, NW, etc.) and the physical server 202 are good at it. It is defined that the compatibility is good when the virtual server 403 has the same processing. The compatibility between the physical server 202 and the virtual server 403 is obtained by referring to the basic load information of the virtual server 403 per unit traffic and the server information 1001 in the system definition information 804 described above.
例えば、図20Cでは、Node0の負荷が一番大きい項目はトラフィック負荷である。ここでサーバ情報1001のトラフィック性能10016を参照するとトラフィック負荷に強いサーバは物理サーバBであることが分かる。そのため、図20Cに示された負荷状況では、Node0は物理サーバBに配置された場合、相性が良いと判断される。 For example, in FIG. 20C, the item with the largest load on Node 0 is the traffic load. Here, referring to the traffic performance 10016 of the server information 1001, it can be understood that the server strong against the traffic load is the physical server B. Therefore, in the load situation shown in FIG. 20C, when Node 0 is arranged in the physical server B, it is determined that the compatibility is good.
次に、上記(1)式の「congestion_virtual_machine」は負荷の高い仮想サーバ403の台数を表わし、「free_virtual_machine」は負荷の低い仮想サーバ403の台数を表わす。仮想サーバの負荷の高さは、単位トラフィックあたりの基本負荷と、算出した構成の仮想サーバの配置と、処理トラフィック量900の概算およびサーバ情報1001から求めることが出来る。 Next, “conquestion_virtual_machine” in the above formula (1) represents the number of virtual servers 403 having a high load, and “free_virtual_machine” represents the number of virtual servers 403 having a low load. The high load of the virtual server can be obtained from the basic load per unit traffic, the arrangement of the virtual server having the calculated configuration, the rough estimate of the processing traffic amount 900, and the server information 1001.
図22は仮想サーバ403の負荷の高さを求める手順を示している。まず、構成算出部505は、基準のサーバ(各性能(比)を1.0とする)で起動した際の単位トラフィックあたりの基本負荷910(図22では1000トラフィック単位)を演算し、算出する構成情報920を用いた場合の仮想サーバ403が処理するトラフィック量923に換算した場合の負荷を求める。なお、算出する構成情報920は、クライアント101等から予め設定された情報である。算出する構成情報920は、仮想サーバ403の名称を格納する仮想サーバ921と、当該仮想サーバを提供する物理サーバの識別子を格納する配置サーバ番号922と、処理トラフィック量923からひとつのエントリが構成される。 FIG. 22 shows a procedure for obtaining the load level of the virtual server 403. First, the configuration calculation unit 505 calculates and calculates a basic load 910 (1000 traffic units in FIG. 22) per unit traffic when starting up with a reference server (each performance (ratio) is 1.0). When the configuration information 920 is used, the load when converted into the traffic amount 923 processed by the virtual server 403 is obtained. The calculated configuration information 920 is information set in advance from the client 101 or the like. The calculated configuration information 920 includes one entry including a virtual server 921 that stores the name of the virtual server 403, a placement server number 922 that stores an identifier of a physical server that provides the virtual server, and a processing traffic amount 923. The
図22ではNode0のCPU負荷を例に挙げる。まず、構成算出部505は、図20Cの単位トラフィック当たりの基本負荷から、Node0のCPU負荷を参照して「12%」を取得する。次に、構成算出部505は、図22の算出する構成に関する情報920を参照してNode0で処理するトラフィック量=10000を取得する。構成算出部505は、Node0が1000トラフィックあたり12%のCPU負荷を持つため、10000トラフィックを処理する場合には120%のCPU負荷となることを算出する。 In FIG. 22, the CPU load of Node 0 is taken as an example. First, the configuration calculation unit 505 obtains “12%” by referring to the CPU load of Node 0 from the basic load per unit traffic in FIG. 20C. Next, the configuration calculation unit 505 refers to the information 920 regarding the configuration to be calculated in FIG. 22 and acquires traffic amount = 10000 to be processed by Node0. Since the node 0 has a CPU load of 12% per 1000 traffic, the configuration calculation unit 505 calculates that the CPU load is 120% when processing 10,000 traffic.
次に、構成算出部505は図22の算出する構成に関する情報920からNode0を実行する物理サーバ202の識別子を示す配置サーバ番号から「1」を取得する。構成算出部505は配置サーバ番号=「1」に対応する物理サーバ=「A」のCPU性能10013を参照してCPU性能=「2.0」を取得する。 Next, the configuration calculation unit 505 acquires “1” from the placement server number indicating the identifier of the physical server 202 that executes Node 0 from the information 920 regarding the configuration to be calculated in FIG. The configuration calculation unit 505 refers to the CPU performance 10013 of the physical server = “A” corresponding to the placement server number = “1” and acquires the CPU performance = “2.0”.
構成算出部505は、CPU性能1.0の場合では10000トラフィックを処理するための計算上のCPU負荷が120%となるNode0の想定負荷は、CPU性能が2.0の物理サーバAにNode0を配置した場合ではCPU負荷の想定値が60%になることを演算する。そして、演算結果を図22中段の仮想サーバ想定負荷に格納する。構成算出部505は、物理サーバ202の想定負荷を、物理サーバ202内に配置された仮想サーバ403の想定負荷の平均値から演算することができる。構成算出部505は、CPU負荷と同様に、メモリ負荷、I/O負荷、トラフィック負荷を演算し、図22の仮想サーバ想定負荷930と物理サーバ想定負荷940を生成する。 In the case of the CPU performance 1.0, the configuration calculation unit 505 sets the node 0 to the physical server A having a CPU performance of 2.0 for the assumed load of the Node 0 in which the computational CPU load for processing 10,000 traffic is 120%. In the case of arrangement, the CPU load is calculated to be 60%. Then, the calculation result is stored in the assumed virtual server load in the middle of FIG. The configuration calculation unit 505 can calculate the assumed load of the physical server 202 from the average value of the assumed loads of the virtual server 403 arranged in the physical server 202. Similar to the CPU load, the configuration calculation unit 505 calculates a memory load, an I / O load, and a traffic load, and generates a virtual server assumed load 930 and a physical server assumed load 940 in FIG.
なお、仮想サーバ想定負荷930は、仮想サーバ403の名称を格納する仮想サーバ名931と、当該仮想サーバに割り当てたプロセッサ220の使用率の想定値を格納するCPU負荷932と、当該仮想サーバに割り当てたメモリ314の使用率の想定値を格納するメモリ負荷933と、当該仮想サーバがアクセスするストレージ装置(図示省略)の帯域使用率の想定値を格納するI/O負荷934と、当該仮想サーバがアクセスするネットワーク負荷の想定値を格納するトラフィック負荷935からひとつのエントリが構成される。 The virtual server assumed load 930 is assigned to the virtual server name 931 that stores the name of the virtual server 403, the CPU load 932 that stores the expected value of the usage rate of the processor 220 assigned to the virtual server, and the virtual server. A memory load 933 for storing an estimated value of the usage rate of the memory 314, an I / O load 934 for storing an estimated value of a bandwidth usage rate of a storage device (not shown) accessed by the virtual server, and the virtual server One entry is composed of a traffic load 935 that stores an assumed value of the network load to be accessed.
また、物理サーバ想定負荷940は、物理サーバ202の名称を格納する物理サーバ名941と、当該物理サーバのプロセッサ220の使用率の想定値を格納するCPU負荷942と、当該物理サーバのメモリ314の使用率の想定値を格納するメモリ負荷943と、当該物理サーバがアクセスするストレージ装置(図示省略)の帯域使用率の想定値を格納するI/O負荷944と、当該物理サーバがアクセスするネットワークI/F401の使用率の想定値を格納するトラフィック負荷945からひとつのエントリが構成される。 The assumed physical server load 940 includes a physical server name 941 for storing the name of the physical server 202, a CPU load 942 for storing an estimated value of the usage rate of the processor 220 of the physical server, and the memory 314 of the physical server. A memory load 943 for storing an assumed value of usage rate, an I / O load 944 for storing an assumed value of bandwidth usage rate of a storage device (not shown) accessed by the physical server, and a network I accessed by the physical server One entry is configured from the traffic load 945 that stores the expected value of the usage rate of / F401.
そして、構成算出部505は、仮想サーバ想定負荷930と物理サーバ想定負荷940が予め設定された既定値(例えば、90%)を超えていた場合には、該当の仮想サーバ及び物理サーバの負荷の判定結果950をCongestionに設定し、予め設定された規定値を大きく下回っていた場合(例えば、20%)にはfreeと判定し、それ以外の場合にはNormalと判定して、congestion_virtual_machine、free_virtual_machineの数を算出する。なお、図22において負荷の判定結果950は、仮想サーバ403と物理サーバ202のそれぞれについて判定結果を格納する。 When the virtual server assumed load 930 and the physical server assumed load 940 exceed preset default values (for example, 90%), the configuration calculation unit 505 determines the load of the corresponding virtual server and physical server. When the determination result 950 is set to Congestion, it is determined to be free if it is significantly lower than a preset specified value (for example, 20%), otherwise it is determined to be Normal, and the conditions_virtual_machine and free_virtual_machine Calculate the number. In FIG. 22, the load determination result 950 stores the determination result for each of the virtual server 403 and the physical server 202.
さらに、上記(1)式のall_virtual_machineは総仮想サーバ台数を表わし、man_hourは変更工数を表わす。変更工数は遺伝子同士を比較することで算出できる。 Furthermore, all_virtual_machine in the above equation (1) represents the total number of virtual servers, and man_hour represents the man-hour for change. The change man-hour can be calculated by comparing genes.
図23は構成算出部505が変更工数man_hourを求める手順を示す。図23では、Node1がVirtual SW0に接続している場合の遺伝子「101002233」と、Node1がVirtual SW1に接続している場合の遺伝子「100102233」を比較しており、Node1を示す情報である遺伝子の2番目と3番目の部分が異なっているため、変更工数を1とする。 FIG. 23 shows a procedure by which the configuration calculation unit 505 calculates the change man-hour. In FIG. 23, the gene “10100233” when Node1 is connected to Virtual SW0 and the gene “100102233” when Node1 is connected to Virtual SW1 are compared, and the gene that is information indicating Node1 is compared. Since the second and third parts are different, the change man-hour is set to 1.
また、上記(1)式では、重みづけ変数として、Aを仮想サーバの負荷に関するマイナス係数、Bを工数に対するマイナス係数、aを負荷の大きな仮想サーバに対するマイナス係数、bを負荷の少ない仮想サーバに対するマイナス係数、さらに、positionを配置問題係数、logicalを論理構成係数とし、これらの係数はすべて0から1の間の値となるように「101002233」設定する。 In the above equation (1), as a weighting variable, A is a negative coefficient related to the load on the virtual server, B is a negative coefficient for the man-hour, a is a negative coefficient for a virtual server with a large load, and b is a virtual server with a small load. A negative coefficient, a position is a placement problem coefficient, a logical is a logical configuration coefficient, and “101002233” is set so that these coefficients are all between 0 and 1.
ここで、重みづけ係数A、B、a、bは収集された要求情報803および要求/制約反映テーブル1002に基づき決定される。例えば、工数を出来る限り少なくしたい、といった要求があった場合には、要求/制約反映テーブル1002の記述により、構成に対するマイナス係数であるBは大きく設定される。変更工数が多くなる構成ほど、(1)式の関数の出力値が低くなり、解として算出されない。これにより、ユーザの要求を満たす構成を算出することが可能となる。 Here, the weighting coefficients A, B, a, and b are determined based on the collected request information 803 and the request / constraint reflection table 1002. For example, when there is a request to reduce the man-hour as much as possible, B, which is a negative coefficient for the configuration, is set to be large according to the description in the request / constraint reflection table 1002. As the number of man-hours for change increases, the output value of the function of equation (1) becomes lower and is not calculated as a solution. This makes it possible to calculate a configuration that satisfies the user's request.
また、要求情報803を満たすことができない個体(遺伝子)が算出された場合、該当遺伝子の適応度は報酬関数(1)を用いず、例えば適応度を−1するなどの対策を用いることで、要求を満たす個体算出が行いやすくなる。 In addition, when an individual (gene) that cannot satisfy the request information 803 is calculated, the fitness of the corresponding gene does not use the reward function (1), for example, by using a measure such as −1 of the fitness, Individual calculation that satisfies the requirements is easier to perform.
ここで、適応度の閾値は、図18に示したように入力の一部である緊急度aの値から計算される。例えば、図18のように適応度の閾値の計算を行う場合、緊急度aは0≦a≦1であるので、高ければ高いほど、つまり構成算出時間を短くしたい場合には適応度の閾値の値が下がり、構成算出部505が算出した構成に対して、要求がある程度満たされていればそれを解として出力することとなる。このため、構成算出部505は、計算時間を短縮することが可能となり、結果的に迅速に構成の算出結果を得ることが可能となる。 Here, the threshold value of fitness is calculated from the value of urgency a which is a part of the input as shown in FIG. For example, when calculating the fitness threshold as shown in FIG. 18, the urgency a is 0 ≦ a ≦ 1, so that the higher the threshold, that is, the shorter the configuration calculation time, If the value decreases and the configuration calculated by the configuration calculation unit 505 satisfies the request to some extent, it is output as a solution. For this reason, the configuration calculation unit 505 can shorten the calculation time, and as a result, can quickly obtain the configuration calculation result.
一方、緊急度aが低ければ、適応度の閾値の値が上がるため、構成算出部505が算出した構成に対する要求が厳しいものとなり、構成の算出に要する時間が長くなるが、適応度の閾値が高い要求を満たす構成が解として算出される。適応度の算出には図18のような変換式を用いなくても良いが、緊急度が高ければ構成算出時間を短くできるようにする必要がある。 On the other hand, if the degree of urgency a is low, the threshold value of the fitness level increases, so the demand for the configuration calculated by the configuration calculation unit 505 becomes severe, and the time required to calculate the configuration becomes long. A configuration that satisfies the high demand is calculated as a solution. Although the conversion formula as shown in FIG. 18 does not have to be used for the calculation of the fitness, it is necessary to shorten the configuration calculation time if the urgency is high.
<クラスタの調整>
図12のステップS18,S23で行われるクラスタの調整は、具体的には、図24に示されているようなフローチャートを構成算出部505が実行する。
<Cluster adjustment>
Specifically, the cluster adjustment performed in steps S18 and S23 of FIG. 12 is executed by the configuration calculation unit 505 in a flowchart as shown in FIG.
図24では、構成算出部505は、まず、ステップS51で、図12のステップS13、S15と同様に致死フィルタ1003を用いて制約条件を満たさない構成を修正する。そして、図12のステップS16と同様にクラスタ毎の適応度が閾値を超えている構成があるか否かを判定する(S52)。適応度が閾値を超えている構成があればクラスタの調整を終了する。一方、適応度が閾値を超えている構成がなければ、ステップS53に進む。 In FIG. 24, the configuration calculation unit 505 first corrects a configuration that does not satisfy the constraint conditions in step S51 using the lethal filter 1003 as in steps S13 and S15 of FIG. 12. Then, similarly to step S16 in FIG. 12, it is determined whether there is a configuration in which the fitness for each cluster exceeds the threshold (S52). If there is a configuration whose fitness level exceeds the threshold value, the cluster adjustment is terminated. On the other hand, if there is no configuration whose fitness exceeds the threshold value, the process proceeds to step S53.
ステップS53で、構成算出部505はクラスタ毎に適応度の平均値を求め、その平均値が適応度の閾値を超えていないクラスタの中で、適応度の平均値が最も低いクラスタを特定する。適応度の平均値が閾値以下のクラスタが存在すればステップS555へ進み、そうでない場合にはステップS54へ進む。 In step S53, the configuration calculation unit 505 obtains an average value of fitness for each cluster, and identifies a cluster having the lowest average value of fitness among clusters whose average value does not exceed the threshold value of fitness. If there is a cluster whose average fitness value is less than or equal to the threshold, the process proceeds to step S555, and if not, the process proceeds to step S54.
ステップS55では、適応度の平均値が最も低いクラスタは、サーバ種別ごとの台数がユーザの要求を満たさない可能性が最も高いクラスタであるため、構成算出部505は、当該クラスタ内の全遺伝子に対して混み合っている仮想サーバの総数が一定数を超えているものの割合を、Node、Virtual SW、Virtual Routerについてそれぞれ求める(図24ステップS5)。 In step S55, the cluster with the lowest average fitness value is the cluster with the highest possibility that the number of servers for each server type will not satisfy the user's request. Therefore, the configuration calculation unit 505 adds all the genes in the cluster. On the other hand, the ratio of the total number of virtual servers crowded over a certain number is obtained for Node, Virtual SW, and Virtual Router (step S5 in FIG. 24).
これは、図22で示した構成の評価時にcongestion_virtual_machineを求めた時と同様の手順(図22)を行うことで演算することが出来る。 This can be calculated by performing the same procedure (FIG. 22) as when congestion_virtual_machine was obtained during the evaluation of the configuration shown in FIG. 22.
ここで、混み合っている仮想サーバの総数の値が一定値を超える遺伝子の割合が多い場合は、構成算出部505は物理サーバ202の台数が不足していると判定する。 Here, if the percentage of genes whose total number of crowded virtual servers exceeds a certain value is large, the configuration calculation unit 505 determines that the number of physical servers 202 is insufficient.
不足していたサーバ種別を1つ増やしたときには、新しいクラスタを作成する(S56)。適応度の平均値が最低となったクラスタは新しいクラスタに自身の遺伝子数の半分を与え、自身の遺伝子数を半減させる。ここで、構成算出部505は半減させる遺伝子は適応度の低いものから順に選択する。また、半減した自身の遺伝子数が規定未満となる場合には、新しいクラスタに全ての遺伝子数を与え、元となったクラスタは消滅する。 When the server type that has been insufficient is increased by one, a new cluster is created (S56). The cluster with the lowest fitness value gives the new cluster half its number of genes and halves its number of genes. Here, the configuration calculation unit 505 selects genes to be halved in descending order of fitness. If the number of genes halved is less than the specified number, all genes are given to the new cluster, and the original cluster disappears.
クラスタ内の遺伝子数下限は自由に設定して良いものとするが、交叉を行う関係上、最低2つ以上の遺伝子を有する必要がある。また、適応度平均が最低となったクラスタが作った新しいクラスタのサーバ種別ごとの台数が同一となるものが存在した場合、該当クラスタの遺伝子数に自身の遺伝子数の半分、もしくは全てを追加する。新しく生成されたクラスタ、もしくは遺伝子数が追加されたクラスタは、追加された遺伝子分、新しい遺伝子を生成する。また、操作が行われなかったクラスタは、通常通りの選択作業を行う(S57)。 The lower limit of the number of genes in the cluster may be set freely, but it is necessary to have at least two genes for crossover. In addition, if there is a new cluster created by the cluster with the lowest fitness average that has the same number for each server type, add half or all of the number of genes to the number of genes in the cluster. . A newly generated cluster or a cluster to which the number of genes is added generates a new gene for the added gene. In addition, a cluster for which no operation has been performed is performed as usual (S57).
また、ステップS53の平均適応度の判定時に、全てのクラスタが規定の適応度を満たしていた場合には、クラスタ操作は行わず、ステップS54に進んで通常通りの選択操作を行う。 If all the clusters satisfy the prescribed fitness at the time of determining the average fitness in step S53, the cluster operation is not performed, and the process proceeds to step S54 to perform the normal selection operation.
そして、ステップS58で交叉を実行してから、ステップS59で突然変異を実行し、ステップS51の処理へ戻り、ステップS52で適応度が閾値を超えるまで繰り返される。この操作によって、ユーザの要求を満たす最良のサーバ種別ごとの台数が探索可能となる。クラスタ操作の具体的な様子は、後述の図25、図26によって示される。 Then, after performing crossover in step S58, mutation is executed in step S59, the process returns to step S51, and the process is repeated until the fitness exceeds the threshold value in step S52. This operation makes it possible to search for the best number of servers for each server type that satisfies the user's request. A specific state of the cluster operation is shown in FIGS. 25 and 26 described later.
図25は新しくクラスタを作成する場合のクラスタ操作の様子を表わす。クラスタAはNodeが4台、SWが2台、Routerが1台で構成された遺伝子を100個保有している。ここで、クラスタAの平均適応度が低く、さらにNodeが混雑していることを示す遺伝子が多い場合、つまりNodeの数が不足していると思われる場合、Nodeが5台、SWが2台、Routerが1台で構成された遺伝子を保有するクラスタBを作成し、クラスタAの遺伝子数の半分となる50個の遺伝子を新しく作成し、保持する。そしてクラスタAの遺伝子のうち半分の50個を適応度の低いものから削除する。 FIG. 25 shows the cluster operation when a new cluster is created. Cluster A has 100 genes composed of 4 Nodes, 2 SWs, and 1 Router. Here, when the average fitness of cluster A is low and there are many genes indicating that the node is congested, that is, when the number of nodes seems to be insufficient, five nodes and two switches , A cluster B having a gene composed of a single router is created, and 50 genes that are half the number of genes in cluster A are newly created and held. Then, 50 of the genes in cluster A, 50, are deleted from those with low fitness.
図26は既存クラスタに遺伝子数を増やす場合のクラスタ操作の様子を表わす。クラスタAはNodeが4台、SWが2台、Routerが1台で構成された遺伝子を100個保有している。そしてクラスタBはNodeが5台、SWが2台、Routerが1台で構成された遺伝子を50個保有している。ここで、クラスタAの平均適応度が低く、さらにNodeが混雑していることを示す遺伝子が多い場合、つまりNodeの数が不足していると思われる場合、Nodeが5台、SWが2台、Routerが1台で構成された遺伝子を保有しているクラスタBにクラスタAの遺伝子数の半分となる50個の遺伝子を追加する。遺伝子を追加され遺伝子数を100に伸ばしたクラスタBは追加された50個分の遺伝子を新たに作成し、保持する。そしてクラスタAの遺伝子のうち半分の50個を適応度の低いものから削除する。 FIG. 26 shows a cluster operation when the number of genes is increased to an existing cluster. Cluster A has 100 genes composed of 4 Nodes, 2 SWs, and 1 Router. Cluster B has 50 genes composed of 5 Nodes, 2 SWs, and 1 Router. Here, when the average fitness of cluster A is low and there are many genes indicating that the node is congested, that is, when the number of nodes seems to be insufficient, five nodes and two switches , 50 genes that are half the number of genes in cluster A are added to cluster B, which has a gene that is composed of one Router. Cluster B, to which the number of genes has been added and the number of genes has been increased to 100, newly creates 50 genes and holds them. Then, 50 of the genes in cluster A, 50, are deleted from those with low fitness.
<物理構成の適応度>
図12のステップS21で行われる物理構成の適応度の算出は、例えば、次式によって行われる。
<Adaptability of physical configuration>
The calculation of the fitness of the physical configuration performed in step S21 in FIG. 12 is performed by the following equation, for example.
全ての物理構成に対して、適応度が一定以上の論理構成が算出された場合、各物理構成の適応度の算出が行われる(図12のステップS21)。適応度の算出方法は、例えば、 When a logical configuration having a certain fitness level or more is calculated for all physical configurations, the fitness level of each physical configuration is calculated (step S21 in FIG. 12). The fitness calculation method is, for example,
によって表わすことができる。 Can be represented by
ここで、good_chemistry_virtual_machine、bad_chemistry_virtual_machine、congestion_virtual_machine、free_virtual_machine、all_virtual_machine、man_hourは全て前述の(1)式と同様の手順で求める。また、congestion_machineは負荷の高い物理サーバ台数を表わし、free_machineは負荷の低い物理サーバ台数を表わし、これらの変数も前述の手順と同様に求めることが出来る(図22参照)。さらに、上記(2)式のall_physical_machineは総物理サーバ数を表わし、machine_num_iは物理サーバ種別ごとの台数(i番目)を表わし、machine_cost_iは物理サーバ種別ごとのコスト(i番目)を表わす。 Here, good_chemical_virtual_machine, bad_chemistry_virtual_machine, congestion_virtual_machine, and free_virtual_machine, all_virtual In addition, congestion_machine represents the number of physical servers having a high load, and free_machine represents the number of physical servers having a low load, and these variables can be obtained in the same manner as described above (see FIG. 22). Further, all_physical_machine in the above equation (2) represents the total number of physical servers, machine_num_i represents the number (i-th) for each physical server type, and machine_cost_i represents the cost (i-th) for each physical server type.
図27は、物理サーバの種別ごとのコストを求める手順を表わしている。物理サーバ202の種別ごとのコストは、遺伝子内の情報とシステム定義情報804内のサーバ情報1001を照らし合わせることで得られる。 FIG. 27 shows a procedure for obtaining the cost for each type of physical server. The cost for each type of the physical server 202 is obtained by comparing the information in the gene with the server information 1001 in the system definition information 804.
図27に示した例では、遺伝子表現を参照するとMachine0とMachine1が遺伝子「10」で表現されているためサーバ種別A、Machine2が遺伝子「02」で表現されているためサーバ種別Bであることがわかるので、Machine0とMachine1のマシンコストは1.5、Machine2のマシンコストは1.0であることがわかる。 In the example shown in FIG. 27, when referring to the gene expression, Machine type 0 and Machine 1 are expressed by the gene “10”, so that the server type A and Machine 2 are expressed by the gene “02”, so that the server type B As can be seen, the machine cost of Machine 0 and Machine 1 is 1.5, and the machine cost of Machine 2 is 1.0.
また、重みづけ係数として、Aを仮想サーバの負荷に関するマイナス係数、Bを工数に対するマイナス係数、Cを物理サーバの負荷に関するマイナス係数、Dを物理サーバのコストに関するマイナス係数、aを負荷の大きな仮想サーバに対するマイナス係数、bを負荷の少ない仮想サーバに対するマイナス係数、cを負荷の大きなサーバに対するマイナス係数、dを負荷の少ないサーバに対するマイナス係数、さらに、positionを配置問題係数、logicalを論理構成係数、physicalを物理構成係数とし、これらの係数はすべて0から1の間の値となるように設定する。ここで、前述の関数と同じく、重みづけ係数は収集された要求情報803および要求/制約反映テーブル1002に基づき決定される。例えば、物理サーバのコストを出来る限り少なくしたい、といった要求があった場合には、要求/制約反映テーブル1002の記述により、物理サーバ202のコストに関するマイナス係数であるDは大きく設定される。この設定により、物理サーバのコストが多くなる構成ほど、上記(1)式または(2)式の出力値が低くなり、解として算出されない。これにより、ユーザの要求を満たす構成を算出することが可能となる。 Further, as a weighting coefficient, A is a negative coefficient related to the load on the virtual server, B is a negative coefficient relative to the man-hour, C is a negative coefficient related to the physical server load, D is a negative coefficient related to the physical server cost, and a is a virtual with a large load A negative coefficient for the server, b is a negative coefficient for a virtual server with a low load, c is a negative coefficient for a server with a large load, d is a negative coefficient for a server with a low load, further, position is a placement problem coefficient, logical is a logical configuration coefficient, “physical” is a physical configuration coefficient, and these coefficients are all set to values between 0 and 1. Here, as with the above-described function, the weighting coefficient is determined based on the collected request information 803 and the request / constraint reflection table 1002. For example, when there is a request to reduce the cost of the physical server as much as possible, the negative coefficient D relating to the cost of the physical server 202 is set to be large by the description of the request / constraint reflection table 1002. With this setting, the higher the cost of the physical server, the lower the output value of the above formula (1) or (2), and it is not calculated as a solution. This makes it possible to calculate a configuration that satisfies the user's request.
また、前述と同様、解として許されない条件を満たす個体が存在した場合、報酬関数に関係なく報酬値をマイナスするように設定することで、要求を満たす個体算出が行いやすくなる。 Further, as described above, when there is an individual that satisfies a condition that is not permitted as a solution, the individual value that satisfies the request can be easily calculated by setting the reward value to be minus regardless of the reward function.
図13は、本発明の変形例を示す。図13は物理構成を考慮しない場合の計算サーバ102で行われる構成算出処理のフローチャートを示す。本フローチャートは図12と異なり論理構成及びサーバ配置の算出部分のみで構成され、図12の物理構成の処理を削除したものである。このため、ステップS16の判定を満たす論理構成を出力する。この処理は、図18の要求/制約反映テーブル1002のフローチャートBに相当し、図12の処理は要求/制約反映テーブル1002のフローチャートAに相当する。 FIG. 13 shows a modification of the present invention. FIG. 13 is a flowchart of the configuration calculation process performed by the calculation server 102 when the physical configuration is not considered. This flowchart is different from that shown in FIG. 12 and includes only the calculation part of the logical configuration and server arrangement, and the processing of the physical configuration in FIG. 12 is deleted. Therefore, a logical configuration that satisfies the determination in step S16 is output. This process corresponds to the flowchart B of the request / constraint reflection table 1002 in FIG. 18, and the process in FIG. 12 corresponds to the flowchart A of the request / constraint reflection table 1002.
図28は、物理構成の変更を含んだ構成変更時のシーケンス図を示す。本シーケンス図は、図11のシーケンス図のS8から続くものである。 FIG. 28 shows a sequence diagram at the time of configuration change including change of the physical configuration. This sequence diagram is continued from S8 of the sequence diagram of FIG.
まず、計算サーバ102内の構成算出部505によって算出された構成(S61)を構成提示部506が受信する(S62)。構成提示部506はネットワークI/F501およびネットワーク104を介して、クライアント101へと構成変更内容を送信する。そして、クライアント101内のネットワークI/F601が送信された構成変更内容を受信し、構成取得部602は受信した構成変更内容を構成情報901としてメモリ607へ格納し、構成表示部603へ構成変更内容の格納完了を通知する(S63)。構成変更内容の格納完了通知を受け取った構成表示部603は、I/O606を介して、メモリ607内の構成情報901を出力装置612に出力し、管理者(ユーザ)に物理構成の変更を提示する(S64)。管理者は物理構成の提示に従って、物理サーバ202等の構成を変更する。 First, the configuration presentation unit 506 receives the configuration (S61) calculated by the configuration calculation unit 505 in the calculation server 102 (S62). The configuration presentation unit 506 transmits the configuration change content to the client 101 via the network I / F 501 and the network 104. Then, the configuration change content transmitted by the network I / F 601 in the client 101 is received, and the configuration acquisition unit 602 stores the received configuration change content in the memory 607 as configuration information 901, and the configuration change content in the configuration display unit 603. (S63). The configuration display unit 603 that has received the storage completion notification of the configuration change content outputs the configuration information 901 in the memory 607 to the output device 612 via the I / O 606 and presents the change of the physical configuration to the administrator (user). (S64). The administrator changes the configuration of the physical server 202 or the like according to the presentation of the physical configuration.
図29は、物理構成の変更を含まない構成変更時のシーケンス図を示す。まず、計算サーバ102内の構成算出部505によって算出された構成(S71)を構成変更指示部507が受信する(S72)。構成変更指示部507はネットワークI/F501およびネットワーク104を介して、データセンタ103内のコントローラ201へ構成算出結果と共に構成変更要求を送信する。構成変更要求がネットワークI/F303に受信されると、構成変更指示部302はネットワークI/F301を介して構成変更が必要な物理サーバ202のハイパーバイザ402へ、要求に沿った構成変更命令を出す(S73)。そして変更が反映されるだけの十分な時間が経った後、構成変更指示部302はネットワークI/F301を介して構成変更を行った物理サーバ202のハイパーバイザ402へ、構成変更ができているのか確認を行う(S75、S76)。要求通りに構成変更(S74)が行われていた場合、構成変更指示部302はネットワークI/F301およびルータ203を介し、ネットワーク104を通じて、計算サーバ102へ構成変更完了を通知する(S77)。構成変更完了の通知が計算サーバ102内ネットワークI/F501に受信されると、構成提示部506がネットワークI/F501およびネットワーク104を介して、クライアント101へと構成変更内容を送信する(S78)。そして、クライアント101内のネットワークI/F601が送信された構成変更内容を受信し(S79)、構成取得部602は受信した構成変更内容を構成情報901としてメモリ607へ格納し、構成表示部603へ構成変更内容の格納完了を通知する。構成変更内容の格納完了通知を受け取った構成表示部603は、I/O606を介して、メモリ607内の構成情報901をユーザに提示する(S80)。 FIG. 29 is a sequence diagram at the time of configuration change that does not include a change in physical configuration. First, the configuration change instruction unit 507 receives the configuration (S71) calculated by the configuration calculation unit 505 in the calculation server 102 (S72). The configuration change instruction unit 507 transmits a configuration change request together with the configuration calculation result to the controller 201 in the data center 103 via the network I / F 501 and the network 104. When the configuration change request is received by the network I / F 303, the configuration change instruction unit 302 issues a configuration change command according to the request to the hypervisor 402 of the physical server 202 that requires the configuration change via the network I / F 301. (S73). After a sufficient time for the change to be reflected, has the configuration change instruction unit 302 been able to change the configuration to the hypervisor 402 of the physical server 202 that has changed the configuration via the network I / F 301? Confirmation is performed (S75, S76). When the configuration change has been performed as requested (S74), the configuration change instruction unit 302 notifies the calculation server 102 of the completion of the configuration change via the network 104 via the network I / F 301 and the router 203 (S77). When the notification of completion of the configuration change is received by the network I / F 501 in the calculation server 102, the configuration presentation unit 506 transmits the configuration change content to the client 101 via the network I / F 501 and the network 104 (S78). The configuration change content transmitted from the network I / F 601 in the client 101 is received (S 79), and the configuration acquisition unit 602 stores the received configuration change content in the memory 607 as configuration information 901, and the configuration display unit 603. Notify completion of storage of configuration changes. The configuration display unit 603 that has received the storage completion notification of the configuration change content presents the configuration information 901 in the memory 607 to the user via the I / O 606 (S80).
以上の処理によって、物理構成の変更が無い場合には、ハイパーバイザ402によって仮想サーバ403の構成が変更される。 If the physical configuration is not changed by the above processing, the configuration of the virtual server 403 is changed by the hypervisor 402.
以上のように本発明では、物理サーバ202同士の接続関係と、仮想計算機システム内の仮想サーバ403の接続関係と、仮想サーバ403と物理サーバ202の配置関係とを考慮することにより、従来技術では実現できなかった自由度の高い構成を迅速に算出することが可能となる。また、クライアント101のユーザはニーズ(要求情報)を入力するだけで、仮想計算機システム全体の構成を算出することができることから、ユーザが多大な労力を割いて構成を考える必要がなくなり、結果として管理コストを低減することが可能となる。 As described above, according to the present invention, by considering the connection relationship between the physical servers 202, the connection relationship between the virtual servers 403 in the virtual machine system, and the arrangement relationship between the virtual server 403 and the physical server 202, It becomes possible to quickly calculate a configuration with a high degree of freedom that could not be realized. Further, since the user of the client 101 can calculate the configuration of the entire virtual machine system simply by inputting needs (request information), it is not necessary for the user to consider the configuration with a great deal of effort, and management is performed as a result. Costs can be reduced.
なお、上記実施形態では、データセンタ103を構成する仮想計算機システムの構成要素の構成パターンを求める例を示したが、仮想サーバの配置のみや、物理サーバ202とスイッチの接続関係の構成パターンのみを算出するようにしてもよい。 In the above embodiment, an example of obtaining the configuration pattern of the components of the virtual computer system that configures the data center 103 has been shown. However, only the arrangement pattern of the virtual server or only the connection pattern of the physical server 202 and the switch is used. You may make it calculate.
101 クライアント
102 計算サーバ
103 データセンタ
104 ネットワーク
201 コントローラ
202 物理サーバ
203 ルータ
204 スイッチ
301 ネットワークI/F
302 構成変更指示部
303 構成/負荷情報取得部
304 メモリ
401 ネットワークI/F
402 ハイパーバイザ
403 仮想サーバ
501 ネットワークI/F
502 要求取得部
503 構成/負荷情報取得部
504 メモリ
505 構成算出部
506 構成提示部
507 構成変更指示部
601 ネットワークI/F
602 構成取得部
603 構成表示部
604 要求取得部
605 要求送信部
606 I/O
607 メモリ
701 構成情報
702 負荷情報
801 構成情報
802 負荷情報
803 要求情報
804 システム定義情報
901 構成情報
902 要求情報
1001 サーバ情報
1002 要求/制約反映テーブル
1003 致死フィルタ
101 Client 102 Computing Server 103 Data Center 104 Network 201 Controller 202 Physical Server 203 Router 204 Switch 301 Network I / F
302 Configuration change instruction unit 303 Configuration / load information acquisition unit 304 Memory 401 Network I / F
402 Hypervisor 403 Virtual server 501 Network I / F
502 Request acquisition unit 503 Configuration / load information acquisition unit 504 Memory 505 Configuration calculation unit 506 Configuration presentation unit 507 Configuration change instruction unit 601 Network I / F
602 Configuration acquisition unit 603 Configuration display unit 604 Request acquisition unit 605 Request transmission unit 606 I / O
607 Memory 701 Configuration information 702 Load information 801 Configuration information 802 Load information 803 Request information 804 System definition information 901 Configuration information 902 Request information 1001 Server information 1002 Request / constraint reflection table 1003 Lethal filter
Claims (20)
前記管理計算機が、前記計算機システムを構成する要素の情報を含む構成情報を取得する第1のステップと、
前記管理計算機が、前記計算機システムを構成する要素の負荷を含む負荷情報を取得する第2のステップと、
前記管理計算機が、前記計算機システムの構成パターンに対する制約条件を取得する第3のステップと、
前記管理計算機が、前記計算機システムの構成情報に基づいて複数の構成パターンを生成する第4のステップと、
前記管理計算機が、前記生成した複数の構成パターンのうち、前記制約条件を満たしていない構成パターンを修正する第5のステップと、
前記管理計算機が、前記構成情報と負荷情報を参照して、前記制約条件を満たす構成パターンと前記修正された構成パターンのそれぞれについて所定の適応度を演算する第6のステップと、
前記管理計算機が、前記適応度が所定の閾値を超える構成パターンが存在する場合には、当該構成パターンを出力する第7のステップと、
前記管理計算機が、前記適応度が所定の閾値を超える構成パターンが存在しない場合には、前記適応度が所定の閾値を下回る構成パターンを削除する工程と、ある構成パターンと別のある構成パターンの一部を入れ換える工程と、ある構成パターンの一部を変更する工程とを適用する第8のステップと、
を含み、前記第8のステップの後に前記第5のステップへ復帰し、
前記第1のステップは、
前記計算機システムの物理的な構成要素と、論理的な構成要素の情報とを含む構成情報を取得し、
前記第2のステップは、
前記計算機システムの物理的な構成要素の負荷と、論理的な構成要素の負荷と、を含む負荷情報を取得し、
前記第4のステップは、
前記計算機システムの物理的な構成要素の構成パターンと、論理的な構成要素の構成パターンとをそれぞれ生成し、
前記第5のステップは、
前記生成した複数の物理的な構成パターンのうち、前記制約条件を満たしていない物理的な構成パターンを修正し、前記生成した複数の論理的な構成パターンのうち、前記制約条件を満たしていない論理的な構成パターンを修正し、
前記第6のステップは、
前記物理的な構成情報と物理的な負荷情報を参照して、前記制約条件を満たす物理的な構成パターンと前記修正された物理的な構成パターンのそれぞれについて所定の適応度を演算し、前記論理的な構成情報と論理的な負荷情報を参照して、前記制約条件を満たす論理的な構成パターンと前記修正された論理的な構成パターンのそれぞれについて所定の適応度を演算し、
前記第7のステップは、
前記適応度が所定の閾値を超える物理的な構成パターンが存在し、かつ、前記適応度が所定の閾値を超える論理的な構成パターンが存在する場合には、当該物理的な構成パターンと論理的な構成パターンを出力することを特徴とする計算機システムの構成パターンの算出方法。 A management computer including a processor and a memory calculates a configuration pattern of elements constituting a computer system,
A first step in which the management computer obtains configuration information including information on elements constituting the computer system;
A second step in which the management computer obtains load information including a load of an element constituting the computer system;
A third step in which the management computer obtains a constraint condition for a configuration pattern of the computer system;
A fourth step in which the management computer generates a plurality of configuration patterns based on configuration information of the computer system;
A fifth step in which the management computer corrects a configuration pattern that does not satisfy the constraint condition among the generated plurality of configuration patterns;
A sixth step in which the management computer calculates a predetermined fitness for each of the configuration pattern that satisfies the constraint condition and the modified configuration pattern by referring to the configuration information and load information;
Said management computer, if the fitness is present arrangement pattern exceeds a predetermined threshold, a seventh step of outputting the configuration pattern,
Said management computer, if the fitness is not present configuration pattern exceeds a predetermined threshold value, the fitness and the step of deleting the configuration pattern below a predetermined threshold value, one configuration pattern and another certain configuration pattern An eighth step of applying a step of replacing a part and a step of changing a part of a certain configuration pattern;
Returning to the fifth step after the eighth step ,
The first step includes
Obtaining configuration information including physical components of the computer system and information of logical components;
The second step includes
Obtaining load information including a physical component load and a logical component load of the computer system;
The fourth step includes
Generating a configuration pattern of physical components of the computer system and a configuration pattern of logical components;
The fifth step includes
The physical configuration pattern that does not satisfy the constraint condition among the plurality of generated physical configuration patterns is corrected, and the logic that does not satisfy the constraint condition among the plurality of generated logical configuration patterns The typical composition pattern
The sixth step includes
Referring to the physical configuration information and the physical load information, a predetermined fitness is calculated for each of the physical configuration pattern that satisfies the constraint condition and the modified physical configuration pattern, and the logic A predetermined fitness for each of the logical configuration pattern that satisfies the constraint condition and the modified logical configuration pattern, with reference to the general configuration information and the logical load information,
The seventh step includes
When there is a physical configuration pattern in which the fitness exceeds a predetermined threshold, and there is a logical configuration pattern in which the fitness exceeds a predetermined threshold, the physical configuration pattern and logical A calculation method for a configuration pattern of a computer system, characterized in that a simple configuration pattern is output .
前記第4のステップは、
前記計算機システムを構成する要素の組み合わせを示す数列に変換した前記構成パターンを生成することを特徴とする計算機システムの構成パターンの算出方法。 A method for calculating a configuration pattern of a computer system according to claim 1,
The fourth step includes
A method for calculating a configuration pattern of a computer system, comprising generating the configuration pattern converted into a numerical sequence indicating a combination of elements constituting the computer system.
前記第4のステップは、
前記構成パターンの構成要素の数に応じて数列の長さが異なり、前記数列の長さが同一となるものをひとつのクラスタとして扱うことを特徴とする計算機システムの構成パターンの算出方法。 A method for calculating a configuration pattern of a computer system according to claim 2,
The fourth step includes
A method for calculating a configuration pattern of a computer system, wherein sequences having different lengths depending on the number of components of the configuration pattern and having the same length are handled as one cluster.
前記第7のステップは、
前記クラスタ内の適応度が所定の閾値を超える構成パターンが存在する場合には、当該構成パターンを出力し、
前記第8のステップは、前記クラスタ内の適応度が所定の閾値を超える構成パターンが存在しない場合には、前記適応度が所定の閾値を下回る構成パターンを削除する工程と、ある構成パターンと別のある構成パターンの一部を入れ換える工程と、ある構成パターンの一部を変更する工程とを適用することを特徴とする計算機システムの構成パターンの算出方法。 A method for calculating a configuration pattern of a computer system according to claim 3,
The seventh step includes
If the fitness in the cluster are present arrangement pattern exceeds a predetermined threshold value, and outputs the configuration pattern,
The eighth step, when the fitness of the said cluster no configuration pattern exceeds a predetermined threshold, the steps of the fitness deletes the configuration pattern below a predetermined threshold value, one configuration pattern and another A method for calculating a configuration pattern of a computer system, wherein a step of replacing a part of a certain configuration pattern and a step of changing a part of the configuration pattern are applied.
前記第4のステップは、
前記数列は、種別の異なる要素毎に異なる数値が設定されることを特徴とする計算機システムの構成パターンの算出方法。 A method for calculating a configuration pattern of a computer system according to claim 2,
The fourth step includes
In the numerical sequence, a different numerical value is set for each element of a different type.
前記計算機システムを構成する要素の組み合わせを示す数列を遺伝子とし、
前記第4のステップは、
前記構成パターンの構成要素の数に応じて数列の長さが異なり、前記数列の長さが同一となるものをひとつのクラスタとして扱い、
前記物理的な構成要素の構成パターンの初期パターンを前記クラスタ毎の遺伝子のパターンで生成するステップと、
前記生成された前記物理的な構成要素の構成パターンが前記制約条件に反していた場合には、前記物理的な構成要素の構成パターンの遺伝子が制約条件を満たすように修正するステップと、
前記論理的な構成要素の構成パターンの初期パターンを前記クラスタ毎の遺伝子のパターンで生成するステップと、
前記生成された前記論理的な構成要素の構成パターンの遺伝子が前記制約条件に反していた場合には、前記遺伝子が制約条件を満たすように修正するステップと、
を含むことを特徴とする計算機システムの構成パターンの算出方法。 A method for calculating a configuration pattern of a computer system according to claim 1,
A number sequence indicating a combination of elements constituting the computer system is a gene,
The fourth step includes
Depending on the number of components of the configuration pattern, the length of the sequence is different, and the sequences having the same length of the sequence are treated as one cluster,
Generating an initial pattern of the constituent pattern of the physical constituent elements in a gene pattern for each cluster; and
If the generated configuration pattern of the physical component is contrary to the constraint condition, correcting the gene of the physical component configuration pattern so as to satisfy the constraint condition;
Generating an initial pattern of a configuration pattern of the logical component with a gene pattern for each cluster;
When the gene of the generated configuration pattern of the logical component is contrary to the constraint condition, correcting the gene so as to satisfy the constraint condition;
A method for calculating a configuration pattern of a computer system, comprising:
前記計算機システムを構成する要素の情報を含む構成情報を取得する構成情報取得部と、
前記計算機システムを構成する要素の負荷を含む負荷情報を取得する負荷情報取得部と、
前記計算機システムの構成パターンに対する制約条件を取得する要求取得部と、
前記計算機システムの構成情報に基づいて複数の構成パターンを生成する構成算出部と、を備え、
前記構成算出部は、
前記生成した複数の構成パターンのうち、前記制約条件を満たしていない構成パターンを修正する修正部と、
前記構成情報と負荷情報を参照して、前記制約条件を満たす構成パターンと前記修正された構成パターンのそれぞれについて所定の適応度を演算する適応度演算部と、
前記適応度が所定の閾値を超える構成パターンが存在する場合には、当該構成パターンを出力する構成提示部と、
前記適応度が所定の閾値を超える構成パターンが存在しない場合には、前記適応度が所定の閾値を下回る構成パターンを削除する工程と、ある構成パターンと別のある構成パターンの一部を入れ換える工程と、ある構成パターンの一部を変更する工程とを適用する構成変更部と、を有し、
前記構成変更部で前記構成算出部によって算出され、構成提示部によって出力された構成パターンを前記修正部へ入力し、
前記構成情報取得部は、
前記計算機システムの物理的な構成要素と、論理的な構成要素の情報とを含む構成情報を取得し、
前記負荷情報取得部は、
前記計算機システムの物理的な構成要素の負荷と、論理的な構成要素の負荷と、を含む負荷情報を取得し、
前記構成算出部は、
前記計算機システムの物理的な構成要素の構成パターンと、論理的な構成要素の構成パターンとをそれぞれ生成し、
前記修正部は、
前記生成した複数の物理的な構成パターンのうち、前記制約条件を満たしていない物理的な構成パターンを修正し、前記生成した複数の論理的な構成パターンのうち、前記制約条件を満たしていない論理的な構成パターンを修正し、
前記適応度演算部は、
前記物理的な構成情報と物理的な負荷情報を参照して、前記制約条件を満たす物理的な構成パターンと前記修正された物理的な構成パターンのそれぞれについて所定の適応度を演算し、前記論理的な構成情報と論理的な負荷情報を参照して、前記制約条件を満たす論理的な構成パターンと前記修正された論理的な構成パターンのそれぞれについて所定の適応度を演算し、
前記構成提示部は、
前記適応度が所定の閾値を超える物理的な構成パターンが存在し、かつ、前記適応度が所定の閾値を超える論理的な構成パターンが存在する場合には、当該物理的な構成パターンと論理的な構成パターンを出力することを特徴とする構成パターンの算出装置。 A configuration pattern calculation apparatus that calculates a configuration pattern of elements that comprise a computer system and includes a processor and a memory,
A configuration information acquisition unit for acquiring configuration information including information of elements constituting the computer system;
A load information acquisition unit for acquiring load information including a load of elements constituting the computer system;
A request acquisition unit for acquiring a constraint condition for a configuration pattern of the computer system;
A configuration calculation unit that generates a plurality of configuration patterns based on the configuration information of the computer system,
The configuration calculation unit
Of the plurality of generated configuration patterns, a correction unit that corrects a configuration pattern that does not satisfy the constraint condition;
An fitness calculation unit that calculates a predetermined fitness for each of the configuration pattern that satisfies the constraint condition and the modified configuration pattern with reference to the configuration information and the load information;
If the fitness is present arrangement pattern exceeds a predetermined threshold value, the configuration presentation unit to output the configuration pattern,
Step the fitness in the absence of structure pattern exceeds a predetermined threshold value, interchanging the steps of the fitness deletes the configuration pattern below a predetermined threshold, the part of the configuration pattern and another certain configuration patterns that And a configuration changing unit that applies a step of changing a part of a certain configuration pattern,
The configuration pattern calculated by the configuration calculation unit in the configuration change unit and output by the configuration presentation unit is input to the correction unit ,
The configuration information acquisition unit
Obtaining configuration information including physical components of the computer system and information of logical components;
The load information acquisition unit
Obtaining load information including physical component load and logical component load of the computer system;
The configuration calculation unit
Generating a configuration pattern of physical components of the computer system and a configuration pattern of logical components;
The correction unit is
The physical configuration pattern that does not satisfy the constraint condition among the plurality of generated physical configuration patterns is corrected, and the logic that does not satisfy the constraint condition among the plurality of generated logical configuration patterns The typical composition pattern
The fitness calculator is
Referring to the physical configuration information and the physical load information, a predetermined fitness is calculated for each of the physical configuration pattern that satisfies the constraint condition and the modified physical configuration pattern, and the logic A predetermined fitness for each of the logical configuration pattern that satisfies the constraint condition and the modified logical configuration pattern, with reference to the general configuration information and the logical load information,
The configuration presentation unit
When there is a physical configuration pattern in which the fitness exceeds a predetermined threshold, and there is a logical configuration pattern in which the fitness exceeds a predetermined threshold, the physical configuration pattern and logical A configuration pattern calculation apparatus that outputs a configuration pattern.
前記構成算出部は、
前記計算機システムを構成する要素の組み合わせを示す数列に変換した前記構成パターンを生成することを特徴とする計算機システムの構成パターンの算出装置。 The apparatus for calculating a configuration pattern according to claim 7,
The configuration calculation unit
An apparatus for calculating a configuration pattern of a computer system, which generates the configuration pattern converted into a numerical sequence indicating a combination of elements constituting the computer system.
前記構成算出部は、
前記構成パターンの構成要素の数に応じて数列の長さが異なり、前記数列の長さが同一となるものをひとつのクラスタとして扱うことを特徴とする構成パターンの算出装置。 The apparatus for calculating a configuration pattern according to claim 8,
The configuration calculation unit
An apparatus for calculating a configuration pattern, characterized in that sequences having different lengths depending on the number of components of the configuration pattern and having the same length are handled as one cluster.
前記構成提示部は、
前記クラスタ内の適応度が所定の閾値を超える構成パターンが存在する場合には、当該構成パターンを出力し、
前記構成変更部は、前記クラスタ内の適応度が所定の閾値を超える構成パターンが存在しない場合には、前記適応度が所定の閾値を下回る構成パターンを削除する工程と、ある構成パターンと別のある構成パターンの一部を入れ換える工程と、ある構成パターンの一部を変更する工程とを適用することを特徴とする構成パターンの算出装置。 The apparatus for calculating a configuration pattern according to claim 9,
The configuration presentation unit
If the fitness in the cluster are present arrangement pattern exceeds a predetermined threshold value, and outputs the configuration pattern,
The configuration change unit, when the fitness of the said cluster no configuration pattern exceeds a predetermined threshold, the steps of the fitness deletes the configuration pattern below a predetermined threshold value, one configuration pattern and another An apparatus for calculating a configuration pattern, characterized by applying a step of replacing a part of a certain configuration pattern and a step of changing a part of the configuration pattern.
前記構成算出部は、
前記数列に、種別の異なる要素毎に異なる数値を設定することを特徴とする構成パターンの算出装置。 The apparatus for calculating a configuration pattern according to claim 8,
The configuration calculation unit
In the numerical sequence, a different numerical value is set for each element having a different type.
前記構成算出部は、
前記計算機システムを構成する要素の組み合わせを示す数列を遺伝子とし、
前記構成パターンの構成要素の数に応じて数列の長さが異なり、前記数列の長さが同一となるものをひとつのクラスタとして扱い、
物理的な構成要素の構成パターンの初期パターンを前記クラスタ毎の遺伝子のパターンで生成し、前記生成された前記物理的な構成要素の構成パターンが前記制約条件に反していた場合には、前記物理的な構成要素の構成パターンの遺伝子が制約条件を満たすように修正し、前記論理的な構成要素の構成パターンの初期パターンを前記クラスタ毎の遺伝子のパターンで生成し、前記生成された論理的な構成要素の構成パターンの遺伝子が前記制約条件に反していた場合には、前記遺伝子が制約条件を満たすように修正することを特徴とする構成パターンの算出装置。 The apparatus for calculating a configuration pattern according to claim 7,
The configuration calculation unit
A number sequence indicating a combination of elements constituting the computer system is a gene,
Depending on the number of components of the configuration pattern, the length of the sequence is different, and the sequences having the same length of the sequence are treated as one cluster,
When an initial pattern of a physical component configuration pattern is generated as a gene pattern for each cluster, and the generated physical component configuration pattern violates the constraint condition, The gene of the component pattern of the general component is modified so that the constraint condition is satisfied, the initial pattern of the component pattern of the logical component is generated as the gene pattern for each cluster, and the generated logical pattern An apparatus for calculating a configuration pattern , wherein when a gene of a configuration pattern of a component violates the constraint condition, the gene is corrected so as to satisfy the constraint condition .
前記管理計算機が、前記計算機システムの物理的な構成要素と、論理的な構成要素の情報とを含む構成情報を取得する第1のステップと、 A first step in which the management computer obtains configuration information including physical components of the computer system and logical component information;
前記管理計算機が、前記計算機システムの物理的な構成要素の負荷と、論理的な構成要素の負荷と、を含む負荷情報を取得する第2のステップと、 A second step in which the management computer obtains load information including a physical component load of the computer system and a logical component load;
前記管理計算機が、前記計算機システムの構成パターンに対する制約条件を取得する第3のステップと、 A third step in which the management computer obtains a constraint condition for a configuration pattern of the computer system;
前記管理計算機が、前記計算機システムの構成情報に基づいて、前記計算機システムの物理的な構成要素の構成パターンと、論理的な構成要素の構成パターンとをそれぞれ生成する第4のステップと、 A fourth step in which the management computer generates a configuration pattern of a physical component of the computer system and a configuration pattern of a logical component based on the configuration information of the computer system;
前記管理計算機が、前記生成した複数の物理的な構成パターンのうち、前記制約条件を満たしていない物理的な構成パターンを修正し、前記生成した複数の論理的な構成パターンのうち、前記制約条件を満たしていない論理的な構成パターンを修正する第5のステップと、 The management computer corrects a physical configuration pattern that does not satisfy the constraint condition among the plurality of generated physical configuration patterns, and the constraint condition among the generated plurality of logical configuration patterns. A fifth step of correcting a logical configuration pattern that does not satisfy
前記論理的な構成情報と論理的な負荷情報を参照して、前記制約条件を満たす論理的な構成パターンと前記修正された論理的な構成パターンのそれぞれについて所定の適応度を演算し、前記適応度が所定の閾値を超える論理的な構成パターンが存在するか否かを判定する第6のステップと、 With reference to the logical configuration information and the logical load information, a predetermined fitness is calculated for each of the logical configuration pattern satisfying the constraint condition and the modified logical configuration pattern, and the adaptation A sixth step of determining whether there is a logical configuration pattern whose degree exceeds a predetermined threshold;
前記判定結果が、前記所定の閾値を超える適応度の論理的な構成パターンが存在する場合には、前記物理的な構成情報と物理的な負荷情報を参照して、前記制約条件を満たす物理的な構成パターンと前記修正された物理的な構成パターンのそれぞれについて所定の適応度を演算し、前記適応度が所定の閾値を超える物理的な構成パターンが存在するか否かを判定する第7のステップと、 If there is a logical configuration pattern whose fitness exceeds the predetermined threshold, the physical condition satisfying the constraint condition is referred to by referring to the physical configuration information and physical load information. A predetermined fitness is calculated for each of the correct configuration pattern and the modified physical configuration pattern, and a seventh determination is made as to whether or not there is a physical configuration pattern with the fitness exceeding a predetermined threshold. Steps,
前記管理計算機が、前記適応度が所定の閾値を超える物理的な構成パターンが存在する場合には、当該物理的な構成パターンと前記論理的な構成パターンを出力する第8のステップと、 An eighth step in which the management computer outputs the physical configuration pattern and the logical configuration pattern when there is a physical configuration pattern whose fitness exceeds a predetermined threshold; and
前記管理計算機が、前記適応度が所定の閾値を超える物理的な構成パターンが存在しない場合には、前記適応度が所定の閾値を下回る物理的な構成パターンを削除する工程と、ある構成パターンと別のある物理的な構成パターンの一部を入れ換える工程と、ある物理的な構成パターンの一部を変更する工程とを適用する第9のステップと、 The management computer, when there is no physical configuration pattern in which the fitness exceeds a predetermined threshold, deleting a physical configuration pattern in which the fitness is less than a predetermined threshold; and a configuration pattern A ninth step of applying a step of replacing a part of another certain physical configuration pattern and a step of changing a part of the certain physical configuration pattern;
を含み、前記第9のステップの後に前記第5のステップへ復帰することを特徴とする計算機システムの構成パターンの算出方法。And a return to the fifth step after the ninth step.
前記計算機システムを構成する物理的な構成要素と、論理的な構成要素の情報とを含む構成情報を取得する構成情報取得部と、 A configuration information acquisition unit for acquiring configuration information including physical components constituting the computer system and information on logical components;
前記計算機システムを構成する物理的な構成要素の負荷と、論理的な構成要素の負荷と、を含む負荷情報を取得する負荷情報取得部と、 A load information acquisition unit for acquiring load information including a load of physical components constituting the computer system and a load of logical components;
前記計算機システムの構成パターンに対する制約条件を取得する要求取得部と、 A request acquisition unit for acquiring a constraint condition for a configuration pattern of the computer system;
前記計算機システムの構成情報に基づいて物理的な構成要素の構成パターンと、論理的な構成要素の構成パターンとをそれぞれ生成する構成算出部と、を備え、 A configuration calculation unit that generates a configuration pattern of physical components and a configuration pattern of logical components based on the configuration information of the computer system, and
前記構成算出部は、 The configuration calculation unit
前記生成した複数の物理的な構成パターンのうち、前記制約条件を満たしていない物理的な構成パターンを修正し、前記生成した複数の論理的な構成パターンのうち、前記制約条件を満たしていない論理的な構成パターンを修正する修正部と、 The physical configuration pattern that does not satisfy the constraint condition among the plurality of generated physical configuration patterns is corrected, and the logic that does not satisfy the constraint condition among the plurality of generated logical configuration patterns A correction unit for correcting a typical configuration pattern;
前記論理的な構成情報と論理的な負荷情報を参照して、前記制約条件を満たす論理的な構成パターンと前記修正された論理的な構成パターンのそれぞれについて所定の適応度を演算し、前記適応度が所定の閾値を超える論理的な構成パターンが存在する場合には、前記物理的な構成情報と物理的な負荷情報を参照して、前記制約条件を満たす物理的な構成パターンと前記修正された物理的な構成パターンのそれぞれについて所定の適応度を演算する適応度演算部と、 With reference to the logical configuration information and the logical load information, a predetermined fitness is calculated for each of the logical configuration pattern satisfying the constraint condition and the modified logical configuration pattern, and the adaptation When there is a logical configuration pattern whose degree exceeds a predetermined threshold, the physical configuration pattern satisfying the constraint condition and the modified configuration pattern are referred to by referring to the physical configuration information and physical load information. Fitness calculation unit for calculating a predetermined fitness for each physical configuration pattern,
前記適応度が所定の閾値を超える物理的な構成パターンが存在する場合には、前記物理的な構成パターンと前記論理的な構成パターンを出力する構成提示部と、 When there is a physical configuration pattern whose fitness exceeds a predetermined threshold, a configuration presentation unit that outputs the physical configuration pattern and the logical configuration pattern;
前記適応度が所定の閾値を超える物理的な構成パターンが存在しない場合には、前記適応度が所定の閾値を下回る物理的な構成パターンを削除する工程と、ある物理的な構成パターンと別のある物理的な構成パターンの一部を入れ換える工程と、ある物理的な構成パターンの一部を変更する工程とを適用する構成変更部と、を有し、 When there is no physical configuration pattern whose fitness exceeds a predetermined threshold, a step of deleting a physical configuration pattern whose fitness is lower than a predetermined threshold; A configuration changing unit that applies a step of replacing a part of a certain physical configuration pattern and a step of changing a part of a certain physical configuration pattern;
前記構成変更部で前記構成算出部によって算出された論理的な構成パターンと、構成提示部によって出力された物理的な構成パターンを前記修正部へ入力することを特徴とする構成パターンの算出装置。 A configuration pattern calculation apparatus, wherein the configuration change unit inputs a logical configuration pattern calculated by the configuration calculation unit and a physical configuration pattern output by a configuration presentation unit to the correction unit.
前記適応度は、予め設定されて前記構成パターンの算出精度を決定する緊急度を用いることを特徴とする計算機システムの構成パターンの算出方法。 The method of calculating a configuration pattern of a computer system, wherein the fitness is an urgency level that is preset and determines the calculation accuracy of the configuration pattern.
前記閾値は、前記緊急度に基づいて算出され、前記緊急度が高い場合には前記閾値の値を低下させて前記構成パターンを出力するまでの算出時間を短縮させ、前記緊急度が低い場合には前記閾値の値を高く設定して前記構成パターンを出力するまでの算出時間を増大させることを特徴とする計算機システムの構成パターンの算出方法。 The threshold value is calculated based on the urgency level, and when the urgency level is high, the threshold value is decreased to reduce the calculation time until the configuration pattern is output, and when the urgency level is low. A method for calculating a configuration pattern of a computer system, characterized in that the calculation time until the threshold value is set high and the configuration pattern is output is increased.
前記物理的な負荷情報は、前記物理的な構成情報である物理サーバの負荷を取得し、 The physical load information obtains a load of a physical server that is the physical configuration information,
前記論理的な負荷情報は、前記論理的な構成情報である仮想サーバの負荷を取得することを特徴とする計算機システムの構成パターンの算出方法。 The logical load information obtains a load of a virtual server which is the logical configuration information, and a computer system configuration pattern calculation method.
前記適応度は、予め設定されて前記構成パターンの算出精度を決定する緊急度を用いることを特徴とする計算機システムの構成パターンの算出装置。 An apparatus for calculating a configuration pattern of a computer system, wherein the fitness is an urgency level that is preset and determines the calculation accuracy of the configuration pattern.
前記閾値は、前記緊急度に基づいて算出され、前記緊急度が高い場合には前記閾値の値を低下させて前記構成パターンを出力するまでの算出時間を短縮させ、前記緊急度が低い場合には前記閾値の値を高く設定して前記構成パターンを出力するまでの算出時間を増大させることを特徴とする計算機システムの構成パターンの算出装置。 The threshold value is calculated based on the urgency level, and when the urgency level is high, the threshold value is decreased to reduce the calculation time until the configuration pattern is output, and when the urgency level is low. Is a configuration pattern calculation apparatus for a computer system, characterized in that the calculation time until the threshold value is set high and the configuration pattern is output is increased.
前記物理的な負荷情報は、前記物理的な構成情報である物理サーバの負荷を取得し、 The physical load information obtains a load of a physical server that is the physical configuration information,
前記論理的な負荷情報は、前記論理的な構成情報である仮想サーバの負荷を取得することを特徴とする計算機システムの構成パターンの算出装置。 The logical load information acquires a load of a virtual server, which is the logical configuration information, and a computer system configuration pattern calculation apparatus.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011138602A JP5773142B2 (en) | 2011-06-22 | 2011-06-22 | Computer system configuration pattern calculation method and configuration pattern calculation apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011138602A JP5773142B2 (en) | 2011-06-22 | 2011-06-22 | Computer system configuration pattern calculation method and configuration pattern calculation apparatus |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2013008089A JP2013008089A (en) | 2013-01-10 |
| JP2013008089A5 JP2013008089A5 (en) | 2014-07-17 |
| JP5773142B2 true JP5773142B2 (en) | 2015-09-02 |
Family
ID=47675416
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011138602A Expired - Fee Related JP5773142B2 (en) | 2011-06-22 | 2011-06-22 | Computer system configuration pattern calculation method and configuration pattern calculation apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5773142B2 (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6421199B2 (en) * | 2014-12-25 | 2018-11-07 | 株式会社日立システムズ | Cloud configuration visualization system, cloud configuration visualization method, and cloud configuration visualization program |
| JP6421200B2 (en) * | 2014-12-25 | 2018-11-07 | 株式会社日立システムズ | Cloud configuration storage system, cloud configuration storage method, and cloud configuration storage program |
| US10209888B2 (en) * | 2015-05-13 | 2019-02-19 | Hitachi, Ltd. | Computer and optimization method |
| JP6440840B2 (en) * | 2015-06-15 | 2018-12-19 | 株式会社日立製作所 | Planning work support system and planning work support method |
| CN108776612A (en) * | 2018-04-11 | 2018-11-09 | 深圳大学 | A kind of cloud computing method for allocating tasks, device, equipment and storage medium |
| US20200401904A1 (en) * | 2019-06-24 | 2020-12-24 | GE Precision Healthcare LLC | Adaptive medical imaging device configuration using artificial intelligence |
| JP7304239B2 (en) * | 2019-08-27 | 2023-07-06 | 株式会社日立製作所 | Resource configuration change planning system and resource configuration change planning method |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11154171A (en) * | 1997-11-21 | 1999-06-08 | Hitachi Ltd | Component placement design support device and component placement method |
| JP2003058520A (en) * | 2001-08-09 | 2003-02-28 | Mitsubishi Heavy Ind Ltd | Computer arrangement method |
| JP3861087B2 (en) * | 2003-10-08 | 2006-12-20 | 株式会社エヌ・ティ・ティ・データ | Virtual machine management apparatus and program |
| US8185893B2 (en) * | 2006-10-27 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Starting up at least one virtual machine in a physical machine by a load balancer |
-
2011
- 2011-06-22 JP JP2011138602A patent/JP5773142B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013008089A (en) | 2013-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN120144260B (en) | Intelligent computing power and storage scheduling method and system for multi-service system | |
| US10924535B2 (en) | Resource load balancing control method and cluster scheduler | |
| JP5773142B2 (en) | Computer system configuration pattern calculation method and configuration pattern calculation apparatus | |
| Ding et al. | Kubernetes-oriented microservice placement with dynamic resource allocation | |
| US11321141B2 (en) | Resource management for software containers using container profiles | |
| CN108089921B (en) | Server for cloud big data operation architecture and operation resource optimization method thereof | |
| Ge et al. | GA-based task scheduler for the cloud computing systems | |
| CN116389266A (en) | A method and device for digital twin network slicing based on reinforcement learning | |
| CN113438678B (en) | A method and device for allocating cloud resources for network slicing | |
| CN112559135B (en) | A QoS-based scheduling method for container cloud resources | |
| Giurgiu et al. | Enabling efficient placement of virtual infrastructures in the cloud | |
| CN113377866B (en) | A load balancing method and device for virtualized database proxy service | |
| JP5109799B2 (en) | Information processing system, load control method, and load control program | |
| CN118819903B (en) | Data analysis method and system based on visual modeling and job scheduling | |
| CN118626275B (en) | Heterogeneous computing resource virtualization processing method, electronic device and storage medium | |
| JP2008171235A (en) | System configuration change rule generation system, method and program | |
| CN119225921A (en) | A method for determining a transmission path and a computing device | |
| CN119396555A (en) | Computing resource dynamic allocation method, device, electronic device and storage medium | |
| JP7439931B2 (en) | Control device, virtual network allocation method, and program | |
| CN115269182B (en) | Resource adjustment method, device, server and storage medium | |
| JP2011192049A (en) | Virtual machine system, automatic migration method, and automatic migration program | |
| CN116880968A (en) | Job scheduling method and scheduling system | |
| CN116566829A (en) | Service function chain reliability deployment method, system and device based on deep learning | |
| CN112000460A (en) | Service capacity expansion method based on improved Bayesian algorithm and related equipment | |
| CN115544719A (en) | A Consistency Comprehensive Optimization Method Based on Tensor Streaming Computing System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140604 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140604 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150120 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150203 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150406 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150602 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150616 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5773142 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |