JP4934642B2 - 計算機システム - Google Patents

計算機システム Download PDF

Info

Publication number
JP4934642B2
JP4934642B2 JP2008152507A JP2008152507A JP4934642B2 JP 4934642 B2 JP4934642 B2 JP 4934642B2 JP 2008152507 A JP2008152507 A JP 2008152507A JP 2008152507 A JP2008152507 A JP 2008152507A JP 4934642 B2 JP4934642 B2 JP 4934642B2
Authority
JP
Japan
Prior art keywords
virtual machine
machine monitor
event
assigned
master
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
JP2008152507A
Other languages
English (en)
Other versions
JP2009301162A (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
Priority to JP2008152507A priority Critical patent/JP4934642B2/ja
Priority to US12/457,252 priority patent/US8156253B2/en
Publication of JP2009301162A publication Critical patent/JP2009301162A/ja
Priority to US13/420,854 priority patent/US8375148B2/en
Application granted granted Critical
Publication of JP4934642B2 publication Critical patent/JP4934642B2/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/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
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、計算機システム、デバイス共有方法及びそのプログラムに係り、特に、PF(Physical Function)とVF(Virtual Function)の間でインタフェースが必要なPCIのSR−IOV(Single Root-IO Virtualization)デバイスを複数の物理計算機上に形成される複数の仮想計算機で共有するPCIデバイス共有に関するものである。
計算機システムを、より高集約、省電力、低コスト、高効率に利用するために、物理計算機上に複数の仮想計算機(LPAR)を構築し、それらの仮想計算機でI/Oデバイスを共有する仮想計算機システムが実用化されている。
この種の従来技術に関して、例えば特許文献1には、単一の物理計算機上に構築された複数の仮想計算機でPCIのI/Oデバイスを共有するI/Oデバイスの仮想共有化方法が開示されている。
更に、非特許文献1には、PCI−SIGの規格が開示される。これによれば、SR−IOVに対応したデバイス内に形成される複数のVFを、SR−IOVに対応したVMM(Virtual Machine Monitor)上の複数の仮想計算機に割当てることで、デバイスを共有することが可能である。
また、非特許文献2には、PCI−SIGで計画中の規格が開示される。これによれば、MR−IOV(Multi-Root IOV)に対応したデバイス内に形成される、PFとVFを、MR−IOVに対応した計算機システム上の複数の物理計算機に割当てることで、デバイスを共有することが可能である。
特開2004−252591公報 Single Root I/O Virtualization and Sharing Specification Revision 1.0(Sep.11, 2007) Chapter 1 Architectural Overview page 11 to page 24 Multi-Root I/O Virtualization and Sharing Specification Revision 1.0(May 12, 2008) Chapter 1 Architectural Overview page 15 to page 34
上記のような普通のPCIデバイスやSR−IOVデバイスは比較的に安価であるが、複数の物理計算機間でデバイス共有して集約化することができない。
また、MR−IOVデバイスは複数の物理計算機間でデバイス共有するこができ、高集約化が可能であるが、比較的高価である。
本発明の目的は、PFとVFの間でインタフェースが必要なSR−IOVデバイスを複数の物理計算機で共有することにある。
本発明は、PCIのSR−IOVデバイスをIOスイッチ経由で複数の物理計算機上の仮想計算機モニタ上に割当てる環境において、PFを第1の仮想計算機モニタに割当て、複数のVFは任意の仮想計算機モニタ上のLPARに割当てる。VFからPFへのイベントを第2の仮想計算機モニタで検出した場合には、PFが割当てられた第1の仮想計算機モニタへ通信して第1の仮想計算機モニタ上でPFイベントを実行する。また、第1の仮想計算機モニタがPFからVFへのイベントを検出した場合は、対象となるVFが割当てられた第2の仮想計算機モニタへ通信して第2の仮想計算機モニタ上のLPARでVFイベントを実行する。
好ましい例によれば、本発明は、複数の物理計算機を、IOスイッチを介してIOデバイスと接続して該IOデバイスを共有することができる計算機システムであって、
該複数の物理計算機は、該物理計算機上に構築された複数のLPARと、該複数のLPARを管理する仮想計算機モニタと、を有し、
前記IOデバイスは、1の該物理計算機に割当てられることができるPF(Physical Function)と、該複数のLPARに割当てられることができる複数のVF(Virtual Function)とを有し、
前記複数の仮想計算機モニタは、該IOデバイス内の該PFが割当てられる第1の仮想計算機モニタと、該PFが割当てられない第2の仮想計算機モニタを含み、かつ、
該第1及び第2の仮想計算機モニタは、該複数のLPARに割当てられた、前記IOデバイスの該複数のVFに対するVFイベントを実行するVF実行手段を有し、
該第1の仮想計算機モニタは、該第1又は第2の仮想計算機モニタが検知した、該IOデバイスの該PFに対するPFイベントを実行するPF実行手段を有すること、を特徴とする計算機システムとして構成される。
また、好ましい例では、本発明は、各物理計算機上に構築される1又は複数のLPARと、該複数のLPARを管理する複数の仮想計算機モニタと、を有する複数の物理計算機と、1の該物理計算機に割当てられることができるPF(Physical Function)と、該複数のLPARに割当てられることができる複数のVF(Virtual Function)とを有する、PCI−SIG規格に基くSR−IOV(Single Root IO Virtualization)デバイスを、IOスイッチを介して接続して構成する計算機システムにおけるデバイスの共有方法であって、
該SR−IOVデバイス内の該PFが割当てられる第1の仮想計算機モニタと、該PFが割当てられない第2の仮想計算機モニタを含む、複数の前記仮想計算機モニタを構成するステップと、
該第1及び第2の仮想計算機モニタにおいて、該複数のLPARに割当てられた、前記SR−IOVデバイスの該複数のVFに対するVFイベントを実行するステップと、
該第1の仮想計算機モニタにおいて、該第1又は第2の仮想計算機モニタで検知された、該SR−IOVデバイスの該PFに対するPFイベントを実行するステップと、を有することを特徴とするデバイス共有方法として構成される。
更に好ましい例では、本発明は、各物理計算機上に構築される1又は複数のLPARと、該複数のLPARを管理する仮想計算機モニタと、を有する複数の物理計算機と、
1の該物理計算機に割当てられることができるPF(Physical Function)と、該複数のLPARに割当てられることができる複数のVF(Virtual Function)とを有する、PCI−SIG規格に基くSR−IOV(Single Root IO Virtualization)デバイスを、IOスイッチを介して接続して構成する計算機システムで実行されるデバイスの共有化のためのプログラムであって、
該SR−IOVデバイス内の該PFが割当てられる第1の仮想計算機モニタと、該PFが割当てられない第2の仮想計算機モニタにおいて、該複数のLPARに割当てられた、前記SR−IOVデバイスの該複数のVFに対するVFイベントを実行する手段と、
該第1の仮想計算機モニタにおいて、該第1又は第2の仮想計算機モニタで検知された、該SR−IOVデバイスの該PFに対するPFイベントを実行する手段と、を有することを特徴とするプログラムとして構成される。
本発明によれば、SR−IOVデバイスを複数の物理計算機で共有することが可能である。また、MR−IOVが適用されるであろう計算機システムに比べて、安価で集約化した計算機システムを実現することできる。
好ましい例によれば、計算機システムは、物理計算機として複数のブレードサーバがシャーシに搭載され、また複数のSR−IOVデバイスがIOボックスに搭載され、複数のシャーシと複数のIOボックスはIOスイッチで接続して構成される。複数のブレードサーバ上で仮想計算機モニタを実行し、その上で複数のLPARを実行し、LPARがSR−IOVデバイスのVFを使用する。任意のブレードサーバ上の仮想計算機モニタでPFを制御する必要があり、PFを制御するブレードサーバ上の仮想計算機モニタをマスタ仮想計算機モニタ(第1の仮想計算機モニタ)、それ以外のVFを使用しているLPARを実行している仮想計算機モニタをスレイブ仮想計算機モニタ(第2の仮想計算機モニタ)とする。複数のSR−IOVデバイスの各PFをそれぞれ別の仮想計算機モニタで制御する場合は、SR−IOVデバイス毎に別々のマスタ仮想計算機モニタを設定することができる。
以下図面を参照して、本発明の実施例について説明する。
[実施例1]
図1は一実施例による計算機システムの構成例を示す。
この計算機システムは、複数の物理計算機10,20,30が、IOスイッチ50を介して複数のSR−IOVデバイス61,62に接続されて、SR−IOVデバイスを共有するシステムである。
複数のSR−IOVデバイス61,62は、デバイス毎にPF(Physical Function)70と複数のVF(Virtual Function)のVF[1]71〜VF[m]72〜VF[n]73を有する。ここで、PFとは物理計算機に割り当てられるIOVが持つ機能及びIOVを管理する機能(例えば初期設定機能やリセット機能)である。VFとはLPARに割当てられるIOVの機能であり、例えばネットワークを接続するカードが持つ機能やストレージを接続するカードが持つ、種々の機能である。
物理計算機10は、複数の仮想計算機(LPAR)121,122と、これらのLPARを制御しかつPF70を制御するマスタ仮想計算機モニタ(VMM)11を有する。同様にして、物理計算機20,30は、複数の仮想計算機(LPAR)221,222と、これらのLPARを制御するがPF70の制御を行わないスレイブ仮想計算機モニタ(VMM)21を有する。LPARやマスタ及びスレイブ仮想計算機モニタは、物理計算機上で関係するプログラムが実行されることでそれぞれの機能が実現される。
なおここで、仮想計算機モニタをマスタとスレイブに分けて規定したのは、1台のSR−IOVデバイス内の単一のPFが割当てられるのは、1台の仮想計算機モニタのみであるので、そのPFが割り当てられたものをマスタ計算機モニタ11と言い、それ以外のスレイブ仮想計算機モニタと言うことにした。
IOスイッチ50は、複数の物理計算機10、20、30と、複数のSR−IOVデバイス61,62とを接続する。マスタ仮想計算機モニタ11とスレイブ仮想計算機モニタ21間の通信は、ネットワークLAN41及び通信部110,210を介して行われる。また、マスタ仮想計算機モニタ11及びスレイブ仮想計算機モニタ21とSR−IOVデバイス間の通信は、IOスイッチ50を通る専用線通信42を介して行われる。
SR−IOVデバイス61内のPF70は、IOスイッチ50を通ってマスタ仮想計算機モニタ11に割当てられる。また、SR−IOVデバイス61内のVF71〜VF73は、マスタ仮想計算機モニタ11又はスレイブ仮想計算機モニタ21の制御により、これらの仮想計算機モニタによって管理される複数のLPAR121、122、221、222に、IOスイッチ50を通って割当てられる。
物理計算機10上の複数のLPAR121,122は、それらが割当てられた複数のVF71〜73を制御するVFドライバ1211を有する。同様に、物理計算機20,30上の複数のLPAR221,222も、それらが割当てられた複数のVF71〜73を制御するVFドライバ2211を有する。
マスタ仮想計算機モニタ11は、スレイブ仮想計算機モニタ21との間で通信を行う通信部110、スレイブ仮想計算機モニタ21から送信されるPFイベントを受信するPFイベント受信部111、スレイブ仮想計算機モニタ21から送信されるVFイベントを受信するVFイベント受信部112、PFイベントを実行するPFイベント実行部113、VFイベントを実行するVFイベント実行部114、PF70を制御するPFドライバ115、を有する。また、スレイブ仮想計算機モニタ21も同様に、通信部210、PFイベント受信部211、VFイベント受信部212、PFイベント実行部213、VFイベント実行部214、PFドライバ215、を有する。ここで、PFイベントとは、PF70が実行すべきイベントであり、例えばネットワークエラーの処理や、ストレージにおける回復不可能なエラーに対する処理等がある。VFイベントとは、VF71〜73が実行すべきイベントであり、例えば電源の異常が発生した時にLPARによる処理を安全に終了させるための処理である。
上述の説明から理解されるように、SR−IOVデバイス61のPF70の制御はマスタ仮想計算機モニタ11のPFドライバ115のみの制御によるので、スレイブ仮想計算機モニタ21のPFドライバ215やPFイベント受信部211、PFイベント実行部213は用を成さない。しかし、複数の仮想計算機モニタはマスタとスレイブの役割を切替えて運用することがある。そこで今までスレイブ仮想計算機モニタであったものが、切り替わった後にマスタ仮想計算機モニタとなることがある。その場合、マスタ仮想計算機モニタに切り替わったスレイブ仮想計算機モニタ21は、以後、PFドライバ215が、SR−IOVデバイス61のPF70を制御することになる。また、スレイブ仮想計算機モニタ21のPFドライバ215やPFイベント受信部211も有効に使用されるようになる。
次に、図2及び図3を参照して、VFドライバ1211、2211からPF70へのPFイベントが発生した場合の仮想計算機モニタのPFイベント処理について説明する。
これらの処理は、マスタ及びスレイブ仮想計算機モニタのプログラムの実行によって各処理動作が行われる。
以下の説明において、計算機システムは、物理計算機の数は2台(物理計算機10と20)、各物理計算機10,20に構築されるLPARの数は、それぞれLPAR121とLPAR221の1台ずつ、SR−IOVのデバイスの数はSR−IOV60の1台、とする。
この例で、処理ステップ(S200〜S235)は、VF[m]72が割当てられた、マスタ仮想計算機モニタ11上のLPAR121からPF70へのPFイベントが発生した場合、例えば、VFドライバ1211で障害を検知しPF70へ通知する場合の処理を示す。
まず、VFドライバ1211は、割込み処理又はレジスタWriteによりPF70向けのPFイベントを発生させる(S200)。割り込みとは、VFドライバ1211がPFイベントを検知して、それをマスタ仮想計算機モニタ11に割り込みさせる処理である。レジスタWriteとは、SR−IOVデバイスが持つ、イベント監視用のレジスタであり、マスタ仮想計算機モニタはレジスタにフラグが書き込まれたことを監視することで、イベント発生を検知する。
マスタ仮想計算機モニタ11は、割り込み処理又はレジスタWriteを参照して、PFイベントを検出する(S205)。即ち、割込みをトラップ又はレジスタWriteをトラップして実現する。
次に、何れの仮想計算機モニタがPFイベントを検出したかをチェックする(S210)。もし、マスタ仮想計算機モニタ11がPFイベントを検出した場合には、PFイベント受信部111でPFイベントを認識する(S215)。PFイベントが認識されると、PFイベント実行部113で割込み生成又はレジスタWriteによりPFドライバ115にPFイベントを伝達する(S220)。
PFイベントを認識したPFドライバ115はイベントの種類に応じた処理を実行する(S225)。例えば、VF[m]72が割当てられたVFドライバ1211で障害を検出したので、PFドライバはVF[m]72をリセットするなどの障害の処置を実行する。
イベント生成元のVF[m]72へのACK処理(イベントの受信が正常に完了したことの通知処理)が必要なPFイベントの場合は(S230)、マスタ仮想計算機モニタ11は割込み処理又はレジスタWriteによりLPAR121上のVFドライバ1211へACKを伝達し、VFドライバ1211はACK受信処理を実行する(S235)。
次に、処理ステップ(S200〜S265)は、スレイブ仮想計算機モニタ21上のVF[n]73が割当てられたLPAR221からPF70へのイベントが発生した場合、例えば、VFドライバ2211で障害を検知しPF70へ通知する場合の処理を示す。
VFドライバ2211が、割込み処理又はレジスタWriteによりPF70向けのPFイベントを発生させると(S200)、スレイブ仮想計算機モニタ21はPFイベントを検出する(S205)。スレイブ仮想計算機モニタ21がPFイベントを検出した場合(S210、NO)、スレイブ仮想計算機モニタ21にはPFが割当てられていないので、PFが割当てられているマスタ仮想計算機モニタ11へ通信部210を経由してPFイベントを通知する(S250)。なお、スレイブ仮想計算機モニタ21からマスタ仮想計算機モニタ11への通信は、通信部210、ネットワークLAN41、通信部110を介して行なわれる。
マスタ仮想計算機モニタ11におけるPFイベント処理は、図3に示すように、マスタ仮想計算機モニタ11の通信部110がPFイベントを受信し(S300)、PFイベント受信部111でPFイベントを認識する(S310)。PFイベントが認識されると、PFイベント実行部113で割込み生成又はレジスタWriteによりPFドライバ115にPFイベントを伝達する(S320)。
PFイベントを認識したPFドライバ115はイベントの種類に応じた処理を実行する(S330)。認識されたイベントの種類に応じて、例えばネットワークエラーの処理やストレージにおける回復不可能なエラーに対する処理を行う。
そして、VF73へのACKが必要なイベントか否かを判断する(S340)。その結果、イベント発生元のVF[n]73へのACK処理が必要なPFイベントの場合(例えば、イベント発生元のVF73がイベントの処理結果を知る必要がある場合)は、通信部110を経由してスレイブ仮想計算機モニタ21へACKを送信する(S350)。
図2に戻って、スレイブ仮想計算機モニタ21はACK処理が必要なPFイベントの場合(S255、YES)、通信部210はACKの受信を待つ。そして、ACKを受信したら(S260)、スレイブ仮想計算機モニタ21は割込み処理又はレジスタWriteによりVF[n]73が割当てられているLPAR221上のVFドライバ2211へACKを伝達し、VFドライバ2211はACK受信処理を実行する(S265)。
[実施例2]
この例は、図1に示す仮想計算機システムにおいて、PF70が割当てられたマスタ仮想計算機モニタ11のPFドライバ115からVF[1]71〜VF[m]72〜VF[n]73へのVFイベントが発生した場合の処理動作について示すものである。
処理動作については、図4及び図5のフローチャートを参照する。ここで、計算機システムにおける物理計算機の台数、各物理計算機上のLPARの数、SR−IOVデバイス数は、実施例1と同じとする。また、これらの処理動作は、マスタ及びスレイブ仮想計算機モニタのプログラムの実行によって行われる。
図示の、処理ステップ(S400〜S435)は、マスタ仮想計算機モニタ11上で制御しているPF70からLPAR121に割当てられているVF[m]72へのVFイベントが発生した場合、例えばPFドライバ115で障害を検出し全てのVF(VF[1]71〜VF[m]72〜VF[n]73)へ通知する場合の処理を示す。
まず、PFドライバ115が、割込み処理又はレジスタWriteによりVF[m]72向けのVFイベントを発生させる(S400)。すると、マスタ仮想計算機モニタ11がVFイベントを検出する(S405)。即ち、割込みをトラップするか又はレジスタWriteをトラップして実現する。
そして、対象となるVFはマスタ仮想計算機モニタ11上のLPAR121,122に割り当てられているかを判断する(S410)。その結果、対象となるVF[m]72がマスタ仮想計算機モニタ11上のLPAR121に割当てられている場合は、VFイベント受信部112でVFイベントを認識する(S415)。
VFイベントが認識されると、VFイベント実行部114で割込み処理又はレジスタWriteによりVF[m]72が割当てられたLPAR121上のVFドライバ1211にVFイベントを伝達する(S420)。
VFイベントを認識したVFドライバ1211はイベントの種類に応じた処理を実行する(S425)。例えば、PF70で障害を検出したので全てのVF71〜73のVFドライバはデバイスの実行を安全に終了しようとする。
PF70へのACK処理が必要なVFイベントの場合は(S430)、マスタ仮想計算機モニタ11は割込み処理又はレジスタWriteによりPFドライバ115へACKを伝達し、PFドライバ115はACK受信処理を実行する(S435)。
次に、処理ステップ(S400〜S465)は、マスタ仮想計算機モニタ11上で制御しているPF70からスレイブ仮想計算機モニタ21上のLPAR221に割当てられているVF[n]73へのVFイベントが発生した場合(例えば、PFドライバ115で障害を検知しVF[1]71〜VF[m]72〜VF[n]73へ通知する場合)の処理を示す。
PFドライバ115が、割込み処理又はレジスタWriteによりVF[n]73向けのVFイベントを発生させると(S400)、マスタ仮想計算機モニタ11はVFイベントを検出する(S405)。
そして、対象となるVFはマスタ仮想計算機モニタ11上のLPARに割り当てられているかを判断する(S410)。その結果、対象となるVF[n]73がスレイブ仮想計算機モニタ21上のLPAR221に割当てられている場合には、対象となるVF[n]73が割当てられているLPAR221を制御しているスレイブ仮想計算機モニタ21へ通信部110を経由してVFイベントを通知する(S450)。
スレイブ仮想計算機モニタ21におけるVFイベント処理については、図5を参照する。スレイブ仮想計算機モニタ21の通信部110がVFイベントを受信し(S500)、VFイベント受信部112でVFイベントを認識する(S510)。
VFイベントが認識されると、VFイベント実行部114で割込み生成又はレジスタWriteによりVF[n]73が割当てられたLPAR221上のVFドライバ2211にVFイベントを伝達する(S520)。
VFイベントを認識したVFドライバ2211はイベントの種類に応じた処理を実行する(S530)。そして、PF70へのACKが必要なイベントか否かを判断する(S540)。その結果、PF70へのACK処理が必要なVFイベントの場合は、通信部210を経由してマスタ仮想計算機モニタ11へACKを送信する(S550)。
図4に戻って、ACK処理が必要なVFイベントの場合(S455、YES)、通信部110はACKの受信を待ち、もしACKを受信したら(S460)、マスタ仮想計算機モニタ11は割込み処理又はレジスタWriteによりPFドライバ115へACKを伝達し、PFドライバ115はACK受信処理を実行する(S465)。
一実施例による計算機システムの構成例を示す図。 仮想計算機モニタのPFイベント処理を示すフローチャート図。 マスタ仮想計算機モニタにおけるPFイベント処理を示すフローチャート図。 仮想計算機モニタのVFイベント処理を示すフローチャート図。 スレイブ仮想計算機モニタにおけるVFイベント処理を示すフローチャート図。
符号の説明
10,20,30:物理計算機
11:マスタ仮想計算機モニタ 12:スレイブ仮想計算機モニタ
121,122,221,222:LPAR
1211,2211:VFドライバ 115,215:PFドライバ
50:IOスイッチ 61,62:SR−IOVデバイス
70:PF 71、72、73:VF。

Claims (7)

  1. 複数の物理計算機、IOスイッチを介してIOデバイスと接続して該IOデバイスを共有することができる計算機システムであって、
    前記複数の物理計算機はそれぞれ、該物理計算機上に構築された複数の仮想計算機(LPAR)と、自らの該物理計算機上に構築された該複数のLPARを管理する仮想計算機モニタを有し、
    前記IOデバイスは、1の該物理計算機に割当てられることができるPF(Physical Function)と、該複数のLPARに割当てられることができる複数のVF(Virtual Function)を有し、
    前記複数の物理計算機のうち1の物理計算機の前記仮想計算機モニタは、該複数のLPARに割当てられた前記IOデバイスの該複数のVFに対するVFイベントを実行するVF実行手段を有し、かつ該IOデバイス内の該PFが割当てられ、かつ該PFを制御することができるマスタ仮想計算機モニタを構成し、
    前記複数の物理計算機のうち他の物理計算機の前記仮想計算機モニタは、該複数のLPARに割当てられた前記IOデバイスの該複数のVFに対するVFイベントを実行するVF実行手段を有し、かつ該複数のLPARを制御することができるが、該IOデバイス内の該PFが割当てられず、該PFの制御を行わないスレーブ仮想計算機モニタを構成し、
    更に、前記マスタ仮想計算機モニタは、該マスタ仮想計算機モニタ又は該スレーブ仮想計算機モニタが検知した、該IOデバイスの該PFに対するPFイベントを実行するPF実行手段を有すること、を特徴とする計算機システム。
  2. 前記IOデバイスは、PCI−SIG規格に基くSR−IOV(Single Root IO Virtualization)デバイスであることを特徴とする請求項1の計算機システム。
  3. 前記スレーブ仮想計算機モニタに管理されている、あるVFを割当てられた該LPARから該PFへの該PFイベントに対し、前記スレーブ仮想計算機モニタが該PFイベントを検出した場合、前記スレーブ仮想計算機モニタは前記マスタ仮想計算機モニタへ該PFイベントを通知し、前記マスタ仮想計算機モニタは該PFイベントの通知を受信して、該PFイベント実行手段によって該PFのイベントを実行することを特徴とする請求項1又は2の計算機システム。
  4. 前記マスタ仮想計算機モニタは、該PFイベントの通知を受信した後、前記スレーブ仮想計算機モニタへACKを送信し、前記スレーブ仮想計算機モニタは該PFイベントのACK受信処理を実行することを特徴とする請求項3の計算機システム。
  5. 前記マスタ仮想計算機モニタに割当てられた該PFからあるVFへのVFイベントに対し、前記マスタ仮想計算機モニタが該VFイベントを検出した場合、
    前記マスタ仮想計算機モニタは、該あるVFが割当てられたLPARを管理する前記スレーブ仮想計算機モニタへ該VFイベントを通知し、
    前記スレーブ仮想計算機モニタは該VFイベントの通知を受信し、該VFイベントを該あるVFが割当てられた該LPARへ伝達して、該LPARは自ら有する該VF実行手段を用いて該あるVFを制御して該VFイベントを実行することを特徴とする請求項1乃至4のいずれかの計算機システム。
  6. 該あるVFが割当てられた該LPARを管理する前記スレーブ仮想計算機モニタは、該VFイベントの通知を受信した後、前記マスタ仮想計算機モニタへACKを送信し、前記マスタ仮想計算機モニタは該VFイベントのACK受信処理を実行することを特徴とする請求項5の計算機システム。
  7. 該複数のSR−IOVデバイスの各PFを任意の該仮想計算機モニタに割当てて、該SR−IOV毎に前記マスタ仮想計算機モニタを設定することを特徴とする請求項2乃至のいずれかの計算機システム。
JP2008152507A 2008-06-11 2008-06-11 計算機システム Expired - Fee Related JP4934642B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008152507A JP4934642B2 (ja) 2008-06-11 2008-06-11 計算機システム
US12/457,252 US8156253B2 (en) 2008-06-11 2009-06-04 Computer system, device sharing method, and device sharing program
US13/420,854 US8375148B2 (en) 2008-06-11 2012-03-15 Computer system, device sharing method, and device sharing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008152507A JP4934642B2 (ja) 2008-06-11 2008-06-11 計算機システム

Publications (2)

Publication Number Publication Date
JP2009301162A JP2009301162A (ja) 2009-12-24
JP4934642B2 true JP4934642B2 (ja) 2012-05-16

Family

ID=41415797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008152507A Expired - Fee Related JP4934642B2 (ja) 2008-06-11 2008-06-11 計算機システム

Country Status (2)

Country Link
US (2) US8156253B2 (ja)
JP (1) JP4934642B2 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5272265B2 (ja) * 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
JP5458708B2 (ja) * 2009-07-09 2014-04-02 株式会社リコー 画像処理装置、表示制御方法、及び表示制御プログラム
US9256560B2 (en) * 2009-07-29 2016-02-09 Solarflare Communications, Inc. Controller integration
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US8756597B2 (en) * 2010-02-05 2014-06-17 Novell, Inc. Extending functionality of legacy services in computing system environment
US8271707B2 (en) * 2010-02-17 2012-09-18 Broadcom Corporation Method and system for PCI hybrid function
JP2012048546A (ja) * 2010-08-27 2012-03-08 Hitachi Ltd 計算機システム、i/oデバイス制御方法、及びi/oドロワ
US9135044B2 (en) * 2010-10-26 2015-09-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Virtual function boot in multi-root I/O virtualization environments to enable multiple servers to share virtual functions of a storage adapter through a MR-IOV switch
WO2012063294A1 (ja) * 2010-11-12 2012-05-18 株式会社日立製作所 計算機システム
US8561065B2 (en) 2010-11-15 2013-10-15 International Business Machines Corporation Virtualization of vendor specific network interfaces of self-virtualizing input/output device virtual functions
US8301806B2 (en) 2010-11-24 2012-10-30 International Business Machines Corporation Configuring an input/output adapter
US9218219B2 (en) 2010-11-24 2015-12-22 International Business Machines Corporation Managing virtual functions of an input/output adapter
US8839240B2 (en) 2010-11-29 2014-09-16 International Business Machines Corporation Accessing vendor-specific drivers for configuring and accessing a self-virtualizing input/output device
US8495274B2 (en) 2010-12-08 2013-07-23 International Business Machines Corporation Address translation table to enable access to virtual functions
US9146863B2 (en) 2010-12-08 2015-09-29 International Business Machines Corporation Address translation table to enable access to virtualized functions
US8561066B2 (en) 2010-12-08 2013-10-15 International Business Machines Corporation Simplified DMA mappings for self-virtualizing input/output device virtual functions
US8645755B2 (en) 2010-12-15 2014-02-04 International Business Machines Corporation Enhanced error handling for self-virtualizing input/output device in logically-partitioned data processing system
US8683478B2 (en) 2010-12-21 2014-03-25 International Business Machines Corporation Best fit mapping of self-virtualizing input/output device virtual functions for mobile logical partitions
US8537706B2 (en) 2011-01-11 2013-09-17 International Business Machines Corporation Preserving traffic class priority QoS with self-virtualizing input/output device
US8677356B2 (en) 2011-01-11 2014-03-18 International Business Machines Corporation Adjunct partition work scheduling with quality of service attributes
US8418166B2 (en) 2011-01-11 2013-04-09 International Business Machines Corporation Transparent update of adapter firmware for self-virtualizing input/output device
US8862739B2 (en) 2011-01-11 2014-10-14 International Business Machines Corporation Allocating resources to virtual functions
US8447891B2 (en) 2011-01-11 2013-05-21 International Business Machines Corporation Dynamically assigning virtual functions to client applications
US8825981B2 (en) 2011-01-25 2014-09-02 International Business Machines Corporation Allocating addressable memory regions to an adapter
US8364871B2 (en) 2011-01-25 2013-01-29 International Business Machines Corporation Providing virtual functions after an input/output adapter is moved from a first location to a second location
US8832401B2 (en) 2011-01-26 2014-09-09 International Business Machines Corporation Iteratively de-allocating active objects associated with virtual functions of an adapter
US8726276B2 (en) 2011-01-26 2014-05-13 International Business Machines Corporation Resetting a virtual function that is hosted by an input/output adapter
US8527666B2 (en) 2011-02-21 2013-09-03 International Business Machines Corporation Accessing a configuration space of a virtual function
JP5585844B2 (ja) * 2011-03-25 2014-09-10 株式会社日立製作所 仮想計算機の制御方法及び計算機
US8504780B2 (en) 2011-04-08 2013-08-06 Hitachi, Ltd. Computer, computer system, and data communication method
US8966477B2 (en) * 2011-04-18 2015-02-24 Intel Corporation Combined virtual graphics device
WO2012151392A1 (en) * 2011-05-04 2012-11-08 Citrix Systems, Inc. Systems and methods for sr-iov pass-thru via an intermediary device
US9218195B2 (en) 2011-05-17 2015-12-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
US8549518B1 (en) 2011-08-10 2013-10-01 Nutanix, Inc. Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment
US8863124B1 (en) 2011-08-10 2014-10-14 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9652265B1 (en) * 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US8850130B1 (en) 2011-08-10 2014-09-30 Nutanix, Inc. Metadata for managing I/O and storage for a virtualization
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US8996700B2 (en) 2011-09-29 2015-03-31 International Business Machines Corporation Automated workload performance and availability optimization based on hardware affinity
US8959223B2 (en) 2011-09-29 2015-02-17 International Business Machines Corporation Automated high resiliency system pool
WO2013084305A1 (ja) * 2011-12-06 2013-06-13 株式会社日立製作所 仮想化多重系構成制御方法及び計算機システム
JP2013120494A (ja) 2011-12-07 2013-06-17 Hitachi Ltd Sr−iov対応デバイスを搭載した仮想計算機及び障害検出方法
JP5748349B2 (ja) 2012-03-16 2015-07-15 株式会社日立製作所 仮想計算機の制御方法及び仮想計算機システム
EP2835743A4 (en) * 2012-04-06 2015-12-09 Nec Corp SYSTEM AND METHOD FOR SHARING I / O DEVICE
US20140006676A1 (en) * 2012-06-28 2014-01-02 Dell Products L.P. Systems and methods for dynamic allocation of information handling resources
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
CN103201721B (zh) * 2012-08-29 2016-05-25 华为技术有限公司 虚拟机热迁移的***和方法
US9727386B2 (en) * 2012-10-12 2017-08-08 Futurewei Technologies, Inc. Method and apparatus for network resource virtual partitioning
US9047208B1 (en) * 2012-12-10 2015-06-02 Qlogic, Corporation Method and system of configuring virtual function in peripheral devices
WO2014100279A1 (en) 2012-12-18 2014-06-26 Dynavisor, Inc. Dynamic device virtualization
JP5917441B2 (ja) * 2013-06-03 2016-05-11 株式会社日立製作所 仮想計算機システム、sr−iov対応デバイスの制御方法
US9323620B2 (en) 2013-06-12 2016-04-26 International Business Machines Corporation Implementing shared adapter configuration updates concurrent with maintenance actions in a virtualized system
US9317317B2 (en) 2013-06-12 2016-04-19 International Business Machines Corporation Implementing concurrent device driver maintenance and recovery for an SRIOV adapter in a virtualized system
US9720775B2 (en) 2013-06-12 2017-08-01 International Business Machines Corporation Implementing concurrent adapter firmware update for an SRIOV adapter in a virtualized system
US9304849B2 (en) * 2013-06-12 2016-04-05 International Business Machines Corporation Implementing enhanced error handling of a shared adapter in a virtualized system
US10261813B2 (en) * 2013-09-25 2019-04-16 Arm Limited Data processing system for dispatching tasks from a plurality of applications to a shared resource provided by an accelerator
US10440080B2 (en) * 2013-10-18 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Software-defined media platform
US9910689B2 (en) 2013-11-26 2018-03-06 Dynavisor, Inc. Dynamic single root I/O virtualization (SR-IOV) processes system calls request to devices attached to host
CN103890728B (zh) 2013-12-31 2015-12-30 华为技术有限公司 虚拟机热迁移的方法和服务器
WO2015130837A1 (en) * 2014-02-25 2015-09-03 Dynavisor, Inc. Dynamic information virtualization
US10089129B2 (en) * 2014-06-30 2018-10-02 International Business Machines Corporation Supporting flexible deployment and migration of virtual servers via unique function identifiers
CN104636186B (zh) 2015-01-27 2018-02-13 华为技术有限公司 虚拟机内存管理方法、物理主机、pcie设备及其配置方法以及迁移管理设备
CN104636185B (zh) * 2015-01-27 2018-03-02 华为技术有限公司 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
JP5943110B1 (ja) * 2015-03-12 2016-06-29 日本電気株式会社 情報処理システム、情報処理方法、及び、プログラム
CN106302322B (zh) * 2015-05-19 2020-05-26 腾讯科技(深圳)有限公司 一种虚拟机数据流管理方法和***
WO2016209624A1 (en) * 2015-06-22 2016-12-29 Draios Inc. Monitoring of applications isolated in containers
US10467103B1 (en) 2016-03-25 2019-11-05 Nutanix, Inc. Efficient change block training
US10810122B2 (en) * 2018-11-29 2020-10-20 International Business Machines Corporation Dynamic I/O translation table allocation for single root input output virtualization enabled I/O adapters
US10833707B2 (en) 2019-02-12 2020-11-10 International Business Machines Corporation Error trapping in memory structures
US11822964B2 (en) 2020-06-03 2023-11-21 Baidu Usa Llc Data protection with static resource partition for data processing accelerators

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249254A (ja) * 1995-03-15 1996-09-27 Mitsubishi Electric Corp マルチコンピュータシステム
JP4256693B2 (ja) * 2003-02-18 2009-04-22 株式会社日立製作所 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法
JP4196333B2 (ja) * 2003-05-27 2008-12-17 日本電気株式会社 並列処理システム及び並列処理プログラム
JP4295184B2 (ja) * 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
JP4394624B2 (ja) * 2005-09-21 2010-01-06 株式会社日立製作所 計算機システム及びi/oブリッジ
US7548964B2 (en) * 2005-10-11 2009-06-16 International Business Machines Corporation Performance counters for virtualized network interfaces of communications networks
US7447854B1 (en) * 2005-12-30 2008-11-04 Vmware, Inc. Tracking and replicating changes to a virtual disk
US7546398B2 (en) * 2006-08-01 2009-06-09 International Business Machines Corporation System and method for distributing virtual input/output operations across multiple logical partitions
US7506084B2 (en) * 2006-10-17 2009-03-17 International Business Machines Corporation Method for communicating with an I/O adapter using cached address translations
JP4897578B2 (ja) * 2007-06-06 2012-03-14 株式会社日立製作所 仮想計算機の制御プログラムおよび仮想計算機システム
US8359415B2 (en) * 2008-05-05 2013-01-22 International Business Machines Corporation Multi-root I/O virtualization using separate management facilities of multiple logical partitions
US8332849B2 (en) * 2008-05-30 2012-12-11 Lsi Corporation Paravirtualization acceleration through single root I/O virtualization

Also Published As

Publication number Publication date
US8375148B2 (en) 2013-02-12
US20090313391A1 (en) 2009-12-17
US8156253B2 (en) 2012-04-10
JP2009301162A (ja) 2009-12-24
US20120174103A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
JP4934642B2 (ja) 計算機システム
US9135044B2 (en) Virtual function boot in multi-root I/O virtualization environments to enable multiple servers to share virtual functions of a storage adapter through a MR-IOV switch
US9858102B2 (en) Data path failover method for SR-IOV capable ethernet controller
JP5305848B2 (ja) データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
JP5585844B2 (ja) 仮想計算機の制御方法及び計算機
US8726276B2 (en) Resetting a virtual function that is hosted by an input/output adapter
US8990459B2 (en) Peripheral device sharing in multi host computing systems
US7865782B2 (en) I/O device fault processing method for use in virtual computer system
US9135101B2 (en) Virtual function timeout for single root input/output virtualization controllers
WO2016153727A1 (en) A method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
CA2804619A1 (en) Network topology-aware recovery automation
JP2006085543A (ja) 仮想計算機システム
US9806959B2 (en) Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface
EP3073377B1 (en) Hardware-based inter-device resource sharing
US9928206B2 (en) Dedicated LAN interface per IPMI instance on a multiple baseboard management controller (BMC) system with single physical network interface
US9779047B2 (en) Universal intelligent platform management interface (IPMI) host to baseboard management controller (BMC) communication for non-x86 and legacy free systems
CN103701881A (zh) 一种支持i/o功能动态分配的虚拟热插拔***及其工作方法
TW201805830A (zh) 設備分配控制器以及設備分配方法
US8364871B2 (en) Providing virtual functions after an input/output adapter is moved from a first location to a second location
US9110731B1 (en) Hard allocation of resources partitioning
JP6212131B2 (ja) 計算機、計算機制御方法、および計算機制御プログラム
JP5917441B2 (ja) 仮想計算機システム、sr−iov対応デバイスの制御方法
JP5998482B2 (ja) 監視システム
US10152341B2 (en) Hyper-threading based host-guest communication
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111209

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: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees