JP2013161165A - 計算機システム及びPCIeデバイスの割当方法 - Google Patents
計算機システム及びPCIeデバイスの割当方法 Download PDFInfo
- Publication number
- JP2013161165A JP2013161165A JP2012020911A JP2012020911A JP2013161165A JP 2013161165 A JP2013161165 A JP 2013161165A JP 2012020911 A JP2012020911 A JP 2012020911A JP 2012020911 A JP2012020911 A JP 2012020911A JP 2013161165 A JP2013161165 A JP 2013161165A
- Authority
- JP
- Japan
- Prior art keywords
- blade
- server
- pcie device
- pcie
- 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.)
- Pending
Links
Images
Abstract
【課題】
シャーシ間接続ケーブルのI/O帯域最大消費量を超えずに、かつ、NICのVFをブレードに割当てるときにI/O帯域の負荷均一化や搭載メモリサイズに応じたVF割当てを実現する。
【解決手段】
お互いにサーバシャーシ間接続ケーブルで接続される複数のサーバと、複数の仮想的な機能(VF(Virtual Function)という)を持つ、PCI Express(PCIeという)仕様に基づくPCIeデバイスと、サーバとPCIeデバイスを接続するPCIeスイッチとを有する計算機システムにおいて、サーバにPCIeデバイスのVFを割当てる際に、サーバシャーシ間接続ケーブルのI/O帯域消費量を均一化し、及び又はサーバに搭載されたメモリのサイズに応じた数のPCIeデバイスのVFの割当てをして、サーバシャーシ間接続ケーブルが持つI/O帯域最大消費量を超えないように、PCIeデバイスのVFを割当てる。
【選択図】 図1
シャーシ間接続ケーブルのI/O帯域最大消費量を超えずに、かつ、NICのVFをブレードに割当てるときにI/O帯域の負荷均一化や搭載メモリサイズに応じたVF割当てを実現する。
【解決手段】
お互いにサーバシャーシ間接続ケーブルで接続される複数のサーバと、複数の仮想的な機能(VF(Virtual Function)という)を持つ、PCI Express(PCIeという)仕様に基づくPCIeデバイスと、サーバとPCIeデバイスを接続するPCIeスイッチとを有する計算機システムにおいて、サーバにPCIeデバイスのVFを割当てる際に、サーバシャーシ間接続ケーブルのI/O帯域消費量を均一化し、及び又はサーバに搭載されたメモリのサイズに応じた数のPCIeデバイスのVFの割当てをして、サーバシャーシ間接続ケーブルが持つI/O帯域最大消費量を超えないように、PCIeデバイスのVFを割当てる。
【選択図】 図1
Description
本発明は、計算機システム及びそれに使用されるPCIeデバイス共有方法に関する。
計算機システムの集約性を高めるために、ブレードサーバが実用化されている。ブレードサーバは、それぞれCPU、NIC、メモリを持つ複数のブレード、ネットワークスイッチ及び電源モジュールを、単一のシャーシ内に実装したものであり、これにより省電力化及び設置スペースの削減が可能となる(例えば、特許文献1)。
PCI Express(PCIeという)仕様はPCI−SIGによって策定された、PCIバスに代わる拡張カードの標準仕様である(例えば、非特許文献1)。PCIeに対応したデバイス(以下単にPCIeデバイスという)を、1つのサーバ上に構築された複数のゲストOS上で共有するための仕様として、PCI−SIGが策定したSR−I/OV(Single Root I/O Virtualization)が知られている(例えば、非特許文献2)。
また、SR−I/OVを拡張し、複数のサーバからPCIeに対応したデバイスを共有できるMR−I/OV(Multi Root I/O Virtualization)が知られている(例えば、非特許文献3)。PCIe仕様に対応したデバイスを、複数のサーバで共有するためのネットワークスイッチをPCIe スイッチという。MR−I/OV仕様に対応したPCIeスイッチをMR−I/OVスイッチという。
また、PCIe仕様に対応したデバイスを、複数のブレードで共有するために、PCIeデバイスが持つVF(Virtual Function)を複数のブレードへ割当てる方法が提案されている(例えば、特許文献2)。
また、PCIe仕様に対応したデバイスを、複数のブレードで共有するために、PCIeデバイスが持つVF(Virtual Function)を複数のブレードへ割当てる方法が提案されている(例えば、特許文献2)。
PCI−SIG発行, PCI Express (R) Base Specification Revision 3.0 2010年
PCI−SIG発行, Single-Root I/O Virtualization and Sharing Specification Revision 1.0 2008年
PCI−SIG発行, Multi-Root I/O Virtualization and Sharing Specification Revision 1.0 2008年
複数のブレードサーバがPCIeシャーシ間接続ケーブルを介して接続されている計算機システムにおいて、計算機で実行される処理(JOB)を効率化するために、PCIeデバイス(NIC: Network Interface Card)内に存在するVF(Virtual Function)を、メモリやCPU等の処理性能のより高い他のブレードサーバのブレードに割当てたいという考えがある。然るに、従来の技術では、VFをブレードに割当てるときに、シャーシ間接続ケーブルのI/O帯域消費量を均一化するように割当てる方法(I/O帯域の負荷均一化)や、ブレードの搭載メモリサイズに応じた数のVFを割当てる方法(メモリサイズに応じた割当て)などは実現していない。そのため、VFの割当て方によっては、あるシャーシ間接続ケーブルのI/O帯域消費量だけが他のシャーシ間接続ケーブルよりも高くなってしまうことがある。
しかし、シャーシ間接続ケーブルのI/O帯域消費量が高くなると、そのシャーシ間接続ケーブルで通信に用いているNICのVFの通信能力が低下してしまう。また、他の場合では、搭載メモリサイズの小さいブレード上の仮想マシンに対して多くのVFを割当ててしまい、計算効率の低下を招く恐れがある。NICのVFはブレード上の仮想マシン(Virtual Machine)に割当てられることで、仮想マシンとNIC間で通信が可能となる。仮想マシンが消費するメモリはVFの実行に必要なメモリのみで、1つのVFが消費するメモリは一定値と仮定した場合、仮想マシンに割当てられるVFの総数に比例して、仮想マシンが消費するメモリは多くなる。
そこで、本発明の目的は、サーバを接続するシャーシ間接続ケーブルのI/O帯域の最大消費量を超えずに、かつ、NICのVFをサーバに割当てるときにI/O帯域の負荷の均一化や搭載されたメモリのサイズに応じてVFの割当てを実現する、計算機システム及びPCIeデバイスの割当方法を提供することにある。
本発明に係る計算機システムは、好ましくは、お互いにサーバシャーシ間接続ケーブルで接続される複数のサーバと、複数の仮想的な機能(VF(Virtual Function)という)を持つ、PCI Express(PCIeという)仕様に基づくPCIeデバイスと、該サーバと該PCIeデバイスを接続するPCIeスイッチとを有する計算機システムであって、該サーバに該PCIeデバイスのVFを割当てる際に、該サーバシャーシ間接続ケーブルが持つI/O帯域最大消費量を超えないように、該PCIeデバイスのVFを割当てることを特徴とする計算機システムとして構成される。
好ましい例では、前記PCIeデバイスのVFを割当てる際に、前記サーバシャーシ間接続ケーブルのI/O帯域消費量を均一化し、かつ前記サーバシャーシ間接続ケーブルのI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割当てる前記計算機システムとして構成される。
また好ましくは、前記PCIeデバイスのVFを割当てる際に、前記サーバに搭載されたメモリのサイズに応じた数の前記PCIeデバイスのVFを割当て、かつ前記サーバシャーシ間接続ケーブルI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割り当てる前記計算機システムである。
また好ましくは、前記PCIeデバイスのVFを割当てる際に、前記サーバシャーシ間接続ケーブルのI/O帯域消費量を均一化し、かつ、前記サーバに搭載されたメモリのサイズに応じた数の前記PCIeデバイスのVFを割当て、かつ前記サーバシャーシ間接続ケーブルのI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割り当てる前記計算機システムである。
本発明に係るPCIeデバイスの割当方法は、好ましくは、お互いにサーバシャーシ間接続ケーブルで接続される複数のサーバと、複数の仮想的な機能(VF(Virtual Function)という)を持つ、PCI Express(PCIeという)仕様に基づくPCIeデバイスと、該サーバと該PCIeデバイスを接続するPCIeスイッチとを有する計算機システムにおけるPCIeデバイスの割当方法であって、
該サーバに該PCIeデバイスのVFを割当てる際に、該サーバシャーシ間接続ケーブルが持つI/O帯域最大消費量を超えないように、該PCIeデバイスのVFを割当てることを特徴とするPCIeデバイスの割当方法として構成される。
該サーバに該PCIeデバイスのVFを割当てる際に、該サーバシャーシ間接続ケーブルが持つI/O帯域最大消費量を超えないように、該PCIeデバイスのVFを割当てることを特徴とするPCIeデバイスの割当方法として構成される。
本発明によれば、サーバを接続するシャーシ間接続ケーブルのI/O帯域の最大消費量を超えずに、かつ、NICのVFをサーバに割当てるときにI/O帯域の負荷の均一化や搭載されたメモリのサイズに応じてVFの割当てを実現することができる。好ましい例によれば、複数のブレードサーバ間でPCIeデバイスが持つVFを複数のブレードへ割当てることが可能となる。
以下、図面を参照して、本発明の好ましい実施例について説明する。
図1は、一実施例による計算機システムの全体構成を示すブロック図である。
計算機システムは、複数のブレードサーバ1〜3がお互いに接続され、更に各ブレードサーバ1〜3が管理サーバ6に接続して構成される。管理サーバ6には、管理者が操作する管理端末7が接続される。各ブレードサーバの構成は同じであり、内部構成についてはブレードサーバ1を例にして述べる。
図1は、一実施例による計算機システムの全体構成を示すブロック図である。
計算機システムは、複数のブレードサーバ1〜3がお互いに接続され、更に各ブレードサーバ1〜3が管理サーバ6に接続して構成される。管理サーバ6には、管理者が操作する管理端末7が接続される。各ブレードサーバの構成は同じであり、内部構成についてはブレードサーバ1を例にして述べる。
ブレードサーバ1は、複数のブレード11〜12、PCIeスイッチ111、及びSVP114を実装している。各ブレードはCPUやメモリ等のユニットを内蔵し、データ処理を行う。NIC112は、複数のVF1121〜1122を有し、これらのVFはブレード11〜12に割当てられる。NIC112は、MR−I/OV及びSR−I/OVを複数のサーバで共有することに対応したPCIeスイッチ111を経由して、NICのVFが割当てられたブレードと通信を行う。PCIeスイッチ111は、システム全体のNICのVFとブレードを関連付けするVF・ブレード関連付けテーブル113(図6を参照して後述)を有する。
各ブレードサーバ1〜3は、ポート116〜316に接続されるPCIeシャーシ間接続ケーブル71〜73によってリング状に接続され、他のブレードサーバとの間でデータ通信を行う。PCIeスイッチ111は、PCIeシャーシ間接続ケーブル71〜73用の接続ポート116を持つ。SVP114(Service Processor)は、PCIeスイッチ111と接続しこれを制御すると共に、ブレードサーバ1内の全体を管理する。SVP114はまた、他のブレードサーバのSVPと同様に、管理サーバ6に接続される。
管理サーバ6は、各ブレードサーバ1〜3の、NICのVF・ブレード関連付けテーブル、SVP、I/O、ブレード等から、I/O帯域の負荷均一化とメモリサイズに応じた割当てに必要な情報(システムを構成するハードウェア情報)を、LANスイッチ5及びハードウェア情報受信部61を介して受信する。また、ユーザが管理端末7を操作することで、必要な設定情報を管理サーバ6のハードウェア情報受信部61へ送信することができる。ハードウェア情報受信部61はこれらの情報をNICのVF・ブレード関連付け演算部62へ送信する。NICのVF・ブレード関連付け演算部62はこれらの情報を用いて演算を行い、I/O帯域の負荷均一化やメモリサイズに応じてNICのVF・ブレードの関連付けを決定する。管理サーバ6は、VF・ブレード関連付け演算部62による演算結果をNICのVF・ブレード関連付け演算結果DB63に格納する。更に、演算結果を、NICのVF・ブレード関連付け演算送信部64を介してLANケーブル45に接続されているSVP114、214、314へ送信する。そして、各SVPはNICのVF・ブレード関連付けテーブル113、213、313を書き換えてNICのVF・ブレードの関連付けを変更する。
次に、NICのVF・ブレード関連付けテーブル及びNICのVF・ブレードの関連付け演算結果DBの構成について説明する。
図6は、NICのVF・ブレード関連付けテーブルの構成を示す。
VF・ブレード関連付けテーブル113、213、313はシステム全体のNICのVFとブレードを関連付けする。Bus番号は、NICごとに異なる番号が割当てられる。また、Function番号はNICのVFごとに異なる番号が割当てられる。図示では、図1の計算機システムにおいて各ブレードサーバ1,2,3のNIC内に存在するVF1121(Bus番号:a, Function番号:p)、VF2122(Bus番号:b, Function番号:s)、VF3121(Bus番号:c, Function番号:t)が、それぞれ、ブレード番号11、ブレード番号22、ブレード番号31に割当てられているときのVF・ブレード関連付けテーブルを示している。
図6は、NICのVF・ブレード関連付けテーブルの構成を示す。
VF・ブレード関連付けテーブル113、213、313はシステム全体のNICのVFとブレードを関連付けする。Bus番号は、NICごとに異なる番号が割当てられる。また、Function番号はNICのVFごとに異なる番号が割当てられる。図示では、図1の計算機システムにおいて各ブレードサーバ1,2,3のNIC内に存在するVF1121(Bus番号:a, Function番号:p)、VF2122(Bus番号:b, Function番号:s)、VF3121(Bus番号:c, Function番号:t)が、それぞれ、ブレード番号11、ブレード番号22、ブレード番号31に割当てられているときのVF・ブレード関連付けテーブルを示している。
図7は、NICのVF・ブレードの関連付け演算結果DB63(以下単にDB63という)の構成を示す。DB63は、NICのVFとブレードの全ての組み合わせについて、各NICのVFに対する割当て先のブレードの番号を格納する。即ち、VF・ブレード組み合せ番号に対応して、帯域関数V計算値、メモリ関数W計算値、及び割当て先のブレードの番号を格納する。図示では、図1の計算機システムにおいて各ブレードサーバ1,2,3に、NICのVFが1個、ブレードが1個存在する時のNICのVF・ブレードの組み合わせを示している。
図8は、図7のVFとブレードの組み合わせにおいて、帯域関数V計算値、メモリ関数W計算値を算出して、それらの計算値を格納した様子を示す。
ここで、帯域関数V計算値、メモリ関数W計算値について説明する。
ここで、帯域関数V計算値、メモリ関数W計算値について説明する。
数式1は、各NICのVFとブレードの組み合わせにおいて、シャーシ間接続ケーブルのI/O帯域消費量の均一化の度合いを表す関数である。数式1におけるVを以下、帯域関数Vと呼ぶ。数式1における帯域関数Vと組み合わせ(NICのVF・ブレード)を関連付けるために、図7における各組み合わせにおいて数式1を計算し、図8の帯域関数Vの列に値を格納する。
数式1におけるXi,jは、ブレードサーバiとブレードサーバj間のシャーシ間接続ケーブルのI/O帯域消費量を表す。Xi,jを計算するには、NICのVFが他ブレードサーバのブレードに割当てられた時のシャーシ間接続ケーブルのI/O帯域消費量をある一定値とする。例えば、図8では、1つのNICのVFが他ブレードサーバのブレードに割当てられたときのI/O帯域消費量を1と仮定している。NICのVF・ブレード組み合わせ番号14では、ブレードサーバ2のVF2121がブレードサーバ3のブレード31に割当てられ、ブレードサーバ3のVF3121がブレードサーバ2のブレード21に割当てられるので、シャーシ間接続ケーブル72のI/O帯域消費量は、X2,3=1+1=2と求めることができる。同様にして、X1,2=1、X1,3=0である。数式1におけるAはNICのVFとブレードの全ての組み合わせにおけるXi,jの平均値であり、Vの値を図8に格納する。数式1では、各シャーシ間接続ケーブルのI/O帯域消費量がAに近ければ近い程、Vの値が小さくなり、各シャーシ間接続ケーブルのI/O帯域消費量が均一化していることを意味する。
数式2は、各NICのVFとブレードの組み合わせにおいて、ブレードの搭載メモリサイズに応じた数のNICのVFが割当てられているかどうかを示す関数であり、数式2におけるWを以下ではメモリ関数Wと呼ぶ。数式2におけるメモリ関数Wと組み合わせ(NICのVF・ブレード)を関連付けるために、図7におけるNICのVFとブレードの各組み合わせにおいて数式2を計算し、図8のメモリ関数Wの列に値を格納する。数式2におけるqはブレードの総数である。Miはブレードiのメモリサイズであり、ブレードによって異なる値をとる。図8では、q=3, M11=2, M21=1, M31=0.8
である。Yiはブレードiに割当てられる仮想マシンの合計メモリ消費量である。仮想マシンが消費するメモリはVFの実行に必要なメモリのみで、1つのVFが消費するメモリは一定値と仮定とする。数式2では、Wの値が小さければ小さい程、各ブレードの搭載メモリサイズに比例した数の仮想マシンが割り当られていることを意味する。
である。Yiはブレードiに割当てられる仮想マシンの合計メモリ消費量である。仮想マシンが消費するメモリはVFの実行に必要なメモリのみで、1つのVFが消費するメモリは一定値と仮定とする。数式2では、Wの値が小さければ小さい程、各ブレードの搭載メモリサイズに比例した数の仮想マシンが割り当られていることを意味する。
図9は、NICのVFをブレードに割り当てる条件を選択するときに管理端末7に表示される画面の例を示す。
I/O帯域の負荷均一化の条件901は、一部のシャーシ間接続ケーブルのI/O帯域消費量だけが高くなり過ぎないように、各シャーシ間接続ケーブルのI/O帯域消費量が同程度になるようなNICのVFを割当てる条件である。
メモリサイズに応じた割当ての条件902は、ブレードの搭載メモリサイズの大きさに比例した数のVFを、ブレード上の仮想マシンに割当てる方法である。ブレードによって搭載メモリサイズが異なる場合に、メモリサイズの小さいブレードに対して多くのNICのVFを割当ててしまうと、仮想マシンの実行に必要なメモリが足りなくなり、そのブレードの計算効率の低下を招く恐れがあるため、メモリサイズの大きさに応じた数のVFを割当てることが必要である。
I/O帯域を負荷均一化、かつ、メモリサイズに応じた割当ての条件903は、I/O帯域の負荷均一化の条件とメモリサイズに応じた割当ての条件を組み合わせたものである。I/O帯域の負荷均一化の条件を満たすNICのVFとブレードの組み合わせにおいて、数式2のメモリ関数Wの計算値が最小である組み合わせを選択する。
I/O帯域の負荷均一化の条件901は、一部のシャーシ間接続ケーブルのI/O帯域消費量だけが高くなり過ぎないように、各シャーシ間接続ケーブルのI/O帯域消費量が同程度になるようなNICのVFを割当てる条件である。
メモリサイズに応じた割当ての条件902は、ブレードの搭載メモリサイズの大きさに比例した数のVFを、ブレード上の仮想マシンに割当てる方法である。ブレードによって搭載メモリサイズが異なる場合に、メモリサイズの小さいブレードに対して多くのNICのVFを割当ててしまうと、仮想マシンの実行に必要なメモリが足りなくなり、そのブレードの計算効率の低下を招く恐れがあるため、メモリサイズの大きさに応じた数のVFを割当てることが必要である。
I/O帯域を負荷均一化、かつ、メモリサイズに応じた割当ての条件903は、I/O帯域の負荷均一化の条件とメモリサイズに応じた割当ての条件を組み合わせたものである。I/O帯域の負荷均一化の条件を満たすNICのVFとブレードの組み合わせにおいて、数式2のメモリ関数Wの計算値が最小である組み合わせを選択する。
次に、図2〜5のフローチャートを参照して、NICのVFのブレードへの割当てに伴う処理動作について説明する。
まず、図2を用いて、NICのVFのブレードへの割当て処理動作について説明する。この実施例では、ブレードへのNICのVFの割当てを、ユーザが手動または自動で設定するか選択可能である。自動で設定する場合は、NICのVFをブレードに割り当てる条件(本実施例においては、I/O帯域の負荷均一化の条件901、メモリサイズに応じた割当ての条件902、I/O帯域を負荷均一化、かつ、メモリサイズに応じた割当ての条件903)からユーザが1つ選択肢を選択する。
まず、図2を用いて、NICのVFのブレードへの割当て処理動作について説明する。この実施例では、ブレードへのNICのVFの割当てを、ユーザが手動または自動で設定するか選択可能である。自動で設定する場合は、NICのVFをブレードに割り当てる条件(本実施例においては、I/O帯域の負荷均一化の条件901、メモリサイズに応じた割当ての条件902、I/O帯域を負荷均一化、かつ、メモリサイズに応じた割当ての条件903)からユーザが1つ選択肢を選択する。
図2において、NICのVFのブレードへの割当て処理動作が開始すると、管理サーバ6は、各ブレードサーバのNICからの情報(即ち各NICのVF数、各ブレードサーバ内のブレード数、各ブレードのメモリサイズ、各シャーシ間接続ケーブルの最大I/O帯域消費量)を、LANスイッチ5を経由してハードウェア情報受信部61で受信する(S201)。
次に、ユーザが管理端末7を通して、NICのVFのブレードへの割当てを手動で行うか自動で行うかを選択すると、その選択は管理サーバ6へ送信される(S202)。
次に、ユーザが管理端末7を通して、NICのVFのブレードへの割当てを手動で行うか自動で行うかを選択すると、その選択は管理サーバ6へ送信される(S202)。
管理サーバ6は、管理端末7から送られる、NICのVFの割当て選択が、手動または自動かを判断する(S203)。判断の結果、手動による設定の場合は(S203Yes)、管理端末7に表示されるNICのVF・ブレード関連付け演算結果DB63(図7)の情報からで、ユーザはVF・ブレード組み合わせの番号1の行に、VFに対応するブレード番号を入力し、NICのVFとブレードの組み合わせを決定する(S204)。
管理サーバ6は、NICのVFのBus・Function番号及びVF番号、ブレード番号といったVF・ブレードの関連付け情報をNICのVF・ブレード関連付け演算結果送信部64から送信する(S206)。SVP114、214、314は管理LAN45を経由して、関連付け情報を取得する。そして、SVP114、214、314は、それぞれNICのVF・ブレード関連付けテーブル113、213、313を関連付け情報に従って書き換える(S206)。ブレードサーバ1〜3のNICのVFは、NICのVF・ブレード関連付けテーブルに従って、割当てられるブレードが変更され(S207)、処理が完了する(S208)。
上記手動か自動かの判断において(S203)、自動による設定の場合は、管理端末7に表示される管理画面(図9)から、ユーザはNICのVFをブレードに割り当てる条件(本例ではI/O帯域の負荷均一化の条件901、メモリサイズに応じた割当ての条件902、I/O帯域を負荷均一化かつ、メモリサイズに応じた割当ての条件903)から1つ条件を選択する(S212)。そして、NICのVFをブレードに割り当てる条件を満たすVFとブレードの関連付けの自動計算の処理を行う(S213)。その後は、処理S205を経て、処理の完了となる(S208)。なお、処理S213については図3を参照して詳述する。
次に、図3のフローチャートを参照して、NICのVFをブレードに割り当てる条件を満たすVFとブレードの関連付けの自動計算処理動作について説明する。
ハードウェア情報受信部61は、管理端末7から送信され情報を受信し、その受信した情報をVF・ブレード関連付け演算部62へ送信する(S301)。VF・ブレード関連付け演算部62は、受信した情報から、全てのNICのVFとブレードの組み合わせを列挙し、図7のVF・ブレード関連付けテーブルを作成する(S302)。そして、数式1における帯域関数Vと組み合わせ(NICのVF・ブレード)を関連付けるために、図7におけるVFとブレードの各組み合わせにおいて数式1を計算し、VF・ブレードの関連付け演算結果DB63(図8)の帯域関数Vの列に値を格納する(S303)。例えば、図8では、1つのNICのVFが他ブレードサーバのブレードに割当てられたときのI/O帯域消費量を1と仮定している。NICのVF・ブレード組み合わせ番号14では、ブレードサーバ2のVF2121がブレードサーバ3のブレード31に割当てられ、ブレードサーバ3のVF3121がブレードサーバ2のブレード21に割当てられるので、シャーシ間接続ケーブル72のI/O帯域消費量は、X2,3=1+1=2と求めることができる。同様にして、X1,2=1、X1,3=0である。数式1におけるAはNICのVFとブレードの全ての組み合わせにおけるXi,jの平均値であり、Vの値を図8に格納する。
ハードウェア情報受信部61は、管理端末7から送信され情報を受信し、その受信した情報をVF・ブレード関連付け演算部62へ送信する(S301)。VF・ブレード関連付け演算部62は、受信した情報から、全てのNICのVFとブレードの組み合わせを列挙し、図7のVF・ブレード関連付けテーブルを作成する(S302)。そして、数式1における帯域関数Vと組み合わせ(NICのVF・ブレード)を関連付けるために、図7におけるVFとブレードの各組み合わせにおいて数式1を計算し、VF・ブレードの関連付け演算結果DB63(図8)の帯域関数Vの列に値を格納する(S303)。例えば、図8では、1つのNICのVFが他ブレードサーバのブレードに割当てられたときのI/O帯域消費量を1と仮定している。NICのVF・ブレード組み合わせ番号14では、ブレードサーバ2のVF2121がブレードサーバ3のブレード31に割当てられ、ブレードサーバ3のVF3121がブレードサーバ2のブレード21に割当てられるので、シャーシ間接続ケーブル72のI/O帯域消費量は、X2,3=1+1=2と求めることができる。同様にして、X1,2=1、X1,3=0である。数式1におけるAはNICのVFとブレードの全ての組み合わせにおけるXi,jの平均値であり、Vの値を図8に格納する。
次に、数式2におけるメモリ関数Wと組み合わせ(NICのVF・ブレード)を関連付けるために、図7におけるVFとブレードの各組み合わせにおいて数式2を計算して、VF・ブレードの関連付け演算結果DB63(図8)のメモリ関数Wの列に値を格納する(S304)。数式2におけるqはブレードの総数である。Miはブレードiのメモリサイズであり、ブレードによって異なる値をとる。図8では、
q=3, M11=2, M21=1, M31=0.8
である。Yiはブレードiに割当てられる仮想マシンの合計メモリ消費量である。仮想マシンが消費するメモリはVFの実行に必要なメモリのみで、1つのVFが消費するメモリは一定値と仮定とする。数式2では、Wの値が小さければ小さい程、各ブレードの搭載メモリサイズに比例した数の仮想マシンが割り当られていることを意味する。
q=3, M11=2, M21=1, M31=0.8
である。Yiはブレードiに割当てられる仮想マシンの合計メモリ消費量である。仮想マシンが消費するメモリはVFの実行に必要なメモリのみで、1つのVFが消費するメモリは一定値と仮定とする。数式2では、Wの値が小さければ小さい程、各ブレードの搭載メモリサイズに比例した数の仮想マシンが割り当られていることを意味する。
その後、VFのブレードへの割当条件がメモリサイズに応じた割当てか否かを判断する(S305)。この判断において、先の処理S212で、ユーザが管理端末7からVFのブレードへの割当て条件として、メモリサイズに応じた割当ての条件902を選択している場合は、メモリサイズに応じた割当ての条件を満たす仮想マシンとVFとブレードの関連付けの自動計算の処理(図4)に移行する(S306)。一方、ユーザが管理端末7よりI/O帯域の負荷均一化の条件901、またはI/O帯域を負荷均一化かつメモリサイズに応じた割当ての条件903を選択している場合は、それらの条件を満たす処理(図5)に移行する(S307)。
次に、図4のフローチャートを参照して、メモリサイズに応じた割当ての条件を満たす仮想マシンとVFとブレードの関連付けの自動計算の処理動作について説明する。
この自動計算の処理が開始すると、まず、VF・ブレードの関連付け演算結果DB63(図8)の帯域関数V、メモリ関数Wと組み合わせの関連付けをメモリ関数Wの値で昇順にソートする(S401)。メモリ関数Wの計算値が1番小さいNICのVF・ブレードの組み合わせから順に、各シャーシ間接続そして、ケーブルの値が最大I/O帯域消費量を越えない組み合わせの中で、メモリ関数Wの計算値が最小の組み合わせをチェックする(S402)。VF・ブレードの関連付け演算結果DB63(図8)において、メモリ関数Wの計算値が最小の組み合わせは、NICのVF・ブレード組み合わせは番号16、19、22である。ここで、各シャーシ間接続ケーブルの最大I/O帯域消費量を3と仮定した場合、これらの組み合わせは最大I/O帯域消費量を越えない組み合わせである(S402)。
この自動計算の処理が開始すると、まず、VF・ブレードの関連付け演算結果DB63(図8)の帯域関数V、メモリ関数Wと組み合わせの関連付けをメモリ関数Wの値で昇順にソートする(S401)。メモリ関数Wの計算値が1番小さいNICのVF・ブレードの組み合わせから順に、各シャーシ間接続そして、ケーブルの値が最大I/O帯域消費量を越えない組み合わせの中で、メモリ関数Wの計算値が最小の組み合わせをチェックする(S402)。VF・ブレードの関連付け演算結果DB63(図8)において、メモリ関数Wの計算値が最小の組み合わせは、NICのVF・ブレード組み合わせは番号16、19、22である。ここで、各シャーシ間接続ケーブルの最大I/O帯域消費量を3と仮定した場合、これらの組み合わせは最大I/O帯域消費量を越えない組み合わせである(S402)。
ここで、処理S402で得た組み合わせが複数存在するか判断して(S403)、その結果もし複数の組合せが存在する場合は、ユーザが管理端末7より任意の1つの組み合わせを選択する。図8の例では、NICのVF・ブレード組み合わせは番号16、19、22の3個存在するので、この中からユーザが管理端末7を通して1つ選択する(S404)。S402で得た組み合わせが1つの場合は、その組み合わせが選択され、処理を終了する(S405)。
次に、図5のフローチャートI/O帯域の負荷均一化の条件901、またはI/O帯域を負荷均一化、かつメモリサイズに応じた割当ての条件903を満たす仮想マシンとVFとブレードの関連付けの自動計算の処理動作について説明する。
この自動計算の処理が開始すると、まず、VF・ブレードの関連付け演算結果DB63(図8)の帯域関数V、メモリ関数Wと組み合わせの関連付けを、帯域関数Vの値で昇順にソートする(S501)。帯域関数Vの計算値が1番小さいNICのVF・ブレードの組み合わせから順に、各シャーシ間接続ケーブルの値が最大I/O帯域消費量を越えない組み合わせの中で、帯域関数Vの計算値が最小の組み合わせをチェックする。図8の例では、帯域関数Vの計算値が最小の組み合わせは、NICのVF・ブレード組み合わせ番号15、23である。ここで、各シャーシ間接続ケーブルの最大I/O帯域消費量を3と仮定した場合、これらの組み合わせは最大I/O帯域消費量を越えない組み合わせである(S502)。処理S502で得られた組み合わせが1つの場合は、その組み合わせが選択され、一連の処理を終了する(S503、S508)。
この自動計算の処理が開始すると、まず、VF・ブレードの関連付け演算結果DB63(図8)の帯域関数V、メモリ関数Wと組み合わせの関連付けを、帯域関数Vの値で昇順にソートする(S501)。帯域関数Vの計算値が1番小さいNICのVF・ブレードの組み合わせから順に、各シャーシ間接続ケーブルの値が最大I/O帯域消費量を越えない組み合わせの中で、帯域関数Vの計算値が最小の組み合わせをチェックする。図8の例では、帯域関数Vの計算値が最小の組み合わせは、NICのVF・ブレード組み合わせ番号15、23である。ここで、各シャーシ間接続ケーブルの最大I/O帯域消費量を3と仮定した場合、これらの組み合わせは最大I/O帯域消費量を越えない組み合わせである(S502)。処理S502で得られた組み合わせが1つの場合は、その組み合わせが選択され、一連の処理を終了する(S503、S508)。
一方、処理S502で得られた組み合わせが複数の場合は(S503Yes)、先のS212で、ユーザが管理端末7より選択した条件が、I/O帯域の負荷均一化の条件901またはI/O帯域を負荷均一化、かつ、メモリサイズに応じた割当ての条件903によって分岐する(S503、S504)。I/O帯域の負荷均一化の条件901が選択された場合は、ユーザが管理端末7より任意に1つの組み合わせを選択し(S507)、処理を終了する(S508)。
I/O帯域を負荷均一化、かつ、メモリサイズに応じた割当ての条件903が選択された場合は、処理S502で得られた組み合わせの中から、メモリ関数Wの計算値が最小の組み合わせをチェックする。図8の例では、処理S502で得られたVF・ブレード組み合わせは番号15、23であり、これらはメモリ関数Wの計算値が等しいので、2つの組み合わせが得られる(S505)。処理S505で得られた組み合わせが、1つの場合は処理を終了する(S508)。複数の場合はユーザが管理端末7より任意に1つの組み合わせを選択して(S507)、処理を終了する。
以上、本発明の好ましい実施例について説明したが、本発明は上記実施例に限定されず、種々変形、応用して実施し得る。
例えば、上記実施例では、複数のブレードサーバ間でPCIeデバイスが持つVFを複数のブレードへ割当てる例について述べたが、他の例によれば、NICのVFはブレードに限らず、サーバが持つ仮想マシンに割り当てることも可能である。その割当て方法は上記した実施例と実質的に変わらない。
例えば、上記実施例では、複数のブレードサーバ間でPCIeデバイスが持つVFを複数のブレードへ割当てる例について述べたが、他の例によれば、NICのVFはブレードに限らず、サーバが持つ仮想マシンに割り当てることも可能である。その割当て方法は上記した実施例と実質的に変わらない。
1:ブレードサーバ 5:LANスイッチ 6:管理サーバ 7:管理端末 11:ブレード 45:LANケーブル 61:ハードウェア情報受信部 62:VF・ブレード関連付け演算部 63:VF・ブレード関連付け演算結果DB 64:VF・ブレード関連付け演算結果送信部 73:PCIeシャーシ間接続ケーブル 111:PCIeスイッチ 112:NIC 113:VF・ブレード関連付けテーブル 114:SVP 116:ポート 1121:VF
Claims (13)
- お互いにサーバシャーシ間接続ケーブルで接続される複数のサーバと、複数の仮想的な機能(VF(Virtual Function)という)を持つ、PCI Express(PCIeという)仕様に基づくPCIeデバイスと、該サーバと該PCIeデバイスを接続するPCIeスイッチとを有する計算機システムであって、
該サーバに該PCIeデバイスのVFを割当てる際に、該サーバシャーシ間接続ケーブルが持つI/O帯域最大消費量を超えないように、該PCIeデバイスのVFを割当てることを特徴とする計算機システム。 - 前記PCIeデバイスのVFを割当てる際に、前記サーバシャーシ間接続ケーブルのI/O帯域消費量を均一化し、かつ前記サーバシャーシ間接続ケーブルのI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割当てることを特徴とする請求項1の計算機システム。
- 前記PCIeデバイスのVFを割当てる際に、前記サーバに搭載されたメモリのサイズに応じた数の前記PCIeデバイスのVFを割当て、かつ前記サーバシャーシ間接続ケーブルI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割り当てることを特徴とする請求項1の計算機システム。
- 前記PCIeデバイスのVFを割当てる際に、前記サーバシャーシ間接続ケーブルのI/O帯域消費量を均一化し、かつ、前記サーバに搭載されたメモリのサイズに応じた数の前記PCIeデバイスのVFを割当て、かつ前記サーバシャーシ間接続ケーブルのI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割り当てることを特徴とする請求項1の計算機システム。
- 複数の前記サーバに備えられた各PCIeスイッチがリング状に接続されることを特徴とする請求項1乃至4のいずれかの項記載の計算機システム。
- 前記サーバは、それぞれCPUやメモリのユニットを内蔵しデータ処理を行うブレードを複数有するブレードサーバであり、前記VFを、複数の該ブレードサーバ間で該ブレードに割り当てることを特徴とする請求項1乃至5のいずれかの項記載の計算機システム。
- 前記PCIeスイッチは、
Bus番号は、前記PCIeデバイスを識別するBus識別情報と、前記PCIeデバイスの該VFを識別する機能(Function)識別情報と、前記ブレードを識別するブレード識別情報を記憶して、前記VFと前記ブレードを関連付けするVF・ブレード関連付けテーブルを有し、
該VFの該ブレードへの割当てを満たす条件に従って、該VF・ブレード関連付けテーブルの該ブレード識別情報を書き換え、
書き換えられた該VF・ブレード関連付けテーブルの内容に従って、該VFが割り当てられる該ブレードを変更する
ことを特徴とする請求項6記載の計算機システム。 - お互いにサーバシャーシ間接続ケーブルで接続される複数のサーバと、複数の仮想的な機能(VF(Virtual Function)という)を持つ、PCI Express(PCIeという)仕様に基づくPCIeデバイスと、該サーバと該PCIeデバイスを接続するPCIeスイッチとを有する計算機システムにおけるPCIeデバイスの割当方法であって、
該サーバに該PCIeデバイスのVFを割当てる際に、該サーバシャーシ間接続ケーブルが持つI/O帯域最大消費量を超えないように、該PCIeデバイスのVFを割当てることを特徴とするPCIeデバイスの割当方法。 - 前記PCIeデバイスのVFを割当てる際に、前記サーバシャーシ間接続ケーブルのI/O帯域消費量を均一化し、かつ前記サーバシャーシ間接続ケーブルのI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割当てることを特徴とする請求項10のPCIeデバイスの割当方法。
- 前記PCIeデバイスのVFを割当てる際に、前記サーバに搭載されたメモリのサイズに応じた数の前記PCIeデバイスのVFを割当て、かつ前記サーバシャーシ間接続ケーブルI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割り当てることを特徴とする請求項10のPCIeデバイスの割当方法。
- 前記PCIeデバイスのVFを割当てる際に、前記サーバシャーシ間接続ケーブルのI/O帯域消費量を均一化し、かつ、前記サーバに搭載されたメモリのサイズに応じた数の前記PCIeデバイスのVFを割当て、かつ前記サーバシャーシ間接続ケーブルのI/O帯域最大消費量を超えないように、前記PCIeデバイスのVFを割り当てることを特徴とする請求項10のPCIeデバイスの割当方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012020911A JP2013161165A (ja) | 2012-02-02 | 2012-02-02 | 計算機システム及びPCIeデバイスの割当方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012020911A JP2013161165A (ja) | 2012-02-02 | 2012-02-02 | 計算機システム及びPCIeデバイスの割当方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013161165A true JP2013161165A (ja) | 2013-08-19 |
Family
ID=49173382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012020911A Pending JP2013161165A (ja) | 2012-02-02 | 2012-02-02 | 計算機システム及びPCIeデバイスの割当方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013161165A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101756049B1 (ko) | 2013-12-20 | 2017-07-07 | 퀄컴 인코포레이티드 | 가상 환경에서 주변 컴포넌트 인터커넥트 익스프레스 (pcie) 디바이스를 사용하는 방법 |
CN115484212A (zh) * | 2022-07-26 | 2022-12-16 | 浪潮通信技术有限公司 | VF的QoS调整方法、装置及电子设备 |
-
2012
- 2012-02-02 JP JP2012020911A patent/JP2013161165A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101756049B1 (ko) | 2013-12-20 | 2017-07-07 | 퀄컴 인코포레이티드 | 가상 환경에서 주변 컴포넌트 인터커넥트 익스프레스 (pcie) 디바이스를 사용하는 방법 |
CN115484212A (zh) * | 2022-07-26 | 2022-12-16 | 浪潮通信技术有限公司 | VF的QoS调整方法、装置及电子设备 |
CN115484212B (zh) * | 2022-07-26 | 2023-10-20 | 浪潮通信技术有限公司 | VF的QoS调整方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036556B1 (en) | Concurrent program execution optimization | |
US9769084B2 (en) | Optimizing placement of virtual machines | |
US8881165B2 (en) | Methods, computer systems, and physical computer storage media for managing resources of a storage server | |
US10572290B2 (en) | Method and apparatus for allocating a physical resource to a virtual machine | |
CN107534583B (zh) | 在管理节点中实现的方法和相关装置 | |
CN107688492B (zh) | 资源的控制方法、装置和集群资源管理*** | |
CN109729106B (zh) | 处理计算任务的方法、***和计算机程序产品 | |
CN109660376B (zh) | 一种虚拟网络映射方法、设备和存储介质 | |
US9009421B2 (en) | Dynamically improving memory affinity of logical partitions | |
CN103609077B (zh) | 用于数据传输的方法、装置和***以及物理网卡 | |
CN109960575B (zh) | 一种计算能力共享方法、***及相关设备 | |
EP3211530A1 (en) | Virtual machine memory management method, physical main machine, pcie device and configuration method therefor, and migration management device | |
US10409519B2 (en) | Interface device, and computer system including interface device | |
CN113238848A (zh) | 一种任务调度方法、装置、计算机设备和存储介质 | |
US20170093963A1 (en) | Method and Apparatus for Allocating Information and Memory | |
JP6974510B2 (ja) | データを処理するための方法、装置、デバイス及び媒体 | |
JP2013161165A (ja) | 計算機システム及びPCIeデバイスの割当方法 | |
JP2012248114A (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
CN116483740B (zh) | 内存数据的迁移方法、装置、存储介质及电子装置 | |
TW201805833A (zh) | 設備分配控制器以及設備分配方法 | |
US8677050B2 (en) | System, method and computer program product for extending a cache using processor registers | |
CN105718297A (zh) | 虚拟机建立***以及方法 | |
CN116610422A (zh) | 一种任务调度方法、装置和*** | |
JP2008310610A (ja) | システム構成管理方法 | |
JP2015141459A (ja) | システム制御装置、制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20140908 |