JP2015088014A - 計算機の制御方法及び計算機 - Google Patents

計算機の制御方法及び計算機 Download PDF

Info

Publication number
JP2015088014A
JP2015088014A JP2013226827A JP2013226827A JP2015088014A JP 2015088014 A JP2015088014 A JP 2015088014A JP 2013226827 A JP2013226827 A JP 2013226827A JP 2013226827 A JP2013226827 A JP 2013226827A JP 2015088014 A JP2015088014 A JP 2015088014A
Authority
JP
Japan
Prior art keywords
processor core
group
interrupt
processor
virtualization
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.)
Granted
Application number
JP2013226827A
Other languages
English (en)
Other versions
JP6111181B2 (ja
JP2015088014A5 (ja
Inventor
貴之 今田
Takayuki Imada
貴之 今田
俊臣 森木
Toshiomi Moriki
俊臣 森木
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 JP2013226827A priority Critical patent/JP6111181B2/ja
Priority to US14/528,529 priority patent/US9639486B2/en
Publication of JP2015088014A publication Critical patent/JP2015088014A/ja
Publication of JP2015088014A5 publication Critical patent/JP2015088014A5/ja
Application granted granted Critical
Publication of JP6111181B2 publication Critical patent/JP6111181B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

【課題】仮想化ソフトウェアと第1のOSを独立して実行するマルチコアプロセッサで仮想化ソフトウェアを実行するプロセッサコアのみをリセットさせる。【解決手段】第1のOSに第1のプロセッサコアグループを割り当て、仮想化部に第2のプロセッサコアグループを割り当て、仮想化部は、第2のプロセッサコアグループをリセットするための割込みハンドラを登録し、第1のOSが、仮想化部の起動時に第2のプロセッサコアグループに所属する各プロセッサコアの識別子を取得して保持し、第1のOSが、仮想化部を監視して所定の条件に基づいて前記仮想化部の再起動を行うことを決定し、前記保持した識別子に対応する第2のプロセッサコアグループにリセット用割込みを発行し、第2のプロセッサコアグループは、リセット用割込みを受信すると割込みハンドラを実行して自身のプロセッサコアをリセットする。【選択図】図1

Description

本発明は、マルチコアプロセッサを有する計算機で仮想化ソフトウェアを利用する場合の制御技術に関する。
近年、企業で用いられるストレージ装置では、単体のアクセス性能に加えて、低価格、省エネや省スペースといったコストパフォーマンスが重視されている。従来、アクセスI/Fの種類やプロトコルに応じて個別の専用ストレージ装置が用意されてきた。しかし、近年では、SAN(Storage Area Network)とLAN(Local Area Network)の両方のアクセスI/Fを備えた統合ストレージ装置が台頭しており、そのコストパフォーマンスの高さに注目が集まっている。
統合ストレージ装置では、同一の筐体内でSAN I/Fからのブロックアクセス(セクタ単位でのHDDアクセス手法)を処理するブロックOS(Operating System)と、LAN I/Fからのファイルアクセス(ファイル単位でのデータアクセス手法)を処理するファイルOSの両方を同時に稼働させる必要がある。例えば、単一の計算機上で複数OSの同時稼働を実現する手段として、VMM(Virtual Machine Manager)等の仮想化ソフトウェアが知られている。
仮想化ソフトウェアは主にサーバ装置で使われてきた技術で、単一の計算機上で複数の論理区画を生成する。各論理区画では独立して個別のOSが実行できるため、統合ストレージ装置内に2つの論理区画を生成し、1つの論理区画ではブロックOSを稼働させ、もう一方の論理区画でゲストOSとしてファイルOSを稼働させ、両者を仮想的な通信経路で接続することにより同時稼働が実現できる。
仮想化ソフトウェアの主な役割は、計算機の物理資源(プロセッサやメモリ、I/Oデバイス)と論理区画との対応付けを管理することである。物理資源の管理のため、仮想化ソフトウェアは論理区画上でのプロセッサの利用状況や割込みによる通信状況等を常時監視し、論理区画上のゲストOSに割り当てた資源を超えてアクセスした場合に当該アクセスを抑制する、もしくは処理の代替を行う。
この処理を全てソフトウェアで行うと多大な性能低下(オーバヘッド)を生じるため、近年のx86系のプロセッサでは、仮想化ソフトウェアによる物理資源の管理をハードウェアでサポートするための機能を備えている(例えば、特許文献1)。以下、この種の機能を仮想化支援機能とする。
仮想化ソフトウェアを利用する場合、ソケット内のプロセッサコアは全て仮想化有効状態で運用されている。同様にして仮想化ソフトウェアを利用しない場合では、ソケット内のプロセッサコアは全て仮想化無効状態で運用されている。そして、あるマルチコアプロセッサ上では単一のVMM、もしくは単一のOSが直接動作することを想定しており、マルチコアプロセッサのリセットが必要な場合には、マルチコアプロセッサのソケット上の全てのプロセッサコアが全てリセットされる(例えば、特許文献2)。
特開2010−108271号公報 特開平6−325008号公報
マルチコアプロセッサで、ファイルOS(第2のOS)を稼働させる仮想化ソフトウェアと、仮想化ソフトウェアとは独立してファイルOS(第1のOS)を実行させる場合、仮想化ソフトウェアと第1のOSにそれぞれプロセッサコアを割り当てる。
しかしながら上記従来技術では、ファイルOS(第2のOS)を稼働させる仮想化ソフトウェアに障害が発生すると、マルチコアプロセッサの全てのプロセッサコアがリセットされてしまい、仮想化ソフトウェアとは独立して稼働しているブロックOS(第1のOS)のプロセッサコアまでリセットされてしまう、という問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、第2のOSを稼働させる仮想化ソフトウェアに障害が発生してプロセッサコアのリセットを行う際に、第1のOSのプロセッサコアをリセットすることなく、仮想化ソフトウェアを実行するプロセッサコアのみをリセットさせることを目的とする。
本発明は、仮想化支援機能を有するマルチコアプロセッサと、メモリとを含む計算機の制御方法であって、前記計算機は、前記マルチコアプロセッサのうち前記仮想化支援機能を無効にした第1のプロセッサグループと、前記マルチコアプロセッサのうち前記仮想化支援機能を有効にした第2のプロセッサグループと、前記メモリの一部領域からなる第1のメモリグループと、前記メモリの残りの領域からなる第2のメモリグループとを含み、第1のOSに前記第1のプロセッサコアグループと前記第1のメモリグループを割り当てて、前記第1のOSを起動させる第1のステップと、仮想計算機を稼働させる仮想化部に前記第2のプロセッサコアグループと前記第2のメモリグループを割り当て、前記仮想化部を起動させる第2のステップと、前記仮想化部が、前記メモリのうちの所定の領域と、前記第2のプロセッサグループのうちの所定のプロセッサコアと、を前記仮想計算機に割り当てて第2のOSを起動させる第3のステップと、前記仮想化部が、前記第2のプロセッサコアグループをリセットするための割込みハンドラを登録する第4のステップと、前記第1のOSが、前記仮想化部の起動時に前記第2のプロセッサコアグループに所属する各プロセッサコアの識別子を取得して保持する第5のステップと、前記第1のOSが、前記仮想化部の稼働状態を監視して、所定の条件に基づいて前記仮想化部の再起動を行うか否かを決定する第6のステップと、前記仮想化部の再起動を行う場合は、前記第1のOSが、前記保持した識別子に対応する第2のプロセッサコアグループに所属するプロセッサコアへリセット用割込みを発行する第7のステップと、前記仮想化部に割り当てられた前記第2のプロセッサコアグループは、前記リセット用割込みを受信すると、前記割込みハンドラを実行して、自身のプロセッサコアのリセットを実施する第8のステップと、前記第1のOSが、前記第2のプロセッサコアグループへスタートアップ用割込みを発行する第9のステップと、を含む。
したがって、本発明は、マルチコアプロセッサで第2のOSを稼働させる仮想化部に障害が発生してプロセッサコアのリセットを行う際に、第1のOSを実行するプロセッサコアをリセットすることなく、仮想化部を実行するプロセッサコアのみをリセットさせることが可能となる。
本発明の実施例を示し、マルチコアプロセッサを有するひとつのハードウェアを用いてファイル機能とブロック機能を統合したストレージ装置の一例を示すブロック図である。 本発明の実施例を示し、仮想化機能を有効にした物理プロセッサコアグループBのLAPIC IDの一例を示す図である。 本発明の実施例を示し、VMMが保持する仮想計算機管理状態データ群の一例を示す図である。 本発明の実施例を示し、第1のOSがVMMを起動させる処理の一例を示すシーケンス図である。 本発明の実施例を示し、VMMに障害が発生したときの処理の一例を示すシーケンス図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1は、本発明の実施例を示し、マルチコアプロセッサを用いた計算機システムの一例を示すブロック図である。
本実施例では、統合ストレージ装置を構成するために仮想化ソフトウェア(VMM)の非管理下のOSとしてブロックOS130と、仮想化ソフトウェア上のゲストOSとしてファイルサーバOS160を同一のハードウェア上で独立して稼働させ、前記第2のOSから発行されたストレージ制御コマンドを前記ブロックOSが処理し、その後、前記ブロックOSが割込みを利用してコマンド完了の通知を前記第2のOSへ行う例を説明する。なお、以下では、ブロックOSを第1のOS130とし、ファイルサーバOSを第2のOS160とする。
<ハードウェア構成>
本発明を実施する統合ストレージ装置のハードウェア構成例について、図1を参照しながら説明する。物理計算機110はハードウェアリソースとしてマルチコアプロセッサ111と、メモリリソース112と、を有する。なお、図示はしないが、ストレージやネットワークなどとの間でデータの送受信を行うI/Oリソースを含んでいても良い。
マルチコアプロセッサ111は、マルチコアプロセッサを利用して複数のプロセッサコアから構成される。各プロセッサコアは仮想化支援機能を有し、仮想化支援機能を有効に設定したコアの物理プロセッサコアグループB114と、仮想化支援機能を無効に設定したコアの物理プロセッサコアグループA113と、に分類される。なお、仮想化支援機能としては、例えば、Intel(登録商標)社のVT−xを利用する例を示す。
ここで、マルチコアプロセッサ111は、仮想化支援機能が有効な状態をVMX ONとし、仮想化支援機能が無効な状態をVMX OFFとする。そして、VMX ONの物理プロセッサコアを物理プロセッサコアグループB114、プロセッサコア1140で示し、VMX OFFの物理プロセッサコアを物理プロセッサコアグループA113、プロセッサコア1130で示す。
メモリリソース112は、第1のOSに割り当てられるメモリグループA115aと、仮想化ソフトウェアとしてのVMM(Virtual Machine Monitor)140に割り当てられるメモリグループB115bから構成される。メモリグループA115aは物理プロセッサコアグループA113からアクセスされる。メモリグループB115bは物理プロセッサコアグループB114からアクセスされ、さらにメモリグループB115bの一部は第2のOS160から利用される。また、メモリグループB115bのうちVMM140に割り当てられるメモリ領域の一部は、第1のOSから直接アクセス可能な共有メモリ領域116を含む。
<ソフトウェア構成>
次に、物理計算機110上で実行されるソフトウェアの構成の主要部について、図1を参照しながら詳述する。
ひとつの物理計算機110上では、第1のOSと、仮想化ソフトウェアとしてのVMM140がシステムソフトウェアとして独立してそれぞれ稼働する。なお、第1のOSはSAN等を介してHDD等をセクタ単位でアクセスするOSである。また、第2のOS(ファイルOS)OS160は、LAN(図示省略)に接続されてファイル単位でデータを管理するOSである。
第1のOS130は、物理計算機110のハードウェアを直接制御できるネイティヴパーティション101で稼働し、第2のOS160は、VMM140が管理するゲストパーティション102の仮想計算機150で稼働する。
まず、ネイティヴパーティション101の構成について説明する。
ネイティヴパーティション101のVMX OFFの物理プロセッサコアグループA113では、第1のOS130が実行される。第1のOS130は、VMM140の稼働状態を監視するVMM監視部131と、VMM140に障害が発生したときに物理プロセッサコアグループB114に割込みをかけてリセットさせる割込み制御部132とを含む。なお、ストレージ制御コマンドを実行するコマンド処理部(図示省略)等については、公知または周知の技術を採用すれば良いので、ここでは詳述しない。
VMM監視部130は、VMM140の稼働状態を監視して(203)、障害が発生した場合には割込み制御部132にリセット要求202を送信する。VMM監視部130がVMM140の稼働状態を監視する手法としては、VMM140のハートビートの検出など、公知または周知の手法を用いることができる。
割込み制御部132は、VMM140の起動時(または起動直後)に、VMM140が利用するVMX ONの物理プロセッサコアグループBのプロセッサコア1140の識別子としてLAPIC(Local Advanced Programmable Interrupt Controller) IDを取得して、物理プロセッサコアグループB LAPIC IDテーブル133に保持する。
割込み制御部132は、VMM監視部131からリセット要求202を受け付けると、物理プロセッサコアグループB LAPIC IDテーブル133を参照して、VMM140を実行する物理プロセッサコア1140を特定する。割込み制御部132は、特定した物理プロセッサコア1140に対してNMI(Non Maskable Interrupt)を発行する。なお、このとき、物理プロセッサコア1140では、VMMもしくは第2のOSが実行されているものとする。
第2のOS160を実行する物理プロセッサコアグループB114は、NMIを受信すると各プロセッサコア1140が、後述するように、割込みハンドラを起動する。
その後、割込み制御部132は、所定時間が経過した後に、上記特定した物理プロセッサコア1140に対してスタートアップ用割込みとして、SIPI (Startup IPI:IPI=Inter Processor Interrupt) を発行する。NMIを受信した物理プロセッサコア1140においてVMM140が実行されている場合、割り込みハンドラに登録されたセルフリセットを実行する。一方、NMIを受信した物理プロセッサコア1140において第2のOSが実行されている場合、制御をVMM140へ移行してセルフリセットを実行し、その後、上記SIPIによって、物理プロセッサコア1140のみが再起動して、VMM140を再起動することになる。
第2のOSを実行する物理プロセッサコアグループA113には、マルチコアプロセッサ111を起動させるためブート管理機能を有する唯一の物理プロセッサコアであるBSP(Bootstrap Processor)コアを含み、統合ストレージ装置の起動を制御する。その他のプロセッサコア1130、1140はBSPから初期化の指令(INIT IPI (Initialize IPI))を受信して起動するApplication Processor(以下、AP)として機能する。なお、BSPは、図1の物理プロセッサコアグループA113のプロセッサコア1130(BSP)として表示し、その他についてはプロセッサコア1130(AP)、1140(AP)として表示した。
また、VMM監視部131、割込み制御部132は、プログラムとしてメモリグループA115aにロードされ、物理プロセッサコアグループA113の各プロセッサコア1130で実行される。なお、プロセッサコア1130(BSP)は、IPIの発行以外についてはプロセッサコア1130(AP)と同様であるので、上記プログラムの実行についてはプロセッサコア1130として区別せずに表記する。
各プロセッサコア1130は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、各プロセッサコア1130は、VMM監視プログラムに従って処理することでVMM監視部131として機能する。他のプログラムについても同様である。さらに、プロセッサコア1130は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
第2のOSの各機能を実現するプログラム、テーブル等の情報は、図示しないストレージサブシステムや不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
次に、ゲストパーティション102のソフトウェア構成について説明する。
ゲストパーティション102では、VMX ONの物理プロセッサコアグループB114がVMM140を実行し、VMM140上の仮想計算機150では第2のOS160が実行される。
VMM140は、ゲストパーティション102の物理リソースを仮想計算機150に割り当てて、ゲストOSとしての第2のOS160を稼働させる。仮想計算機150はVMM140により複数生成することができ、全ての仮想計算機150はゲストパーティション102に所属する。VMM140は、物理リソースと仮想計算機150の仮想リソースの対応関係を管理する。
VMM140は、物理プロセッサコアグループB114の1以上のプロセッサコア1140を、仮想計算機150の仮想プロセッサコアグループ151に割り当てる。仮想プロセッサコアグループ151は、1以上の仮想プロセッサコア1510を含んで第2のOS160を実行する。なお、ゲストパーティション102の物理リソースは、ネイティヴパーティション101の第1のOS130が起動し、当該第1のOS130が所定の物理リソースをゲストパーティション102へ割り当てるようにしてもよい。
仮想計算機150が有する仮想プロセッサコア1510毎の実行ステートは、VMM140が管理する仮想計算機管理状態データ群145によって保持される。仮想計算機管理状態データ群145は、例えば、前記特許文献1に開示されるようなVMCS(Virtual Machine Control Structure)のようなデータ構造である。
VMX ONの物理プロセッサコアグループB114のプロセッサコア1140は、前記特許文献1と同様に、ゲストOSとしての第2のOS160を実行するVMXノンルートと、VMM140を実行するVMXルートの2つの状態を遷移する。例えば、物理プロセッサコアグループB114のプロセッサコア1140は、VM Entry命令を受け付けると、VMXルートからVMXノンルートへ移行し、仮想計算機管理状態データ群145を読み込んで仮想計算機150の第2のOS160を実行する。また、プロセッサコア1140は、VM Exit命令を受け付けると、VMXノンルートからVMXルートへ移行し、仮想計算機管理状態データ群145に第2のOS160の状態を保存してVMM140を実行する。
なお、VMM140を実行するモードと、第2のOS160を実行するモードは、上記VMXルート、VMXノンルートに限定されるものではなく、マルチコアプロセッサ111のアーキテクチャなどに応じて異なるものである。
VMM140は、仮想計算機管理状態データ群145の他に、物理プロセッサコアグループB114のプロセッサコア1140を特定するため、LAPIC IDを保持する物理プロセッサコアグループB LAPIC IDテーブル141と、プロセッサコア1140がNMIを受け付けたときに呼び出される割込みハンドラ146と、を保持する。
VMM140は、起動時に物理プロセッサコアグループB LAPIC IDテーブル141を生成した後、第1のOS130へ当該テーブル141転送する。転送されたテーブル141は、物理プロセッサコアグループB LAPIC IDテーブル133として第1のOS130に保持される。VMM140の起動時に、物理プロセッサコアグループB LAPIC IDテーブル141を第1のOS130へ転送しておく。これにより、VMM140に障害が発生したときでも、VMM140が正常な状態のときに取得した情報によって、第1のOS130はリセットすべきプロセッサコア1140を正確に特定できる。
図2は、物理プロセッサコアグループB LAPIC IDテーブル133、141の一例を示す図である。
物理プロセッサコアグループB LAPIC IDテーブル133、141は同一の内容であり、図示の例では、LAPIC ID=4〜7のプロセッサコア1140がVMM140(ゲストパーティション102の物理プロセッサコアグループB114)に割り当てられている。
図3は、VMM140が保持する仮想計算機管理状態データ群145の一例を示す図である。仮想計算機管理状態データ群145は、仮想プロセッサコア(図中PU)の識別子を示す仮想プロセッサ番号301と、NMIを受信したときの動作を設定する割込み転送設定フィールド302と、ゲストOSの状態を保持する仮想計算機管理状態データ303から構成される。
図示の例では、仮想プロセッサコアが#0〜#nのそれぞれについて、NMIを受信したときには、「VM Exiting」によりVMXルートへ遷移することが、割込み転送設定フィールド302に設定されている。仮想計算機管理状態データ303は、前記特許文献1のVMCSと同様に仮想プロセッサコア1510のステータスや物理プロセッサコア1130、1140と仮想プロセッサコア1510の対応関係などが保持される。
<処理の概要>
本実施例の処理の概要を以下に説明する。本実施例の前提として、マルチコアプロセッサ111は、コア毎に仮想化支援機能の有効、無効を設定可能で、かつ、仮想化支援機能が有効なプロセッサコア1140は、リセット命令(INIT IPI)は受け付けない(無効化する)が、NMIを受け付ける。この種のマルチコアプロセッサ111として、INTEL社のVT−xをサポートしたx86系プロセッサが知られている。
本実施例の統合ストレージ装置では、ひとつのマルチコアプロセッサ111が複数のプロセッサコア1130、1140を有し、VMX OFFの状態のネイティヴパーティション101で、BSPを含む物理プロセッサコアグループA113が、第1のOS130を起動する。第1のOS130は、ゲストパーティション102の物理プロセッサコアグループB114をVMX ONに設定してVMM140を起動させる。
VMM140は、起動後に物理プロセッサコアグループB LAPIC IDテーブル141を第1のOS130に転送する。第1のOS130は、起動直後のVMM140が取得したLAPIC IDを、割込み制御部132の物理プロセッサコアグループB LAPIC IDテーブル133に保持する(201)。
ここで、物理プロセッサコアグループB LAPIC IDテーブル141の転送は、メモリグループB115bの共有メモリ領域116を介して行われる。すなわち、VMM140が、物理プロセッサコアグループB114のLAPIC IDテーブル141を共有メモリ領域116へ格納する。そして、VMM140が、共有メモリ領域116のメモリアドレスを第1のOS130へ通知する。当該通知を受信した第1のOS130は、受信したメモリアドレスから物理プロセッサコアグループB LAPIC IDテーブル141を取得し、割込み制御部132の物理プロセッサコアグループB LAPIC IDテーブル133に格納する。
次に、VMM140は、仮想計算機150を生成して第2のOS160を起動する。このとき、VMM140は、仮想計算機150に割り当てたプロセッサコア1140毎に割込みハンドラ146を設定し、メモリグループ115bの所定の領域に保持する。
また、VMM140は、仮想計算機管理状態データ群145の割込み転送設定フィールド302に、「VM Exiting」を設定し、NMIを受信したときには第2のOS160の実行を中断してVMM140を実行するVMXルートへ遷移させる準備を行う。
第2のOS160が起動すると、第1のOS130のVMM監視部131は、VMM140の監視を開始する(201)。VMM監視部131は、VMM140の異常を検出すると、割込み制御部132へリセット要求を送信する(202)。
割込み制御部132は、物理プロセッサコアグループB LAPIC IDテーブル133を参照して、VMM140の起動時のLAPIC IDで、リセット対象となる物理プロセッサコアグループB114及びプロセッサコア1140を特定する。割込み制御部132は、特定された各プロセッサコア1140に対してプロセッサコア1130(BSP)からリセット用割込みとしてNMIを送信する(204)。
このとき、物理プロセッサコアグループB114で第2のOS160を実行するプロセッサコア1140は、NMIを受信すると仮想計算機管理状態データ群145の割込み転送設定フィールド302の「VM Exiting」の設定によって、VMXノンルートからVMXルートのモードへ遷移する。
VMXルートのプロセッサコア1140は、NMIを受信すると割込みハンドラ146の実行を要求する(205)。割込みハンドラ146は、後述するように、物理プロセッサコアグループB114のプロセッサコア1140のそれぞれについて、VMX OFFへの変更と、セルフリセットの実施(206)、第1のOS130からのSIPIの受信(207)と、VMX ONへの変更及びVMM140の再起動という手順となる。
上記の処理により、VMM140に障害が発生すると、ネイティヴパーティション101では、物理プロセッサコアグループA113で第1のOS130を稼働させたまま、ゲストパーティション102の物理プロセッサコアグループB114をリセットさせてVMM140の再起動を実現することができるのである。
<処理の詳細>
図4は、第1のOS130がVMM140を起動させる処理の一例を示すシーケンス図である。
まず、第1のOS130が、ゲストパーティション102の物理プロセッサコアグループB114をVMX ONに設定する(S1)。次に、第1のOS130がメモリグループB115bにVMM140をロードして、物理プロセッサコアグループB114をVMM140に割り当ててVMM140を起動させる(S2、S11)。
VMM140は、起動すると初期化を行う。VMM140は、まず、メモリグループB115bに共有メモリ領域116を設定し、第1のOS130が読み書き可能なメモリ領域を確保する。
次に、VMM140は、自身に割り当てられた物理プロセッサコアグループB114のLAPIC IDを取得して、物理プロセッサコアグループB LAPIC IDテーブル141に格納する。そして、VMM140は、物理プロセッサコアグループB LAPIC IDテーブル141を第1のOS130へ転送する(S12)。
この転送は、上述したように、共有メモリ領域116を介して実施される。VMM140が、物理プロセッサコアグループB114のLAPIC IDテーブル141を共有メモリ領域116へ格納する。VMM140は、共有メモリ領域116のメモリアドレスを第1のOS130へ通知する。当該通知を受信した第1のOS130は、受信したメモリアドレスから物理プロセッサコアグループB LAPIC IDテーブル141を取得し、割込み制御部132の物理プロセッサコアグループB LAPIC IDテーブル133に格納する(S3)。なお、物理プロセッサコアグループB LAPIC IDテーブル133は、メモリグループA115aに保持される。
VMM140は、物理プロセッサコアグループB114のプロセッサコア1140のそれぞれについて割込みハンドラ146を設定する(S13)。以上の初期化が終了してVMM140の起動が完了する(S14)。
次に、VMM140は第2のOS160を稼働させるために、所定の仮想計算機(VM)150を生成する(S15)。VMM140はメモリグループB115bの一部を仮想メモリ(図示省略)に割り当て、物理プロセッサコアグループB114の一部のプロセッサコア1140を仮想プロセッサコアグループ151に割り当てて仮想計算機150を生成する。
VMM140は、仮想計算機150に割り当てた仮想プロセッサコア1510について、図3に示した仮想計算機管理状態データ303と割込み転送設定フィールド302を設定する。割込み転送設定フィールド302には、上述のように「VM Exiting」を設定し、NMIを受信したときにVM EXITによってVMXルートへ遷移するフラグを設定する(S16)。すなわち、第2のOS160を実行する仮想プロセッサコア1510は、NMIを受信すると第2のOS160にNMIを通知するのを抑止し、VMXルートへ遷移してVMM140でNMIを処理する。
VMM140は、上記生成した仮想計算機150の仮想メモリに第2のOS160をロードし、仮想プロセッサコアグループ151で第2のOS160を起動させる(S12)。
一方、第1のOS130では、物理プロセッサコアグループB LAPIC IDテーブル141を受信してから所定時間後に、VMM監視部131を起動してVMM140の監視を開始する(S4)。図示の例では、VMM140の起動完了時点でVMM監視部131を起動する例を湿したが、これに限定されるものではなく、例えば、第2のOS160が起動した後等の所定時間後にVMM監視部131の監視を開始しても良い。
図5は、VMM140に障害が発生したときに統合ストレージ装置で行われる処理の一例を示すシーケンス図である。第1のOS130のVMM監視部131が、VMM140の監視を行い障害が発生したか否かを判定する(S21)。VMM140で障害が発生し(S31)、VMM監視部131が障害の発生を検出する(S22)。VMM監視部131は、障害の検出に基づいてVMM140の再起動を決定する。
第1のOS130では、VMM監視部131が割込み制御部132にリセット要求(202)を通知する。割込み制御部132は、上述のように、物理プロセッサコアグループB LAPIC IDテーブル133を参照してリセット用の割込みを通知するプロセッサコア1140を特定する。ここで、物理プロセッサコアグループB LAPIC IDテーブル133は起動直後に、VMM140から取得したものであるので、障害の発生に係わらず、リセット対象のプロセッサコア1140を正確に特定することができる。
割込み制御部132は、上記特定した特定された各プロセッサコア1140に対して、プロセッサコア1130(BSP)からリセット用割込みとしてNMIを送信する(S23)。
物理プロセッサコアグループB114の各プロセッサコア1140はNMIを受信する(S32)。物理プロセッサコアグループB114のうち第2のOS160を実行しているプロセッサコア1140はNMIを受信すると、仮想計算機管理状態データ群145の割込み転送設定フィールド302の「VM Exiting」の設定に基づいて、VMXノンルートからVMXルートのモードへ遷移する(S33)。
次に、VMXルートに遷移したプロセッサコア1140は、NMIの受信によって割込みハンドラ146を実行する(S34)。
割込みハンドラ146は、物理プロセッサコアグループB114の各プロセッサコア1140でそれぞれ実行される。まず、プロセッサコア1140は、自コアの状態を仮想化支援機能の無効状態に変更するため、VMX OFFにする命令を発行する(S35)。 次に、プロセッサコア1140は、自コアに対してプロセッサコア初期化用割込みとしてINIT IPIを発行してセルフリセットを実施する(S36)。
セルフリセットの結果、プロセッサコア1140は、起動待機状態(Wait For Start)に遷移する(S37)。
第1のOS130は、第2のOS160に対してNMIを送信してから所定時間が経過した後に、物理プロセッサコアグループB114の各プロセッサコア1140に対してスタートアップ用割込み(StartupIPI)を発行する。なお、この所定時間は、物理プロセッサコアグループB114でステップS32〜S37が完了するまでの時間を予め設定したものである。
StartupIPIを受信した物理プロセッサコアグループB114の各プロセッサコア1140は、仮想化支援機能を有効状態に変更するためVMX ONに遷移する命令を発行してから(S38)、VMM140をメモリグループ115bにロードして再起動する(S39)。
以上の処理により、第1のOS130はVMM140の障害を検出し、NMIを物理プロセッサコアグループB114に通知して割込みハンドラ146によりリセットする。一方、ネイティヴパーティション101では、物理プロセッサコアグループA113で第1のOS130の稼働を継続することが可能となる。
そして、ネイティヴパーティション101の第1のOS130は、ゲストパーティション102の物理プロセッサコアグループB114に対してNMIを通知してから所定時間後に、Start IPIを通知することでVMM140を再起動させる。
このように、ひとつのハードウェアリソースをネイティヴパーティション101とゲストパーティション102に分割し、ネイティヴパーティション101で第1のOS130を稼働させたまま、障害の発生したゲストパーティション102の物理プロセッサコアグループB114のみをリセットして、VMM140を再起動することが可能となる。
また、VMM140が起動中に取得したゲストパーティション102の物理プロセッサコアグループB114のLAPIC IDテーブル141を、ネイティヴパーティション101の第1のOS130へコピーしておき、リセット対象のプロセッサコア1140を起動時の情報で特定する。
障害が発生した後では、VMM140からゲストパーティション102のプロセッサコア1140の情報を取得しても、正確な情報を取得できる保証はない。そこで、本発明では、VMM140が起動中(または起動直後)に、ゲストパーティション102でVMM140を実行するプロセッサコア1140の識別子(LAPIC ID)を取得し、第1のOS130へコピーし、正常な値を保持しておくことで、割込み制御部132はリセット対象のプロセッサコア1140を正確に特定することが可能となる。
また、本発明では、障害が発生したVMM140を実行するプロセッサコア1140にNMIを送信することで、割込みハンドラ146でプロセッサコア1140をリセットさせる。これにより、VMX ON(仮想化支援機能有効)のときには、リセット命令(INIT IPI)を受信できない(無効化される)プロセッサコア1140を採用した場合でも、ゲストパーティション102の物理プロセッサコアグループB114のみを確実にリセットさせることが可能となる。
そして、NMIの受信によってプロセッサコア1140が実行する割込みハンドラ146は、一旦、仮想化支援機能を無効(VMX OFF)にしてからセルフリセットを実施させる。これにより、仮想化支援機能が有効(VMX ON)なときには、リセットを受け付けないプロセッサコア1140であっても、リセットさせることが可能となる。
また、仮想計算機150の仮想プロセッサコア1510の実行状態を保持する仮想計算機管理状態データ群145の割込み転送設定フィールド302に、NMIを受信したときにVMXルートへ遷移させる命令(VM Exit)を予め設定しておく。これにより、仮想計算機150で第2のOS(ゲストOS)160が実行されているときでも、NMIを受信すると、プロセッサコア1140は、VMXルートへ遷移して、割込みハンドラ146を実行することができる。
なお、上記実施例に示したマルチコアプロセッサ111は、ホモジニアスの構成でも良いし、ヘテロジニアスの構成であってもよい。
また、上記実施例では、統合ストレージ装置に本発明適用した例を示したが、計算機に適用してもよく、上記と同様の作用、効果を得ることができる。
また、上記実施例では、VMM140を実行する物理プロセッサコアグループB114のリセットを、VMM140の障害の検出時に実行する例を示したが、これに限定されるものではない。例えば、第1のOS130が、所定の条件に基づいて、VMM140の再起動が必要であるか否かを判定し、必要と判定したときに物理プロセッサコアグループB114のリセットを実施しても良い。
また、上記実施例では、VMM140が物理プロセッサコアグループB LAPIC IDテーブル141の転送を共有メモリ領域116を介して実施する例を示したが、これに限定されるものではない。例えば、VMM140は、起動が完了した後に、図示しないネットワークを介して物理プロセッサコアグループB LAPIC IDテーブル141を第1のOS130へ転送するようにしてもよい。
また、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
101 ネイティヴパーティション
102 ゲストパーティション
110 物理計算機
111 マルチコアプロセッサ
112 メモリリソース
113 物理プロセッサコアグループA
114 物理プロセッサコアグループB
115a、115b メモリグループA、B
130 第1のOS
131 VMM監視部
132 割込み制御部
133 物理プロセッサコアグループB LAPIC IDテーブル
140 VMM
141 物理プロセッサコアグループB LAPIC IDテーブル
145 仮想計算機管理状態データ群
146 割込みハンドラ
150 仮想計算機
151 仮想プロセッサコアグループA
160 第2のOS
301 仮想プロセッサ番号
302 割込み転送設定フィールド
303 仮想計算機管理状態データ
1130、1140 プロセッサコア
1510 仮想プロセッサコア

Claims (15)

  1. 仮想化支援機能を有するマルチコアプロセッサと、メモリとを含む計算機の制御方法であって、
    前記計算機は、
    前記マルチコアプロセッサのうち前記仮想化支援機能を無効にした第1のプロセッサグループと、前記マルチコアプロセッサのうち前記仮想化支援機能を有効にした第2のプロセッサグループと、前記メモリの一部領域からなる第1のメモリグループと、前記メモリの残りの領域からなる第2のメモリグループとを含み、
    第1のOSに前記第1のプロセッサコアグループと前記第1のメモリグループを割り当てて、前記第1のOSを起動させる第1のステップと、
    仮想計算機を稼働させる仮想化部に前記第2のプロセッサコアグループと前記第2のメモリグループを割り当て、前記仮想化部を起動させる第2のステップと、
    前記仮想化部が、前記メモリのうちの所定の領域と、前記第2のプロセッサグループのうちの所定のプロセッサコアと、を前記仮想計算機に割り当てて第2のOSを起動させる第3のステップと、
    前記仮想化部が、前記第2のプロセッサコアグループをリセットするための割込みハンドラを登録する第4のステップと、
    前記第1のOSが、前記仮想化部の起動時に前記第2のプロセッサコアグループに所属する各プロセッサコアの識別子を取得して保持する第5のステップと、
    前記第1のOSが、前記仮想化部の稼働状態を監視して、所定の条件に基づいて前記仮想化部の再起動を行うか否かを決定する第6のステップと、
    前記仮想化部の再起動を行う場合は、前記第1のOSが、前記保持した識別子に対応する第2のプロセッサコアグループに所属するプロセッサコアへリセット用割込みを発行する第7のステップと、
    前記仮想化部に割り当てられた前記第2のプロセッサコアグループは、前記リセット用割込みを受信すると、前記割込みハンドラを実行して、自身のプロセッサコアのリセットを実施する第8のステップと、
    前記第1のOSが、前記第2のプロセッサコアグループへスタートアップ用割込みを発行する第9のステップと、
    を含むことを特徴とする計算機の制御方法。
  2. 請求項1に記載の計算機の制御方法であって、
    前記第4のステップは、
    前記仮想化部が、前記第2のプロセッサコアグループをリセットする割込みハンドラとして、前記第2のプロセッサグループの各プロセッサコアに対応する割込みハンドラへ各プロセッサコアのセルフリセット処理を登録し、
    前記第8のステップは、
    前記第2のプロセッサコアグループが前記リセット用割込みを受け付けて、前記登録された割込みハンドラを呼び出して、前記セルフリセット処理を前記プロセッサコア毎に独立して実施することを特徴とする計算機の制御方法。
  3. 請求項1に記載の計算機の制御方法であって、
    前記第6のステップは、
    前記第1のOSが、前記仮想化部の稼働状態を監視して異常が発生したか否かを判定するステップと、
    前記第1のOSが、前記異常が発生したときには前記仮想化部の再起動を決定するステップと、を含むことを特徴とする計算機の制御方法。
  4. 請求項1に記載の計算機の制御方法であって、
    前記第7のステップは、
    前記リセット用割込みとして、NMI(Non Maskable Interrupt)を発行することを特徴とする計算機の制御方法。
  5. 請求項2に記載の計算機の制御方法であって、
    前記セルフリセット処理は、
    前記プロセッサコアの初期化用割込みを自身のプロセッサコアへ発行することを特徴とする計算機の制御方法。
  6. 請求項2に記載の計算機の制御方法であって、
    前記第9のステップは、
    前記割込み制御部が、前記第7のステップで第2のプロセッサコアグループに所属するプロセッサコアへリセット用割込みを発行してから所定時間が経過した後に、前記第2のプロセッサコアグループへSIPI(Startup IPI)を発行することを特徴とする計算機の制御方法。
  7. 請求項4に記載の計算機の制御方法であって、
    前記第3のステップは、
    前記仮想計算機で前記第2のOSが稼働する状態で前記NMIを受信したときに、前記NMIを仮想計算機に転送するのに代わって前記仮想化部へ遷移する設定を実行し、
    前記第4のステップは、
    前記仮想化部が、前記仮想化支援機能を無効化する命令と、プロセッサコアの初期化用割込みを自身のプロセッサコアへ発行する命令と、を前記第2のプロセッサコアグループ内の各プロセッサコアの前記割込みハンドラへ登録し、
    前記第9のステップは、
    前記第1のOSが、前記第2のプロセッサコアグループへスタートアップ用割込みを前記仮想化部へ発行するステップに加えて、
    前記第2のプロセッサコアグループが、前記スタートアップ用割込みを受信して、前記仮想化支援機能を有効化する命令を前記第2のプロセッサコアグループの各プロセッサコアに発行するステップと、
    前記第2のプロセッサコアグループが、仮想化部を再起動するステップと、を含むことを特徴とする計算機の制御方法。
  8. 仮想化支援機能を有するマルチコアプロセッサと、メモリとを含む計算機であって、
    前記マルチコアプロセッサのうち前記仮想化支援機能を無効にした第1のプロセッサグループと、
    前記マルチコアプロセッサのうち前記仮想化支援機能を有効にした第2のプロセッサグループと、
    前記メモリの一部領域からなる第1のメモリグループと、
    前記メモリの残りの領域からなる第2のメモリグループと、
    前記第1のプロセッサグループ及び前記第1のメモリグループを割り当てる第1のOSと、
    前記第2のプロセッサグループ及び前記第2のメモリグループを割り当てて、仮想計算機を稼働させる仮想化部と、を有し、
    前記仮想化部は、
    前記第2のプロセッサコアグループをリセットするための割込みハンドラ処理を登録し、前記メモリのうちの所定の領域と、前記第2のプロセッサグループのうちの所定のマルチコアプロセッサとを前記仮想計算機に割り当てて、第2のOSを起動し、
    前記第1のOSは、
    前記仮想化部の稼働状態を監視して、所定の条件に基づいて前記仮想化部の再起動を行うか否かを決定する監視部と、
    前記仮想化部の起動時に前記第2のプロセッサコアグループに所属する各プロセッサコアの識別子を取得して保持し、前記監視部が前記仮想化部の再起動を決定した場合は、前記保持した識別子に対応する第2のプロセッサコアグループに所属するプロセッサコアへリセット用割込みを発行する割込み制御部と、を有し、
    前記仮想化部に割り当てられた前記第2のプロセッサコアグループは、
    前記リセット用割込みを受信すると、前記割込みハンドラ処理を実行して、自身のプロセッサコアのリセットを実施し、
    前記割込み制御部は、
    前記第2のプロセッサコアグループへスタートアップ用割込みを発行することを特徴とする計算機。
  9. 請求項8に記載の計算機であって、
    前記仮想化部は、
    前記第2のプロセッサコアグループをリセットする割込みハンドラとして、前記第2のプロセッサグループの各プロセッサコアに対応する割込みハンドラへ各プロセッサコアのセルフリセット処理を登録し、
    前記第2のプロセッサコアグループは、
    前記リセット用割込みを受け付けて、前記登録された割込みハンドラを呼び出して、前記セルフリセット処理を前記プロセッサコア毎に独立して実施することを特徴とする計算機。
  10. 請求項8に記載の計算機であって、
    前記監視部は、
    前記仮想化部の稼働状態を監視して異常が発生したか否かを判定し、前記異常が発生したときには前記仮想化部の再起動を決定することを特徴とする計算機。
  11. 請求項8に記載の計算機であって、
    前記割込み制御部は、
    前記リセット用割込みとして、NMI(Non Maskable Interrupt)を発行することを特徴とする計算機。
  12. 請求項9に記載の計算機であって、
    前記セルフリセット処理は、
    前記プロセッサコアの初期化用割込みを自身のプロセッサコアへ発行することを特徴とする計算機。
  13. 請求項9に記載の計算機であって、
    前記割込み制御部は、
    前記第2のプロセッサコアグループに所属するプロセッサコアへリセット用割込みを発行してから所定時間が経過した後に、前記第2のプロセッサコアグループへSIPI(Startup IPI)を発行することを特徴とする計算機。
  14. 請求項11に記載の計算機であって、
    前記仮想計算機は、
    前記第2のOSが稼働する状態で前記NMIを受信したときに、前記NMIを仮想計算機に転送するのに代わって前記仮想化部へ遷移する設定を実行し、
    前記仮想化部は、
    前記仮想化支援機能を無効化する命令と、プロセッサコアの初期化用割込みを自身のプロセッサコアへ発行する命令と、を前記第2のプロセッサコアグループ内の各プロセッサコアの前記割込みハンドラへ登録し、
    前記第2のプロセッサコアグループが、
    前記スタートアップ用割込みを受信して、前記仮想化支援機能を有効化する命令を前記第2のプロセッサコアグループの各プロセッサコアに発行した後に、前記仮想化部を再起動するステップと、を含むことを特徴とする計算機。
  15. 請求項8に記載の計算機であって、
    前記第1のプロセッサグループは、
    前記マルチコアプロセッサのブート管理機能を持つ唯一のBSPコアを含むことを特徴とする計算機。
JP2013226827A 2013-10-31 2013-10-31 計算機の制御方法及び計算機 Expired - Fee Related JP6111181B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013226827A JP6111181B2 (ja) 2013-10-31 2013-10-31 計算機の制御方法及び計算機
US14/528,529 US9639486B2 (en) 2013-10-31 2014-10-30 Method of controlling virtualization software on a multicore processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013226827A JP6111181B2 (ja) 2013-10-31 2013-10-31 計算機の制御方法及び計算機

Publications (3)

Publication Number Publication Date
JP2015088014A true JP2015088014A (ja) 2015-05-07
JP2015088014A5 JP2015088014A5 (ja) 2016-08-12
JP6111181B2 JP6111181B2 (ja) 2017-04-05

Family

ID=52996776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013226827A Expired - Fee Related JP6111181B2 (ja) 2013-10-31 2013-10-31 計算機の制御方法及び計算機

Country Status (2)

Country Link
US (1) US9639486B2 (ja)
JP (1) JP6111181B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022181020A1 (ja) * 2021-02-26 2022-09-01 パナソニックIpマネジメント株式会社 情報処理装置および情報処理方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515023B2 (en) * 2016-02-29 2019-12-24 Intel Corporation System for address mapping and translation protection
US10585755B2 (en) * 2016-11-29 2020-03-10 Ricoh Company, Ltd. Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US10324747B1 (en) * 2016-12-13 2019-06-18 EMC IP Holding Company LLC Distributed configuration checking and troubleshooting in data center using best practices rules
US10521273B2 (en) 2017-06-08 2019-12-31 Cisco Technology, Inc. Physical partitioning of computing resources for server virtualization
WO2018227549A1 (en) * 2017-06-16 2018-12-20 Alibaba Group Holding Limited Determining processor utilization of multiprocessing system with virtualization
CN107479943B (zh) * 2017-07-03 2020-02-21 北京东土科技股份有限公司 基于工业互联网操作系统的多操作系统运行方法及装置
US11669335B2 (en) * 2019-03-28 2023-06-06 Intel Corporation Secure arbitration mode to build and operate within trust domain extensions
CN113094111B (zh) * 2021-04-16 2024-01-09 三星(中国)半导体有限公司 设备以及设备的启动方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06325008A (ja) 1993-03-17 1994-11-25 Hitachi Ltd リセット機能を備えるコンピュータシステム
US7685635B2 (en) * 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US7900204B2 (en) * 2005-12-30 2011-03-01 Bennett Steven M Interrupt processing in a layered virtualization architecture
US8453197B2 (en) * 2006-09-07 2013-05-28 Intel Corporation Method, apparatus and system for isolating a temporary partition on a host
US20080155092A1 (en) * 2006-12-22 2008-06-26 Arvind Kumar Method, apparatus and system for securely metering resource usage on a computing platform
JP5405799B2 (ja) 2008-10-30 2014-02-05 株式会社日立製作所 仮想計算機の制御方法、仮想化プログラム及び仮想計算機システム
US10684973B2 (en) * 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6017006548; 出原 章雄、山本 整、東山 知彦、落合 真一: '組込みCPU向けS/W機能分離アーキテクチャの提案' 情報処理学会 シンポジウム 組込みシステムシンポジウム 2013 , 20131009, pp.123-130, 情報処理学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022181020A1 (ja) * 2021-02-26 2022-09-01 パナソニックIpマネジメント株式会社 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
US20150120979A1 (en) 2015-04-30
JP6111181B2 (ja) 2017-04-05
US9639486B2 (en) 2017-05-02

Similar Documents

Publication Publication Date Title
JP6111181B2 (ja) 計算機の制御方法及び計算機
US9594582B2 (en) Detection and management of dynamic migration of virtual environments
US11126420B2 (en) Component firmware update from baseboard management controller
JP5018252B2 (ja) デバイス割り当て変更方法
JP4921384B2 (ja) メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム
JP6089349B2 (ja) マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム
US7451443B2 (en) Online computer maintenance utilizing a virtual machine monitor
JP6029550B2 (ja) 計算機の制御方法及び計算機
US20110113426A1 (en) Apparatuses for switching the running of a virtual machine between multiple computer devices belonging to the same computer platform and the associated switching methods
US20160077884A1 (en) Dynamic allocation and assignment of virtual functions within fabric
US10635499B2 (en) Multifunction option virtualization for single root I/O virtualization
US20130055277A1 (en) Logical Partition Load Manager and Balancer
JP2009145931A (ja) 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
US10474484B2 (en) Offline management of virtualization software installed on a host computer
JP2016508647A5 (ja)
JP2010250817A (ja) システム管理モードにおけるプロセッサ間割り込みの再方向付け
JP2008293245A (ja) フェイルオーバ方法、計算機システム、管理サーバ及び予備サーバの設定方法
US20100332722A1 (en) Virtual machine system and control method thereof
US9571584B2 (en) Method for resuming process and information processing system
US9804877B2 (en) Reset of single root PCI manager and physical functions within a fabric
US10564995B2 (en) Dynamic control of halt polling based on receiving a monitoring instruction executed by a guest
US20160077847A1 (en) Synchronization of physical functions and virtual functions within a fabric
US20160357602A1 (en) Information processing system and apparatus for migrating operating system
CN114115703A (zh) 裸金属服务器在线迁移方法以及系统
US20220357976A1 (en) Information processing apparatus, information processing method, and computer-readable recording medium storing information processing program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160621

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170313

R150 Certificate of patent or registration of utility model

Ref document number: 6111181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees