JP6072084B2 - 仮想計算機システムおよび仮想計算機システムのデータ転送制御方法 - Google Patents

仮想計算機システムおよび仮想計算機システムのデータ転送制御方法 Download PDF

Info

Publication number
JP6072084B2
JP6072084B2 JP2014559459A JP2014559459A JP6072084B2 JP 6072084 B2 JP6072084 B2 JP 6072084B2 JP 2014559459 A JP2014559459 A JP 2014559459A JP 2014559459 A JP2014559459 A JP 2014559459A JP 6072084 B2 JP6072084 B2 JP 6072084B2
Authority
JP
Japan
Prior art keywords
count
value
bandwidth
data transfer
threshold
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
Application number
JP2014559459A
Other languages
English (en)
Other versions
JPWO2014118969A1 (ja
Inventor
陽介 山田
陽介 山田
雄策 清田
雄策 清田
徹 井場
徹 井場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2014118969A1 publication Critical patent/JPWO2014118969A1/ja
Application granted granted Critical
Publication of JP6072084B2 publication Critical patent/JP6072084B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Description

本発明は、ファイバチャネルに接続されるHBA(Host Bus Adapter)を、複数の仮想計算機で共用する技術に関する。
計算機の仮想化技術およびクラウドコンピューティング技術の発展により、ホスト計算機における物理的な計算機資源を、複数の仮想的なゲスト計算機(仮想計算機)で共用して利用するシステムは、一般的に利用されるようになってきている。仮想計算機システムでは、物理的な計算機資源を効率的に利用しやすくなる反面、適切にゲスト計算機間の負荷を制御しなければならない。ゲスト計算機の負荷を制御しない場合、複数のゲスト計算機間で共用している計算機資源を1つのゲスト計算機が占有したり、重要なゲスト計算機のために確保しておきたい計算機資源を、重要でないゲスト計算機が使ってしまったりする可能性がある。
近年は、ミッションクリティカルな分野で仮想計算機システムが用いられる事例も増加傾向にあり、各々のゲスト計算機に割り当てる計算機資源を制御する機能はますます重要となってくると考えられる。特に、ディスク装置と通信するために用いられるファイバチャネルHBAは、ゲスト計算機とディスク装置またはSAN(Storage Area Network)とのインターフェースとして重要な役割を担っている。このため、多数のゲスト計算機が存在する仮想計算機システムにおいても、各々のゲスト計算機に対して、効率良くファイバチャネルHBAの帯域を割り当てられる技術の実現が求められている。
特許文献1は、ネットワークにおけるパケット転送装置において帯域制御を実現した例である。特許文献1では、通信インターフェースにおいて送信パケットのサイズを解析することにより、送信するデータの量を検出し、パケットを送信するタイミングを制御することで帯域制御を実現していた。
非特許文献1は、仮想化ソフトウェアを用いて複数のゲスト計算機間で共有される、ファイバチャネルHBAの帯域制御を行う例である。非特許文献2では、仮想化ソフトウェアにおけるI/O数を、SCSI I/O単位で計測し、帯域を制御するものである。
特開2006−109299号公報
"FIBER CHANNEL Physical Interface-4 (FC-PI-4) Rev.7.00"、Chapter.6、Table 6、 Single-mode link classes1 (OS1, OS2) 800-SMLC-L: Data rate: 800MB/s、[online]、Global Engineering、2007年9月20日、[平成25年1月15日検索] 「VMware vSphere 5.0 評価ガイド Vol.2: 高度なストレージ機能テクニカル ホワイト ペーパー」、第48頁 IOPS 制限の効果の確認、[online]、ヴイエムウェア株式会社、[平成25年1月15日検索]
ファイバチャネルHBAにおいて、1つの物理的なHBAポートから発行可能な1秒あたりのデータ送受信量(MB/s)は、共通規格(例えば、非特許文献1)によって定められている。例えば、8Gbpsファイバチャネルにおいては、800MB/sである。このため、このHBAポートを共有する各々のゲスト計算機が使用できる1秒あたりのデータ送受信量を保障するためには、各々のゲスト計算機の所定の周期あたりのデータ送受信量に閾値を設け、データ送受信量の合計がファイバチャネルHBAの規格(8Gbpsの場合は800MB/s)を超えないように制御することが必要である。
上記非特許文献2の手法は、SCSI I/O数とデータ送受信量が比例するものと見なしてSCSI I/O数をカウントすることにより負荷を推定し、SCSI I/Oの数を制御する手法である。この手法を用いると、「1つのSCSI I/Oあたりのデータ送受信量」が常に一定ならば、ファイバチャネルHBAにおける各々のゲスト計算機の制御間隔あたりのデータ送受信量を制御できる。しかし、「1つのSCSI I/Oあたりのデータ送受信量」がゲスト計算機によって異なる場合は、SCSI I/O数がデータ送受信量に比例するという仮定が成り立たないため、各々のゲスト計算機の制御間隔あたりのデータ送受信量のカウント値と、実際のデータ通信量との間の誤差が大きくなるという課題があった。
たとえば、ゲスト計算機1とゲスト計算機2の間で、ゲスト計算機2のデータ送受信量をゲスト計算機1の100分の1に制限するために、ゲスト計算機2のコマンド数をゲスト計算機1の100分の1となるように制限したと仮定する。このとき、ゲスト計算機2の「1つのSCSI I/Oあたりのデータ送受信量」がゲスト計算機1の100倍であれば、ゲスト計算機2のSCSI I/O数をゲスト計算機1の100分の1に抑えることができたとしても、ゲスト計算機2のデータ送受信量はゲスト計算機1のデータ送受信量とほぼ同じとなる。その場合、ゲスト計算機2のデータ送受信量をゲスト計算機1の100分の1に抑えるという目的は達成できない、という課題があった。
データ送受信量に基づいて帯域制御を実現した例として、上記特許文献1が知られている。しかしながら、特許文献1の手法では、実際にパケットを送信する前に、パケットのデータ量を、「制御間隔あたりのデータ送信量を保持するカウント値」に加算しているため、カウント値と実際のデータ送受信量との間に誤差が生じる可能性がある。
例として、フレームサイズ8MBのSCSI I/Oコマンドを送受信する場合を考える。この場合、データ送受信開始から1ミリ秒経過した時点では、実際には800KB分のデータしか送受信できていないにもかかわらず、特許文献1の手法では、8MBのデータを送受信したとカウントする。つまり、特許文献1の手法は、1つのI/Oコマンドで送受信するデータサイズが大きくなるほどに、カウント値と実際に使用しているデータ送受信量との誤差が大きくなる、という課題があった。
一方、データベースの分野ではSCSIに準じた通信を行う際に、1つのSCSIコマンドで転送するデータ量を大きく(1MB程度)設定することがある。この様な分野では、「1つのI/Oコマンドで転送するデータサイズが大きくなったとしても、カウント値と実際に使用しているデータ送受信量との誤差が変わらない」手法が求められていた。
本発明は、プロセッサとメモリとを備えた計算機と、前記計算機の資源を仮想化して1以上の仮想計算機に割り当てる仮想化部と、を備えた仮想計算機システムであって、前記計算機は、ストレージ装置に接続されるアダプタを有し、前記アダプタは、前記ストレージ装置との間でデータを送受信し、当該送受信したデータの転送量とI/O回数とを前記仮想計算機毎に測定する転送処理部と、前記データの転送量とI/O回数を前記仮想計算機毎に格納するカウンタと、を有し、前記仮想計算機は、前記ストレージ装置との間で送受信するデータを保持するキューと、前記データの転送量とI/O回数を制御する帯域制御部と、前記データの転送量を格納する帯域値と、前記I/O回数を格納するI/O回数値と、前記データの転送量の上限値を格納する帯域閾値と、前記I/O回数の上限値を格納するI/O回数閾値と、を有し、前記仮想化部は、前記アダプタのカウンタから取得した前記データの転送量とI/O回数に基づいて、前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機毎に演算する閾値演算部を有し、前記閾値演算部は、所定の周期が経過する度に、前記アダプタから前記データの転送量とI/O回数を取得して、所定のルールに基づいて前記取得した前記データの転送量とI/O回数から、前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機毎に演算し、当該演算した前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機に通知し、前記帯域制御部は、前記キューから出力する度にデータの転送量を前記帯域値に加算し、前記I/O回数を前記I/O回数値に加算して、前記帯域値が帯域閾値以下で、かつ前記I/O回数値がI/O回数閾値以下であれば前記キューからデータを出力し、前記閾値演算部の前記データの転送量の上限値と前記I/O回数の上限値の通知を受信したことに基づいて、前記仮想計算機の帯域値と、前記I/O回数値とをリセットする。
本発明により、ストレージ装置に接続されるアダプタ(例えば、HBA)のI/Oについて、I/O回数に基づく帯域制御のみでなく、実際に各ゲスト計算機が送受信したデータ量に基づく帯域制御を実現することが可能となる。これにより、従来のI/O回数のみによる帯域制御に対して、HBAの帯域を超えることなく各ゲスト計算機毎に正確な帯域制御が実現できる。
本発明の実施例を示し、仮想計算機システムの一例を示すブロック図である。 本発明の実施例を示し、ハイパバイザの一例を示すブロック図である。 本発明の実施例を示し、ゲスト計算機の一例を示すブロック図である。 本発明の実施例を示し、HBAの一例を示すブロック図である。 本発明の実施例を示し、仮想計算機システムで行われるSCSI I/O処理の一例を示すシーケンス図である。 本発明の実施例を示し、仮想計算機システムで行われる閾値更新処理の一例を示すシーケンス図である。 本発明の実施例を示し、ハイパーバイザが管理する閾値更新ルールの一例を示す図である。 本発明の実施例を示し、コマンド数とデータ量と目標帯域の関係を示す図である。 本発明の実施例を示し、仮想WWNテーブルの一例を示す図である。
以下、本発明を適用する仮想計算機システムについて、図面を参照して詳細に説明する。
図1は、本発明の仮想計算機システムの一例を示すブロック図である。図1において、ホスト計算機100は、演算を実行する複数の物理プロセッサ109−1〜109−nと、データやプログラムを格納する物理メモリ114と、LAN280と通信を行うNIC(Network Interface Card)270と、SAN(Storage Area Network)250を介してストレージ装置260を制御するファイバチャネルHBA(HOST BUS ADAPTER)210と、ファイバチャネルHBA210及びNIC270と各物理プロセッサ109−1〜109−nとを接続するチップセット108と、を備える。
ハイパーバイザ(仮想化部)170は、ホスト計算機100の物理プロセッサ109−1〜109−nや物理メモリ114等の物理計算機資源を分割して仮想計算機資源300(図2参照)を生成し、仮想プロセッサや仮想メモリなどの仮想計算機資源(または論理計算機資源)をゲスト計算機(または仮想計算機)1〜n(105−1〜105−n)に割り当てることで、ゲスト計算機105−1〜105−nをホスト計算機100上に構成する。
なお、ゲスト計算機n(105−n)も、ゲスト計算機1(105−1)と同様の構成であるため、本実施例ではゲスト計算機n(105−n)の説明を省略し、ゲスト計算機1(105−1)について説明する。なお、以下では、ゲスト計算機105−1〜105−nの総称を符号105で表記し、物理プロセッサ109−1〜109−nの総称を符号109で表記する。以下、他の符号についても同様であり、構成要素の総称を示す符号は”−”以降を削除した符号を用いる。
<概要>
本発明は、ファイバチャネルHBA(以下、HBAとする)210を複数のゲスト計算機105で共有し、各ゲスト計算機105がそれぞれ使用するHBA210の帯域とI/O回数の上限値をハイパーバイザ170が決定し、各ゲスト計算機105の仮想ドライバに含まれる帯域制御部がHBA210の帯域とI/O回数を規制する。
このため、各ゲスト計算機105が使用したHBA210の帯域(データ量)とI/O回数を、HBA210の転送処理部がゲスト計算機105毎に測定する。そして、ハイパーバイザ170は、所定の時間間隔(例えば、10msec)ごとに、各ゲスト計算機105が使用した帯域とI/O回数をHBA210から取得して、各ゲスト計算機105がそれぞれ使用するHBA210の帯域の上限値である帯域閾値と、I/O回数(以下IOPSとする)の上限値であるIOPS閾値(I/O回数閾値)とを算出して更新する。なお、IOPS閾値は、所定の時間間隔あたりにゲスト計算機105が発行可能なI/O数である。帯域閾値は、所定の時間間隔あたりにゲスト計算機105が発行可能なデータの送受信量である。なお、所定の時間間隔としては、ゲストOS125のタイマ割り込みの周期等を用いるようにしてもよい。
ゲスト計算機105は、後述するように所定のタイミングで帯域閾値と、IOPS閾値をハイパーバイザ170から取得し、仮想ドライバに含まれる帯域制御部が、HBA210の帯域を制御する。
<ハイパーバイザ>
図2は、ハイパーバイザ170の一例を示すブロック図である。
ハイパーバイザ170は、ゲスト計算機105を制御するためのプログラムであり、ホスト計算機100の物理メモリ114にロードされて、物理プロセッサ109によって実行される。
ハイパーバイザ170は、ホスト計算機100の物理プロセッサ109−1〜109−nや物理メモリ114等の物理資源を分割し、仮想プロセッサ301−1〜301−nや仮想メモリ302−1〜302−n及び仮想HBA303−1〜303−nを仮想計算機資源300として生成し、ゲスト計算機1〜n(105−1〜105−n)に割り当てる。なお、図示はしないが、NIC270についても、HBA210と同様にハイパーバイザ170が仮想NICをゲスト計算機105に提供する。
ハイパーバイザ170は、ゲスト計算機105−1〜105−nに割り当てる仮想HBA303−1〜303−nのそれぞれについて、仮想WWN(図中VWWN−1〜VWWN−n)を割り当てる。そして、ハイパーバイザ170は、仮想HBA303に仮想WWN(World Wide Name)を割り当てる度に、当該仮想WWNと当該仮想HBA303を割り当てたゲスト計算機105の識別子を物理的なHBA210へ通知する。
HBA210は、SCSI I/O(以下、単にI/Oとする)を受け付けると、上記通知された仮想WWNとゲスト計算機105の識別子からI/Oの発行元のゲスト計算機105を特定する。なお、ハイパーバイザ170が仮想HBA303−1〜303−nに割り当てる仮想WWN−1〜VWWN−nの値は、仮想計算機システム内でユニークであれば良い。
そして、上述のようにゲスト計算機105毎のHBA210に対するI/Oの帯域とI/OPSを制御するため、ハイパーバイザ170は、I/Oの帯域閾値とIOPS閾値を算出する閾値計算部185と、閾値を更新する際のルールを保持する閾値更新ルール186と、HBA210を制御するための物理ドライバ187を有する。なお、図示はしないが、ハイパーバイザ170は、NIC270などの他のデバイスについても物理ドライバを備えて制御する。また、図2において、仮想計算機資源(または論理計算機資源)の提供については、公知または周知の技術を適用すれば良いので、本実施例では説明しない。
ハイパーバイザ170は、物理メモリ114の所定の領域を使用し、データやプログラムを保持する。ハイパーバイザ170は、ゲスト計算機1〜n(105−1〜105−n)のそれぞれについて、HBA210から取得したIOPSを格納するIOPS値(I/O回数値)1〜n(190−1〜190−n)と、閾値計算部185が算出したIOPS閾値を格納するIOPS閾値1〜n(200−1〜200−n)と、HBA210から取得したI/Oの帯域(データ転送量)を格納する帯域値1〜n(195−1〜195−n)および閾値計算部185が算出したI/Oの帯域閾値を格納する帯域閾値1〜n(205−1〜205−n)を保持する。
閾値計算部185は閾値計算プログラムで構成され、物理メモリ114の所定の領域にロードされて、物理プロセッサ109で実行される。
閾値計算部185は、HBA210が測定したIOPSカウンタ1〜n(235−1〜n:図4参照)の値と、帯域カウンタ1〜n(240−1〜240−n:図4参照)の値を取得し、上記ハイパーバイザ170のIOPS値190および帯域値195に格納し、閾値計算部185がIOPS閾値200および帯域閾値205を更新する。そして、閾値計算部185からの閾値更新完了の通知に基づいて、仮想ドライバ130はIOPS値1’(150)と帯域値1’(155)をリセットする。
なお、ハイパーバイザ170は、ゲスト計算機105−1〜105−nの仮想ドライバ130からI/Oの要求(リード要求またはライト要求)を受け付けると、物理ドライバ187でI/O要求を物理的なHBA210に転送する。そして、I/O要求には仮想HBA303−1〜303−nの仮想WWNを付与することで、ハイパーバイザ170及び物理的なHBA210はI/Oの発行元のゲスト計算機105−1〜105−nを特定することができるのである。
また、ハイパーバイザ170は、LAN280を介して図示しない管理計算機などからゲスト計算機の生成、起動または停止、削除の指令を受けて付けて仮想計算機資源の割り当てを制御する。
図7は、ハイパーバイザ170が管理する閾値更新ルール186の一例を示す図である。閾値更新ルール186は、ゲスト計算機105−1〜105−nの識別子を格納するエントリ1861と、各ゲスト計算機105毎の閾値更新ルールを格納するルール1862のエントリを備え、ゲスト計算機105−1〜105−nに対応するフィールドを有する。ルール1862は、LAN280を介して図示しない管理計算機などから受け付けた値を格納する。ここで、ルール1862が「増大」のゲスト計算機105では、IOPS値150がIOPS閾値140を超えたり、帯域値155が帯域閾値145を超えた場合、次回の制御間隔で用いる帯域閾値145を増大させ、また、IOPS閾値140を増大させる。帯域閾値145の増大は、予め設定した増分値を加算することができる。ただし、帯域閾値145を増大する上限を設けても良い。また、IOPS閾値140の増大も、予め設定した増分値を加算することができ、IOPS閾値140を増大する上限を設けても良い。
<ゲスト計算機>
図3は、ゲスト計算機105−1の一例を示すブロック図である。なお、他のゲスト計算機105−nも同様の構成であるので、重複した説明は省略する。ゲスト計算機105−1は、ハイパーバイザ170が提供する仮想計算機資源上で稼動する仮想計算機である。
ゲスト計算機105−1は、ハイパーバイザ170から仮想プロセッサ301−1と、仮想メモリ302−1及び仮想HBA303−1の提供を受けて、ゲストOS125を実行する。ゲストOS125上では、仮想HBA303−1に対してアクセスする仮想ドライバ130と、仮想ドライバ130にI/O要求を行うアプリケーション120が稼働する。アプリケーション120は、ゲストOS125上で稼働するソフトウェアであり、ゲストOS125に対してデータの送受信を要求する。
仮想ドライバ130は、ゲストOS125からデータ送受信の要求であるI/O要求を受け付けて、仮想HBA303−1に対して当該I/O要求に応じたデータの送受信を実行するプログラムである。
仮想ドライバ130の帯域制御部135は、SCSI I/Oキュー(以下、I/Oキューとする)160の中のI/Oに記録されているデータ量165を取得して、IOPS値1’(150)の値がIOPS閾値1’(140)を超えないように、また帯域値1’(155)の値が帯域閾値1’(145)を超えないように、仮想HBA303−1(HBA210)が発行するI/Oの量を所定の時間間隔(例えば、10msec)ごとに、制限する。
I/Oキュー160は、複数のキュー165−1〜165−nを有し、送受信するデータを一時的に格納する。I/Oキュー160は、仮想ドライバ130がゲストOS125から受け取ったI/O要求を一時的に保持するための記憶領域である。I/Oキュー160の中の各々のI/Oには、送受信するデータ量が記録されている。
仮想HBA303−1の所定の時間間隔毎のデータ転送量は、仮想HBA303−1に発行したIOPSを格納するIOPS値1’(150)と、仮想HBA303−1から物理ドライバ187に転送したデータ量を格納する帯域値1’(155)と、からなる。
また、ハイパーバイザ170から取得した仮想HBA303−1の閾値は、仮想HBA303−1の仮想WWN−1に対応付けられたHBA210のIOPSを規制するIOPS閾値1’(140)と、帯域を規制する値を格納する帯域閾値1’(145)とを含む。
アプリケーション120は、ストレージ装置260へのアクセスが発生すると、仮想ドライバ130にI/O要求を仮想HBA303−1に発行しデータをI/Oキュー160に格納する。
仮想ドライバ130の帯域制御部135は、IOPS値1’(150)及び帯域値1’(155)がIOPS閾値1’(140)及び帯域閾値1’(145)以内であれば、キュー160のデータをハイパーバイザ170の物理ドライバ187へ転送するように仮想HBA303−1へ指令する。
一方、仮想ドライバ130の帯域制御部135は、IOPS値1’(150)または帯域値1’(155)の何れかが、IOPS閾値1’(140)あるいは帯域閾値1’(145)の何れかを超えていれば、所定の時間間隔(例えば、10msec)が経過するまでI/O要求をキュー160に保留し、ハイパーバイザ170によってIOPS閾値1’(140)及び帯域閾値1’(145)が更新されるのを待つ。
上記帯域制御部135により、ゲスト計算機105−1が利用する仮想HBA303−1(HBA210)の帯域(データ転送量)及びIOPSは、所定の時間間隔ごとに閾値以内に制御される。
本発明の帯域制御部135における帯域制御では、ゲスト計算機1(105−1)が発行するI/O要求の数およびデータの送受信量を一定の時間間隔(10ms)ごとに、閾値を設けて制限する。この一定間隔を制御間隔と呼び、当該制御間隔毎にハイパーバイザ170が閾値を更新する。閾値としては、I/O要求の数と、データの送受信量(帯域)についてそれぞれの値が設定され、各々の閾値を超過しないように、ゲスト計算機105で仮想HBA303−1を制御する仮想ドライバ130の帯域制御部135がI/Oを発行するタイミングを制御することにより、帯域制御を実現する。
IOPS閾値1’(140)は、制御間隔あたりにゲスト計算機1(105−1)が発行可能なI/O数を保持する変数である。IOPS値1’(150)は、制御間隔あたりにゲスト計算機1(105−1)が発行したI/O数を保持する変数である。帯域閾値1’(145)は、制御間隔あたりにゲスト計算機1(105−1)が発行可能なデータの送受信量を保持する変数である。帯域値1’(155)は、制御間隔あたりのゲスト計算機1(105−1)のデータ送受信量を保持する変数である。
IOPS閾値1’(140)および帯域閾値1’(145)には制御間隔が開始する時点で、該制御間隔の間にゲスト計算機105−1が送受信可能なI/O数およびデータ送受信量が、後述の閾値計算部185によって設定される。IOPS値1’(150)および帯域値1’(155)は、所定の制御間隔でハイパーバイザ170からの通知によって0にリセットされる。
ホスト計算機100は以上のように構成され、ハイパーバイザ170の閾値計算部185と、ゲストOS125、アプリケーション120、仮想ドライバ130、帯域制御部135は、物理メモリ114に格納されたプログラムとして物理プロセッサ109により実行される。
物理プロセッサ109は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、物理プロセッサ109は、帯域制御プログラムに従って動作することで帯域制御部135として機能し、閾値計算プログラムに従って動作することで閾値計算部185として機能する。他のプログラムについても同様である。さらに、物理プロセッサ109は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
ホスト計算機100の各機能を実現するプログラム、テーブル等の情報は、ストレージ装置260や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
<HBA>
図4は、HBA210の一例を示すブロック図である。
HBA210は、ホスト計算機100とファイバチャネルで構成されたSAN250及びストレージ装置260との間でデータの送受信を実行する装置である。
HBA210は、組み込みプロセッサ215と、記憶部220と、カウント回路230と、ホスト計算機100に接続されるI/F部236と、SAN250に接続されるポート237とを備える。I/F部236は、例えば、PCI expressなどで構成される。
カウント回路230は、データの送受信量を測定する論理回路である。記憶部220には、データの送受信処理を行う転送処理部225と、ゲスト計算機105−1〜105−n毎に仮想HBA303−1〜303−nのI/O数の測定結果を格納するIOPSカウンタ1〜n(235−1〜23−n)と、データ転送量(帯域)の測定結果を格納する帯域カウンタ1〜n(240−1〜240−n)と、ハイパーバイザ170から受信した仮想WWNとゲスト計算機105の識別子を対応付けて保持する仮想WWNテーブル245が格納される。転送処理部225は、記憶部220に転送処理プログラムをロードして、組み込みプロセッサ215が実行することで機能する。
転送処理部225は、ハイパーバイザ170から仮想WWNとゲスト計算機105の識別子を受信すると、仮想WWNとゲスト計算機105の識別子を対応付けて仮想WWNテーブル245に格納する。そして、転送処理部225は、仮想WWN毎に、IOPSカウンタ235と帯域カウンタ240を割り当てる。図9は、仮想WWNテーブル245の一例を示す図である。仮想WWNテーブル245は、ハイパーバイザ170が仮想HBA303に割り当てた仮想WWNを格納するカラム2451と、仮想WWNの仮想HBA303を割り当てたゲスト計算機105の識別子を格納するカラム2452と、転送処理部225が当該仮想WWNに割り当てたIOPSカウンタ235の識別子を格納するカラム2453と、転送処理部225が当該仮想WWNに割り当てた帯域カウンタ240の識別子を格納するカラム2454と、からひとつのエントリが構成される。
なお、ハイパーバイザ170は、ひとつの物理的なHBA210から生成した複数の仮想HBA303を、各ゲスト計算機105にひとつずつ割り当てるものとする。
転送処理部225は、ホスト計算機100からのI/O要求に応じてSAN250を介してストレージ装置260と通信を行う。このとき、転送処理部225はカウント回路230を用いてゲスト計算機105毎にデータの転送量を帯域として測定し、帯域カウンタ240に格納する。また、ゲスト計算機105毎にI/O要求の回数を測定し、IOPSカウンタ235に格納する。
ここで、転送処理部225は、I/Oに含まれる仮想WWNから仮想WWNテーブル245を参照して、ゲスト計算機105とIOPSカウンタ235及び帯域カウンタ240を特定し、当該仮想WWNに対応するIOPSカウンタ235と帯域カウンタ240に値を格納する。例えば、I/O要求に含まれる仮想WWNが「VWWN−1」であれば、転送処理部225は、ゲスト計算機105−1の仮想HBA303−1が発行したI/O要求であると判定し、ゲスト計算機105−1に対応するIOPSカウンタ235−1と帯域カウンタ240−1に値を格納する。
そして、後述するように、HBA210はハイパーバイザ170からの要求を受け付けると、IOPSカウンタ235と帯域カウンタ240の値を通知する。また、HBA210は、ハイパーバイザ170から読み出し要求に応じて値を読み出したIOPSカウンタ235及び帯域カウンタ240をリセットする。
<I/O処理>
図5は、仮想計算機システムで行われるSCSI I/O処理(以下、I/O処理とする)の一例を示すシーケンス図である。図5のシーケンス図は、ゲスト計算機105のアプリケーション120がゲストOS125にI/O要求を送信したときに実行される。
本処理では、まずゲストOS125が、アプリケーション120から発行されたデータ送受信要求を受信する(ステップ500)。ゲストOS125は、受信したデータ送受信要求をSCSI I/Oに変換し、仮想ドライバ130にI/Oを発行する(ステップ501)。更に仮想ドライバ130は、ゲストOS125から受信したI/Oを、SCSI I/Oキュー160にエンキューする(ステップ502)。
さらに、仮想ドライバ130の帯域制御部135は、ゲスト計算機1(105−1)が各I/OをSCSI I/Oキュー160からデキュー可能か否かの判定を行う(ステップ503)。判定方法については後述する。
ステップ503の判定で、デキュー可能と判断した場合、帯域制御部135は、SCSI I/Oキュー160にエンキューされた順番でI/Oをデキューし、ハイパーバイザ170にI/Oを発行する(ステップ505)。ハイパーバイザ170は受信したI/Oを物理ドライバ187でHBA210に転送する(ステップ506)。
一方、ステップ503の判定で、デキューが不可能と判断した場合は、判断した時点で、該ゲスト計算機105のI/Oの発行を停止する制御を行う。
上記ステップ503の帯域制御部135の処理は、まず、SCSI I/Oキュー160にエンキューされた順にI/Oを選択し、制御間隔内でゲスト計算機1(105−1)が該I/Oを発行可能であるか判定するため、仮想ドライバ130のIOPS値1’(150)に、1 (該I/O分)を加算し、I/Oに記入されているデータ量を、帯域値1’(155)に加算する。
その後、帯域制御部135は、IOPS値1’(150)とIOPS閾値1’(140)を比較し、更に帯域値1’(155)と帯域閾値1’(145)を比較する(ステップ503)。
上記比較の結果、IOPS値1’(150)がIOPS閾値1’(140)以下であり、かつ、帯域値1’(155)が帯域閾値1’(145)以下であるならば、該ゲスト計算機がI/Oを追加して発行可能であると帯域制御部135は判定する。そして、帯域制御部135は、SCSI I/Oキュー160から該I/Oをデキューし、HBA210の転送処理プログラム225に対してI/Oの発行処理を行う(ステップ505)。IOPS値1’(150)がIOPS閾値1’(140)より大きいか、または、帯域値1’(155)が帯域閾値1’(145)より大きいならば、該ゲスト計算機105が追加でI/Oを発行不可であると帯域制御部135は判定する。このため、帯域制御部135は該I/Oの発行処理を行わず、該I/OはSCSI I/Oキュー160に滞留されたままとなる(ステップ504)。すなわち、SCSI I/Oキュー160のデータは出力が禁止される。
そして、ステップ504では、IOPS値1’(150)がIOPS閾値1’(140)を超えたか、または、帯域値1’(155)が帯域閾値1’(145)を超えたときには、仮想ドライバ130はハイパーバイザ170に対して閾値を超えたことを通知する。
I/OがSCSI I/Oキュー160に滞留する場合は、制御間隔が終了する時点で、IOPS値1’(150)および帯域値1’(155)が、後述するようにハイパーバイザ170の通知でリセットされることを契機として帯域制御部135により、ステップ503へ戻って再び加算結果と閾値の比較が実行される。
帯域制御部135により、I/Oがハイパーバイザ170の物理ドライバ187を介して転送処理部225に転送された後、転送処理部225は、受信したI/Oをストレージ装置260へ発行する。また、転送処理部225は発行したI/Oをカウント回路230へ転送する(ステップ507、508)。
HBA210のカウント回路230は、IOPSカウンタ235に発行したI/O数を加算した後、I/Oの転送を開始してから終了するまでのデータ転送量を仮想WWNに基づいて帯域カウンタ240に加算する(ステップ508)。
以上の処理により、ゲスト計算機105の仮想ドライバ130の帯域制御部135は、ハイパーバイザ170が決定したIOPS閾値1’(140)と帯域閾値’(145)で所定の制御間隔(例えば、10msec)ないで、I/O回数またはI/Oのデータ量(帯域)が閾値を超えないように監視する。I/O回数またはI/Oの帯域がIOPS閾値1’(140)または帯域閾値1’(145)を超えると、帯域制御部135は、現在の制御間隔でのI/Oの発行を停止することで、ゲスト計算機105のI/O回数と帯域を目標とする閾値以内に制限することが可能となる。
<閾値の更新>
次に、上記ステップ504で行われるIOPS閾値200(140)と、帯域閾値205(145)の演算について図6を参照しながら説明する。
図6は、仮想計算機システムで行われる閾値更新処理の一例を示すシーケンス図である。この処理はハイパーバイザ170のブートを契機に開始し、その後、所定の制御間隔(10msec)ごとに繰り返して実行される。以下では、ゲスト計算機105−1に割り当てられた仮想HBA303−1の閾値更新の一例を示すが、他の仮想HBA303−2〜303−nの閾値更新についても同様に行えば良い。なお、他の仮想HBA303−2〜303−nの閾値更新は、以下の各ステップで実施してもよい。あるいは、仮想HBA303−1〜303−nの閾値更新のタイミングをずらして、以下のステップ601〜607を各仮想HBA303毎に実行しても良い。
この処理は、ハイパーバイザ170の閾値計算部185が、HBA210からIOPSカウンタ1(235−1)および帯域カウンタ1(240−1)の値を受信し、IOPS閾値1(200−1)および帯域閾値1(205−1)を演算し、ゲスト計算機1(105−1)に閾値の更新完了を通知する処理である。この通知により、仮想ドライバ130の帯域制御部135は、ゲスト計算機105−1のIOPS値1’(150)および帯域値1’(155)をリセットする。
まず、ハイパーバイザ170の閾値計算部185が、HBA210に対してIOPSカウンタ1(235−1)と帯域カウンタ1(240−1)の読み出しを要求する(ステップ601)。
次に、HBA201は、要求されたIOPSカウンタ1(235−1)と帯域カウンタ1(240−1)の値を閾値計算部185へ送信する(ステップ602)。HBA201は、読み出しが完了したIOPSカウンタ1(235−1)と帯域カウンタ1(240−1)の値を0にリセットする。
閾値計算部185は、受信したIOPSカウンタ1(235−1)の値をIOPS値1(190−1)に格納し、受信した帯域カウンタ1(240−1)の値を帯域値1(195−1)に格納する(ステップ603)。
閾値計算部185は、閾値更新ルール186を参照し、更新対象の仮想HBA303−1を割り当てたゲスト計算機105−1の閾値の更新ルールを取得する。閾値の更新ルール1862が「維持」であれば、閾値計算部185は、IOPS閾値1(200−1)と帯域閾値1(205−1)を維持する。なお、「維持」の場合は、IOPS閾値1(200−1)と帯域閾値1(205−1)の増分値を、それぞれ0としてもよい。
一方、閾値の更新ルール1862が「増大」で、かつ、前記図5のステップ504で、仮想ドライバ130から閾値を超えた通知を受けたゲスト計算機105であれば、閾値計算部185は、IOPS閾値1(200−1)と帯域閾値1(205−1)にそれぞれ所定の増分値を加算して更新する(ステップ604)。なお、所定の増分値は、IOPS閾値1(200−1)の増分値と、帯域閾値1(205−1)の増分値がそれぞれ予め設定されている。また、これらの増分値を閾値更新ルール186に格納するようにしてもよい。
更に、閾値計算部185は、IOPS閾値1(200−1)および帯域閾値1(205−1)の更新が完了したことを、ゲスト計算機105−1で稼働する仮想ドライバ130の帯域制御部135に通知する。
帯域制御部135は、ハイパーバイザ170から閾値更新通知の受信を契機に、ハイパーバイザ170からIOPS閾値1(200−1)を読み出して、IOPS閾値1’(140)に格納する。次に、帯域制御部135は、ハイパーバイザ170から帯域閾値1(205−1)を読み出し、帯域閾値1’(145)に格納する。
その後、ハイパーバイザ170からの閾値更新通知の受信を契機として、帯域制御部135は、仮想ドライバ130で保持していたIOPS値1’(150)および帯域値1’(155)をリセットする(ステップ605)。さらに、帯域制御部135は、SCSI I/Oキュー160に滞留しているI/Oがある場合は、該I/Oのデキューを再開(図5のステップ504、503、505)する。
最後に、閾値計算部185は、閾値更新のタイマを起動し(ステップ606)、このタイマがステップ607でタイムアウトした際に、図中のステップ601から再度、次の制御間隔の閾値の更新処理を実行する。
以上の処理により、ハイパーバイザ170では閾値計算部185が、HBA210のカウント回路230によって測定されたIOPSカウンタ1(235−1)の値および帯域カウンタ1(240−1)の値と、閾値更新ルール186に基づいて、IOPS閾値1(200−1)および帯域閾値1(205−1)を更新する。この結果、閾値計算部185は、ゲスト計算機105の仮想HBA303ごとのIOPS閾値1’(140−1)および帯域閾値1’(145−1)を更新する。
さらに、仮想ドライバ130の帯域制御部135がIOPS閾値1’(140)および帯域閾値1’(145)をハイパーバイザ170から取得して更新する。帯域制御部135は、更新されたIOPS閾値1’(140)および帯域閾値1’(145)に基づいて帯域制御を実施する。これにより、制御間隔あたりのデータ送受信量に基づく帯域制御を実現できる。
また、本発明では、HBA210が仮想HBA303毎に帯域とI/O回数を測定し、ハイパーバイザ170が制御間隔ごとに帯域閾値とI/O回数の閾値を更新してゲスト計算機105に通知し、ゲスト計算機105の仮想ドライバ130が制御間隔ごとにI/O回数と帯域(データ転送量)の閾値を超えないように仮想HBA303の帯域制御を行う。これにより、帯域の測定と閾値の算出及び帯域制御の実行を、HBA210とハイパーバイザ170及びゲスト計算機105で分散したので、一箇所に負荷が集中するのを防ぐことが可能となる。
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。

Claims (6)

  1. プロセッサとメモリとを備えた計算機と、
    前記計算機の資源を仮想化して1以上の仮想計算機に割り当てる仮想化部と、を備えた仮想計算機システムであって、
    前記計算機は、
    ストレージ装置に接続されるアダプタを有し、
    前記アダプタは、
    前記ストレージ装置との間でデータを送受信し、当該送受信したデータの転送量とI/O回数とを前記仮想計算機毎に測定する転送処理部と、
    前記データの転送量とI/O回数を前記仮想計算機毎に格納するカウンタと、を有し、
    前記仮想計算機は、
    前記ストレージ装置との間で送受信するデータを保持するキューと、
    前記データの転送量とI/O回数を制御する帯域制御部と
    前記データの転送量を格納する帯域値と、前記I/O回数を格納するI/O回数値と、前記データの転送量の上限値を格納する帯域閾値と、前記I/O回数の上限値を格納するI/O回数閾値と、を有し、
    前記仮想化部は、
    前記アダプタのカウンタから取得した前記データの転送量とI/O回数に基づいて、前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機毎に演算する閾値演算部を有し、
    前記閾値演算部は、
    所定の周期が経過する度に、前記アダプタから前記データの転送量とI/O回数を取得して、所定のルールに基づいて前記取得した前記データの転送量とI/O回数から、前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機毎に演算し、当該演算した前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機に通知し、
    前記帯域制御部は、
    前記キューから出力する度にデータの転送量を前記帯域値に加算し、前記I/O回数を前記I/O回数値に加算して、前記帯域値が帯域閾値以下で、かつ前記I/O回数値がI/O回数閾値以下であれば前記キューからデータを出力し、
    前記閾値演算部の前記データの転送量の上限値と前記I/O回数の上限値の通知を受信したことに基づいて、前記仮想計算機の帯域値と、前記I/O回数値とをリセットすることを特徴とする仮想計算機システム。
  2. 請求項1に記載の仮想計算機システムであって、
    前記帯域制御部は、
    前記キューから出力する度にデータの転送量を前記帯域値に加算し、前記I/O回数を前記I/O回数値に加算して、前記帯域値が帯域閾値を超え、またはI/O回数値がI/O回数閾値を超える場合は、前記帯域値及び前記I/O回数閾値がリセットされるまでは前記キューからデータの出力を禁止することを特徴とする仮想計算機システム。
  3. 請求項に記載の仮想計算機システムであって、
    前記所定のルールは、
    前記仮想計算機ごとに予め設定された増分値を加算することを特徴とする仮想計算機システム。
  4. プロセッサとメモリとを備えた計算機と、前記計算機の資源を仮想化して1以上の仮想計算機に割り当てる仮想化部と、を備えた仮想計算機システムでデータ転送を制御する方法であって、
    前記計算機は、ストレージ装置に接続されるアダプタを有し、
    前記アダプタが、前記ストレージ装置との間でデータを送受信し、当該送受信したデータの転送量とI/O回数とを前記仮想計算機毎に測定する第1のステップと、
    前記仮想化部は、前記アダプタから取得した前記データの転送量とI/O回数に基づいて、前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機毎に演算し、当該演算した前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機に通知する第2のステップと、
    前記仮想計算機が、前記ストレージ装置との間で送受信するデータをキューに保持する第3のステップと、
    前記仮想計算機が、前記データの転送量の上限値と、前記I/O回数の上限値を超えないように前記キューから出力するデータを制御する第4のステップと、
    を含み、
    前記第2のステップは、
    前記仮想計算機は、所定の周期が経過する度に、前記アダプタから前記データの転送量とI/O回数を取得して、前記データの転送量を帯域値に格納し、前記I/O回数をI/O回数値に格納し、前記データの転送量の上限値を帯域閾値に格納し、前記I/O回数の上限値をI/O回数閾値に格納し、所定のルールに基づいて前記取得した前記データの転送量とI/O回数から、前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機毎に演算し、当該演算した前記データの転送量の上限値と、前記I/O回数の上限値を前記仮想計算機に通知するステップと、
    前記仮想計算機が、前記データの転送量の上限値と前記I/O回数の上限値の通知を受信したことに基づいて、前記仮想計算機の帯域値と、前記I/O回数値とをリセットするステップと、を含み、
    前記第4のステップは、
    前記仮想計算機が、前記キューから出力する度にデータの転送量を前記帯域値に加算し、前記I/O回数を前記I/O回数値に加算して、前記帯域値が帯域閾値以下で、かつ前記I/O回数値がI/O回数閾値以下であれば前記キューからデータを出力することを特徴とする仮想計算機システムのデータ転送制御方法。
  5. 請求項4に記載の仮想計算機システムのデータ転送制御方法であって、
    前記第4のステップは、
    前記仮想計算機が、前記キューから出力する度にデータの転送量を前記帯域値に加算し、前記I/O回数を前記I/O回数値に加算して、前記帯域値が帯域閾値を超え、またはI/O回数値がI/O回数閾値を超える場合は、前記帯域値及び前記I/O回数閾値がリセットされるまでは前記キューからデータの出力を禁止することを特徴とする仮想計算機システムのデータ転送制御方法。
  6. 請求項4に記載の仮想計算機システムのデータ転送制御方法であって、
    前記所定のルールは、
    前記仮想計算機ごとに予め設定された増分値を加算することを特徴とする仮想計算機システムのデータ転送制御方法。
JP2014559459A 2013-02-01 2013-02-01 仮想計算機システムおよび仮想計算機システムのデータ転送制御方法 Expired - Fee Related JP6072084B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/052377 WO2014118969A1 (ja) 2013-02-01 2013-02-01 仮想計算機システムおよび仮想計算機システムのデータ転送制御方法

Publications (2)

Publication Number Publication Date
JPWO2014118969A1 JPWO2014118969A1 (ja) 2017-01-26
JP6072084B2 true JP6072084B2 (ja) 2017-02-01

Family

ID=51261712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014559459A Expired - Fee Related JP6072084B2 (ja) 2013-02-01 2013-02-01 仮想計算機システムおよび仮想計算機システムのデータ転送制御方法

Country Status (3)

Country Link
US (1) US20150363220A1 (ja)
JP (1) JP6072084B2 (ja)
WO (1) WO2014118969A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2515536A (en) * 2013-06-27 2014-12-31 Ibm Processing a guest event in a hypervisor-controlled system
JP2016058033A (ja) * 2014-09-12 2016-04-21 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
JP6578694B2 (ja) * 2015-03-25 2019-09-25 日本電気株式会社 情報処理装置、方法及びプログラム
US10419815B2 (en) * 2015-09-23 2019-09-17 Comcast Cable Communications, Llc Bandwidth limited dynamic frame rate video trick play
US20190087244A1 (en) * 2016-05-23 2019-03-21 William Jason Turner Hyperconverged system including a user interface, a services layer and a core layer equipped with an operating system kernel
US11543967B2 (en) * 2017-02-23 2023-01-03 Samsung Electronics Co., Ltd. Method for controlling BW SLA in NVME-of ethernet SSD storage systems
JP6786010B2 (ja) 2018-05-07 2020-11-18 三菱電機株式会社 情報処理装置、チューニング方法およびチューニングプログラム
JP7083717B2 (ja) * 2018-07-23 2022-06-13 ルネサスエレクトロニクス株式会社 半導体装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
JP4227035B2 (ja) * 2004-02-03 2009-02-18 株式会社日立製作所 計算機システム、管理装置、ストレージ装置及びコンピュータ装置
JP2008186211A (ja) * 2007-01-30 2008-08-14 Hitachi Ltd 計算機システム
JP2012123556A (ja) * 2010-12-07 2012-06-28 Hitachi Solutions Ltd 仮想サーバーシステム、及びその制御方法
JP2012133630A (ja) * 2010-12-22 2012-07-12 Nomura Research Institute Ltd ストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法

Also Published As

Publication number Publication date
WO2014118969A1 (ja) 2014-08-07
US20150363220A1 (en) 2015-12-17
JPWO2014118969A1 (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
JP6072084B2 (ja) 仮想計算機システムおよび仮想計算機システムのデータ転送制御方法
US11689471B2 (en) Cloud compute scheduling using a heuristic contention model
US11221975B2 (en) Management of shared resources in a software-defined storage environment
US10678722B2 (en) Using a decrementer interrupt to start long-running hardware operations before the end of a shared processor dispatch cycle
US20180121366A1 (en) Read/write request processing method and apparatus
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
US9569245B2 (en) System and method for controlling virtual-machine migrations based on processor usage rates and traffic amounts
US9697024B2 (en) Interrupt management method, and computer implementing the interrupt management method
US9081612B2 (en) Virtual machine control method and virtual machine
US9019826B2 (en) Hierarchical allocation of network bandwidth for quality of service
US20170102874A1 (en) Computer system
US20130238804A1 (en) Computer system, migration method, and management server
US10656961B2 (en) Method and apparatus for operating a plurality of operating systems in an industry internet operating system
US10884779B2 (en) Systems and methods for selecting virtual machines to be migrated
CN109726005B (zh) 用于管理资源的方法、服务器系统和计算机可读介质
US11734172B2 (en) Data transmission method and apparatus using resources in a resource pool of a same NUMA node
US8984179B1 (en) Determining a direct memory access data transfer mode
US10545697B1 (en) Reverse order request queueing by para-virtual device drivers
KR101924467B1 (ko) 가상 머신의 cpu 및 블록 i/o 작업에 성능 보장을 위한 자원 할당 시스템 및 방법
US20140245300A1 (en) Dynamically Balanced Credit for Virtual Functions in Single Root Input/Output Virtualization
Guo et al. The improved job scheduling algorithm of Hadoop platform
US10628349B2 (en) I/O control method and I/O control system
US20230385118A1 (en) Selective execution of workloads using hardware accelerators
US11099741B1 (en) Parallel access volume I/O processing with intelligent alias selection across logical control units
CN117170796A (zh) 虚拟机中的逻辑卷控制方法、装置和电子设备

Legal Events

Date Code Title Description
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: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161227

R150 Certificate of patent or registration of utility model

Ref document number: 6072084

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees