JP2018041340A - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP2018041340A
JP2018041340A JP2016175895A JP2016175895A JP2018041340A JP 2018041340 A JP2018041340 A JP 2018041340A JP 2016175895 A JP2016175895 A JP 2016175895A JP 2016175895 A JP2016175895 A JP 2016175895A JP 2018041340 A JP2018041340 A JP 2018041340A
Authority
JP
Japan
Prior art keywords
server
processing
firmware
information processing
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016175895A
Other languages
English (en)
Inventor
亙 菊地
Wataru Kikuchi
亙 菊地
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016175895A priority Critical patent/JP2018041340A/ja
Priority to US15/687,586 priority patent/US20180067774A1/en
Publication of JP2018041340A publication Critical patent/JP2018041340A/ja
Pending legal-status Critical Current

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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】特定の制御部への処理負荷の偏りを抑制できる情報処理システムを提供する。
【解決手段】本情報処理システムは、複数の情報処理装置が通信可能に接続されている。情報処理システムに含まれる情報処理装置の各々は、制御部、保持部、受付部、選定部および依頼部を備える。制御部は、実行可能な処理に応じた属性が設定され、搭載されたハードウェア資源を制御する。保持部は、制御部のいずれかによって実行される処理と処理を実行できる属性との対応関係を保持する。受付部は、処理の実行要求を受け付ける。選定部は、対応関係にしたがって、実行要求を受け付けた処理を実行する制御部を選定する。依頼部は、選定された制御部に要求された処理の実行を依頼する。
【選択図】図11

Description

本発明は、情報処理システムに関する。
ハードウェア資源と当該ハードウェア資源を制御する制御部とを備えた複数の情報処理装置を通信可能に接続した情報処理システムが利用されている。制御部は、ファームウェアとも称される。
特開2003−208414号公報 特開平10−161987号公報
情報処理装置に備えられた制御部には、実行可能な処理に応じた属性が設定される。制御部は、設定された属性にしたがって、例えば、ユーザ等から処理要求を受け付ける処理を実行したり、他の情報処理装置の死活監視の処理を実行したり、自装置を制御する処理を実行したりする。情報処理システムでは、各情報処理装置の電源投入、通信経路の設定、演算処理の実行等の処理が制御部に対して要求される。要求された処理は、処理要求を受け付けた制御部によって実行される。そのため、ユーザ等からの処理の実行要求を受け付ける属性が設定された制御部に処理負荷が偏っていた。
そこで、開示の技術の1つの側面は、特定の制御部への処理負荷の偏りを抑制できる情報処理システムを提供することを課題とする。
開示の技術の1つの側面は、次のような情報処理システムによって例示される。本情報処理システムは、複数の情報処理装置が通信可能に接続されている。情報処理システムに含まれる情報処理装置の各々は、制御部、保持部、受付部、選定部および依頼部を備える。制御部は、実行可能な処理に応じた属性が設定され、搭載されたハードウェア資源を制御する。保持部は、制御部のいずれかによって実行される処理と処理を実行できる属性との対応関係を保持する。受付部は、処理の実行要求を受け付ける。選定部は、対応関係にしたがって、実行要求を受け付けた処理を実行する制御部を選定する。依頼部は、選定された制御部に要求された処理の実行を依頼する。
本情報処理システムは、特定の制御部への処理負荷の偏りを抑制することができる。
図1は、実施形態に係る情報処理システムの一例を示す図である。 図2は、サーバの構成の一例を示す図である。 図3は、サービスプロセッサの構成の一例を示す図である。 図4は、ファームウェアの属性の一例を示す図である。 図5は、ファームウェアが実行する処理を分類した表の一例である。 図6は、ファームウェアの処理ブロックの一例を示す図である。 図7は、処理情報の一例を示す図である。 図8は、サーバ情報の一例を示す図である。 図9は、ユーザから処理要求を受け付けた場合の処理の流れの一例を示す図である。 図10は、ファームウェアの属性に合わせた振り分けパターン生成処理の一例を示す図である。 図11は、実行要求を受信した処理を各ファームウェアに振り分ける処理の一例を示す図である。 図12は、要求されたプロセスを完了して呼び出し元に復帰する処理の一例を示す図である。 図13は、負荷の低いサーバを選定する処理の一例を示す図である。 図14は、実施形態に係る情報処理システムにおけるパーティションの電源投入処理の一例を示す図である。 図15は、比較例に係る情報処理システムにおいて、パーティションに電源を投入する処理の流れの一例を示す図である。
以下、図面を参照して、一実施形態に係る情報処理システムについて説明する。以下に示す実施形態の構成は例示であり、開示の技術は実施形態の構成に限定されない。
<第1実施形態>
図1は、実施形態に係る情報処理システム1の一例を示す図である。情報処理システム1は、サーバ100a、100b、100c、100dの4台のサーバを含む。情報処理システム1は最大で5台のサーバ100を含むことが可能であるが、5台目のサーバ100となるサーバ100zは情報処理システム1に接続されていない。サーバ100a、100b、100c、100d、100zを総称して、サーバ100と称する。情報処理システム1は、いわゆるスケールアウト型のシステムである。スケールアウト型のシステムは、1または複数のサーバ100を組み合わせることで、パーティションを作成できる。作成されたパーティションは独立した情報処理装置として動作できる。情報処理システム1におけるパーティション構成の変更は、情報処理システム1の運用中においても実施可能である。パーティション構成の変更は、例えば、新規パーティションの作成、作成済みパーティションへのサーバ100の追加、作成済みパーティションからのサーバ100の削除を含む。情報処理システム1は、例えば、パーティションの処理負荷が高くなった場合に、当該パーティションにサーバ100を追加することで当該パーティションの処理能力を向上させることができる。個々のパーティションにはパーティションを識別するパーティションIDが割り当てられる。パーティションIDは、PIDとも称する。図1では、
例えば、PID#0のパーティションはサーバ100aを含み、PID#1のパーティションはサーバ100bとサーバ100cとを含む。以下、図面を参照して実施形態について説明する。
サーバ100は、情報処理装置である。サーバ100は、ビルディングブロックとも称され、図中では「BB」とも記載される。図2は、サーバ100の構成の一例を示す図である。サーバ100は、Central Processing Unit(CPU)101、メモリ102(図
中ではMEMと記載)、サービスプロセッサ103、ファン104(図中ではFANと記載)、Power Supply Unit(PSU)105、Cross Bar(XB)106および各種センサー107を備える。CPU101、メモリ102、補助記憶部103、ファン104、PSU105、XB106および各種センサー107は、図示しないバスによって相互に接続されている。
サーバ100では、CPU101がメモリ102に記憶されたプログラムの実行を通じて周辺装置の制御を行う。これにより、サーバ100は、所定の目的に合致した処理を実
行することができる。メモリ102は、サーバ100が読み取り可能な記録媒体である。
メモリ102は、CPU101からアクセスされる記憶部として例示される。メモリ102は、Random Access Memory(RAM)およびRead Only Memory(ROM)、補助記憶部を含む。
ファン104は、サーバ100内に送風してサーバ100を冷却する。XB106は、他のサーバ100との通信インターフェースである。XB106は、ネットワークN2を介して他のサーバ100と通信を行う。各種センサー107は、例えば、温度センサーまたは電圧センサーである。各種センサー107は、例えば、サーバ100内の温度またはサーバ100に供給されている電圧の異常を検知すると、サーバ100上で稼働するOSまたはファームウェア103aに通知する。
サーバ100は、例えば、ユーザ等からの操作指示等を受け付ける入力部をさらに備えてもよい。このような入力部として、キーボード、ポインティングデバイス、タッチパネル、加速度センサーあるいは音声入力装置といった入力デバイスを例示できる。
サーバ100は、例えば、CPU101で処理されるデータやメモリ102に記憶されるデータを出力する出力部を備えるものとしてもよい。このような、出力部として、Cathode Ray Tube(CRT)ディスプレイ、Liquid Crystal Display(LCD)、Plasma Display Panel(PDP)、Electroluminescence(EL)パネル、有機ELパネルあるいは
プリンタといった出力デバイスを例示できる。
PSU105は、サーバ100に電力を供給する。PSU105は、常駐電源と非常駐電源とを含む。常駐電源は、サーバ100の電源スイッチがオフにされている状態でもサーバ100に搭載された一部のハードウェアに電源を供給する。常駐電源は、例えば、サービスプロセッサ103に電力を供給する。非常駐電源は、サーバ100の電源スイッチがオンにされるとサーバ100に搭載された各ハードウェアに電力を供給する。サーバ100は、非常駐電源から電力が供給されることで、様々な情報処理を実行可能となる。
ネットワークN1は、サーバ100に搭載されたサービスプロセッサ103を相互に接続するコンピュータネットワークである。サーバ100のサービスプロセッサ103は、ネットワークN1を介して他のサーバ100に搭載されたサービスプロセッサ103と通信可能である。ネットワークN2は、サーバ100に搭載されたXB106を相互に接続するコンピュータネットワークである。サーバ100は、ネットワークN2を介して相互に通信可能である。ネットワークN1、N2に用いられるプロトコルに限定は無い。ネットワークN1、N2は、例えば、Local Area Network(LAN)である。また、ネットワークN1、N2は、有線のネットワークであっても無線のネットワークであってもよい。
サービスプロセッサ103は、サーバ100に搭載された情報処理装置である。サービスプロセッサ103は、ファームウェア103aを含む。ファームウェア103aは、例えば、サーバ100のハードウェア資源を制御する。ファームウェア103aは、ユーザからの要求に応じて、サーバ100を組み合わせてパーティションを作成する。サービスプロセッサ103は、PSU105の常駐電源から供給される電力によって稼働する。そのため、サービスプロセッサ103は、サーバ100の電源スイッチがオフにされている状態でも稼働可能である。ファームウェア103aは、「制御部」の一例である。
図3は、サービスプロセッサ103の構成の一例を示す図である。サービスプロセッサ103は、CPU301、主記憶部302、補助記憶部303、通信部304、入力部305および出力部306を備える。CPU301、主記憶部302、補助記憶部303、
通信部304、入力部305および出力部306は、接続バスC1によって相互に接続される。
サービスプロセッサ103では、CPU301が補助記憶部303に記憶されたプログラムを主記憶部302の作業領域に展開し、プログラムの実行を通じて周辺装置の制御を行う。これにより、サービスプロセッサ103は、所定の目的に合致した処理を実行することができる。主記憶部302および補助記憶部303は、サービスプロセッサ103が読み取り可能な記録媒体である。
主記憶部302は、CPU301から直接アクセスされる記憶部として例示される。主記憶部302は、Random Access Memory(RAM)およびRead Only Memory(ROM)を含む。
補助記憶部303は、各種のプログラムおよび各種のデータを読み書き自在に記録媒体に格納してもよい。補助記憶部303は、外部記憶装置とも呼ばれる。補助記憶部303には、オペレーティングシステム(Operating System、OS)、ファームウェア103a、各種プログラム、各種テーブル等が格納される。OSは、通信部204を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、ネットワークN1で接続された、他のサーバ100に搭載されたサービスプロセッサ103および外部記憶装置が含まれる。
補助記憶部303は、例えば、Erasable Programmable ROM(EPROM)、ソリッド
ステートドライブ(Solid State Drive、SSD)、ハードディスクドライブ(Hard Disk
Drive、HDD)等である。また、補助記憶部303は、例えば、Compact Disc(CD)ドライブ装置、Digital Versatile Disc(DVD)ドライブ装置、Blu-ray(登録商標)Disc(BD)ドライブ装置等である。また、補助記憶部303は、Network Attached Storage(NAS)あるいはStorage Area Network(SAN)によって提供されてもよい。
サービスプロセッサ103が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、サービスプロセッサ103から読み取ることができる記録媒体をいう。このような記録媒体のうちサービスプロセッサ103から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、サービスプロセッサ部104に固定された記録媒体としてハードディスク、SSDあるいはROM等がある。
通信部304は、例えば、ネットワークN1とのインターフェースである。通信部304は、ネットワークN1を介して他のサーバ100に搭載されたサービスプロセッサ103と通信を行う。
入力部305は、例えば、ユーザ等からの操作指示等を受け付けるユーザインターフェースである。入力部305として、キーボード、ポインティングデバイス、タッチパネル、加速度センサーあるいは音声入力装置といった入力デバイスを例示できる。
出力部306は、例えば、CPU301で処理されるデータや主記憶部302に記憶されるデータを出力する。出力部306として、Cathode Ray Tube(CRT)ディスプレイ、Liquid Crystal Display(LCD)、Plasma Display Panel(PDP)、Electroluminescence(EL)パネル、有機ELパネルあるいはプリンタといった出力デバイスを例示
できる。
図4は、ファームウェア103aの属性の一例を示す図である。ファームウェア103aは、実行可能な処理に応じた属性が設定される。属性は、例えば、Master属性、Standby属性およびSlave属性である。Master属性が設定されたファームウェア103aは、情報処理システム1全体を管理する。すなわち、Master属性が設定されたファームウェア103aは、パーティションの作成、削除およびサーバ100の電源投入等を行う。さらに、Master属性が設定されたファームウェア103aは、ファームウェア103aの操作に用いるユーザインタフェースを提供する。Standby属性が設定されたファームウェア103
aは、Master属性が設定されたファームウェア103aが何らかの事象により正常に稼働しない場合等に、Master属性のファームウェア103aとして稼働できる。Master属性、Standby属性およびSlave属性のファームウェア103aは、自身が導入されたサービスプロセッサ103aが搭載されたサーバ100の管理を行う事ができる。Master属性が設定されたファームウェア103aは、情報処理システム1内に1つ存在する。Standby属性
およびSlave属性が設定されたファームウェア103aは、情報処理システム1内に複数
存在してもよい。
図5は、ファームウェア103aが実行する処理を分類した表の一例である。図5の表を参照して、ファームウェア103aが実行する処理の分類について説明する。図5に例示されるように、ファームウェア103aが実行する処理は、「特定のサーバで実施可能な処理」、「どのサーバでも実施可能な処理」、「Master属性のファームウェアで実行できる処理」および「Master属性およびStandby属性のファームウェアで実行できる処理」
に分類できる。
「特定のサーバで実施可能な処理」として、個々のサーバ100が備えるハードウェア資源に対する処理および特定のサーバ100が保持する情報の参照、更新等が例示できる。「どのサーバでも実施可能な処理」として、すべてのサーバ100で共有する情報の参照、更新が例示できる。「どのサーバでも実施可能な処理」とは、換言すれば、Master属性、Standby属性およびSlave属性の何れの属性のファームウェア103aでも実行可能な処理である。「どのサーバでも実施可能な処理」として、各種の計算処理およびすべてのサーバ100で共有する情報を基にしたデータの生成がさらに例示できる。「Master属性のファームウェアで実行できる処理」として、ユーザインターフェースの提供、外部装置とのインターフェース、通信経路の設定が例示できる。「Master属性のファームウェアで実行できる処理」として、Master属性のファームウェア103aが保持している情報の参照および更新がさらに例示できる。「Master属性およびStandby属性のファームウェアで
実行できる処理」として、Master属性のファームウェア103aおよびStandby属性のフ
ァームウェア103aとで共有している情報の参照および更新が例示できる。
<処理ブロック>
図6は、ファームウェア103aの処理ブロックの一例を示す図である。図6では、ファームウェア103aの処理ブロックとして、ユーザインターフェース(ユーザI/F)201、ファームウェア内各プロセス202、リクエストマネージャー203、サーバ間処理要求判定部204、処理状態更新部205が例示されている。また、図6では、記憶部として、処理情報記憶部206およびサーバ情報記憶部207が例示されている。処理情報記憶部206およびサーバ情報記憶部207は、例えば、主記憶部302上に構築される。
サービスプロセッサ103は、図3に例示されるように、CPU301と、主記憶部302とを有し、主記憶部302に実行可能に展開されたコンピュータプログラムにしたがって、図6に例示される処理ブロックとしての処理を実行する。CPU301は、MPU(Microprocessor)、プロセッサとも呼ばれる。CPU301は、単一のプロセッサに限
定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPU301がマルチコア構成を有していても良い。上記処理ブロックの少なくとも一部の処理は、CPU301以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。また、図6の処理ブロックの少なくとも一部の処理は、集積回路(IC)、その他のディジタル回路であっても良い。また、上記処理ブロックの少なくとも一部にアナログ回路が含まれても良い。集積回路は、LSI、Application Specific Integrated Circuit(ASIC)、Programmable Logic Device(PLD)を含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。上記処理ブロックは、プロセッサと集積回路との組み合わせであ
っても良い。組み合わせは、例えば、マイクロコントローラ(MCU)、SoC(System-on-a-chip)、システムLSI、チップセットなどと呼ばれる。
ユーザインターフェース(ユーザI/F)201は、ユーザからの要求をリクエストマネージャー203へ通知するプログラムである。ユーザI/F201は、例えば、入力部305を介して入力されたユーザからの処理要求をリクエストマネージャー203へ通知する。
ファームウェア内各プロセス202は、ファームウェア103a内において様々な処理を実行するプロセス群の総称である。ファームウェア内各プロセス202は、ユーザプロセスおよびシステムプロセスを含む。ユーザプロセスは、例えば、ユーザI/F201へのコマンドの入力で起動されるプロセスである。システムプロセスは、例えば、OSによって起動されるプロセスである。ファームウェア内各プロセス202に含まれるプロセスは、例えば、リクエストマネージャー203からの処理要求に応じて処理を実行する。また、ファームウェア内各プロセス202に含まれるプロセスは、他のプロセスに処理を依頼できる。ファームウェア内各プロセス202に含まれるプロセスは、他のプロセスに処理を依頼する場合、リクエストマネージャー203を介して他のプロセスに処理を依頼してもよい。
リクエストマネージャー203は、ユーザI/F201またはファームウェア内各プロセス202から処理の実行要求を受け付ける。処理の実行要求を受け付けたリクエストマネージャー203は、受け付けた処理をどのサーバ100のファームウェア103aに実行させるかを決定する。リクエストマネージャー203は、決定したサーバ100のファームウェア103aに対して処理の実行を要求する。リクエストマネージャー203は、「受付部」、「選定部」および「依頼部」の一例である。
サーバ間処理要求判定部204は、各サーバ100の負荷状況をサーバ情報記憶部207から取得する。また、サーバ間処理要求判定部204は、ファームウェア内各プロセス202に含まれるプロセスの処理負荷等の情報を処理情報記憶部206から取得する。サーバ間処理要求判定部204は、取得した情報に基づいて、要求された処理を実行できるサーバ100を選定する。サーバ間処理要求判定部204は、「選定部」の一例である。
処理状態更新部205は、リクエストマネージャー203からの要求に応じてサーバ情報記憶部207および処理情報記憶部206を更新する。
処理情報記憶部206は、ファームウェア内各プロセス202に含まれる各プロセスの情報をプロセスごとに保持する。処理情報記憶部206は、プロセスを実行できるファームウェア103aの属性と、当該プロセスの負荷を示す情報を処理毎に対応付けて保持する。処理情報記憶部206に保持される情報は、処理状態更新部205によって更新される。処理情報記憶部206に保持される情報が更新されると、他のサーバ100のファー
ムウェア103aに含まれる処理情報記憶部206と同期される。図7は、処理情報記憶部206の一例を示す図である。処理情報記憶部206に記憶される情報は、「処理コード」、「処理の特性」および「負荷」の各情報を含む。「処理コード」には、ファームウェア内各プロセス202の各々を識別する情報が保持される。「処理コード」に保持される情報は、例えば、プロセス名である。「処理の特性」には、プロセスを実行できるサーバ100を示す情報が保持される。「処理の特性」には、例えば、図5を参照して説明された4種類の処理の特性のうちの1つが保持される。「負荷」には、プロセスの負荷が数値化されて保持される。プロセスの負荷は、プロセスが実行されるたびに測定される。処理情報記憶部206の「負荷」には、例えば、測定された負荷の平均値が保持される。処理情報記憶部206は、「保持部」の一例である。
サーバ情報記憶部207は、情報処理システム1に含まれるサーバ100の情報をサーバ100毎に保持する。サーバ情報記憶部207は、各サーバ100に搭載されるファームウェア103aの属性、ファームウェア103aの負荷状況およびサーバ100の状態を示す情報を保持する。各々のサーバ100のファームウェア103aは、自身が搭載されたサーバ100のサーバ情報記憶部207と他のサーバ100のサーバ情報記憶部207とを保持する。すなわち、ファームウェア103aは、情報処理システム1に含まれる全てのサーバ100のサーバ情報記憶部207を保持する。サーバ情報記憶部207に保持される情報が更新されると、他のサーバ100のファームウェア103aに含まれるサーバ情報記憶部207と同期される。
図8は、サーバ情報記憶部207の一例を示す図である。サーバ情報記憶部207は、「サーバID」、「有効フラグ」、「ファームウェア属性」、「実行できる処理の特性」、「サーバ状態」、「実行中処理の負荷」および「使用可能部品数」の各情報を含む。「サーバID」には、情報処理システム1に含まれる各サーバ100を一意に識別する情報が保持される。「サーバID」は、例えば、ホスト名またはInternet Protocol(IP)
アドレスである。「有効フラグ」には、サーバ100が有効であるか否かを示すフラグ情報が保持される。「有効」な状態とは、例えば、サーバ100が情報処理システム1に接続されている状態である。「無効」な状態とは、例えば、サーバ100が情報処理システム1に接続されていない状態である。「有効フラグ」には、例えば、サーバ100が有効である場合に「1」が保持され、サーバ100が有効でない場合に「0」が保持される。サーバ100zは、上述の通り情報処理システム1に接続されていない。そのため、情報処理システム1では、サーバ100zが有効ではない。そこで、サーバ100zに対応するサーバ情報記憶部207の有効フラグには「0」が保持される。「ファームウェア属性」には、サーバ100に搭載されるファームウェア103aの属性が保持される。「ファームウェア属性」には、例えば、ファームウェアの属性がMaster属性、Standby属性、Slave属性の何れであるかを示す情報が保持される。「実行できる処理の特性」には、サーバ100に搭載されたファームウェア103aが実行できる処理の特性が保持される。「実行できる処理の特性」には、サーバ100が実行できる処理を示す情報が保持される。「実行できる処理の特性」には、例えば、図5を参照して説明された4種類の処理の特性のうち、サーバ100が実行可能な処理の特性が保持される。「実行中処理の負荷」には、ファームウェア103aで実行されているファームウェア内各プロセス202について処理情報記憶部206の「負荷」に登録された情報を集計した値が保持される。
「サーバ状態」には、サーバ100の状態を示す情報が保持される。サーバ100の状態としては、例えば、下記の状態1〜5の5つを例示できる。
状態1.非常駐電源オフの状態から非常駐電源オンの状態への処理中の状態
状態2.非常駐電源オンの状態から非常駐電源オフの状態への処理中の状態
状態3.非常駐電源オンの状態
状態4.非常駐電源オフの状態
状態5.部品故障または本来実装できない部品が実装されていることにより、非常駐電源をオンにできない状態
上記に例示される状態1〜5の各状態に応じてファームウェア103aの処理量が変動する。そこで、実施形態では、上記に例示される状態1〜5の各状態を「実行中処理の負荷」の重みづけに用いる。実施形態では各状態の重みづけは、例えば、状態1の場合に「1.5」、状態2の場合に「1.25」、状態3の場合に「1.0」、状態4の場合に「0.5」、状
態5の場合に「0.25」とする。例えば、サーバ100が状態1の場合、「実行中処理の負荷」の値と状態1の重み「1.5」との積を算出し、算出した値をファームウェア103a
の負荷とすることができる。「サーバ状態」によって示される重みは、「動作状態毎に決定される状態値」の一例である。
「使用可能部品数」には、サーバ100に搭載されたCPU101等のハードウェア資源のうち、ファームウェア103aが制御の対象とするハードウェア資源の数が保持される。制御の対象とする部品とは、例えば、サーバ100に搭載されたハードウェア資源のうち故障していないハードウェア資源である。
図9は、ユーザから処理要求を受け付けた場合の処理の流れの一例を示す図である。以下、図9を参照して、ユーザから処理要求を受け付けた場合の処理の流れの一例について説明する。
B1からB9までの処理は、Master属性が設定されたファームウェア103aによって実行される処理である。B1では、ファームウェア103aの属性に合わせた処理の振り分けが決定される。決定された情報は、サーバ情報記憶部207の「実行できる処理の特性」に保持される。B1の処理は、各サーバ100のファームウェア103aに対して属性が決定された後に実行される処理である。
B2では、ユーザI/F201は、ユーザからの処理の実行要求を受信する。処理の実行要求は、例えば、ユーザI/F201へのコマンドの入力によって行われる。入力されたコマンドによって、ファームウェア内各プロセス202のうち実行対象となるプロセスが特定される。B3では、サーバ間処理要求判定部204は、B2で実行要求を受け付けた処理を実行させるサーバ100を決定する。B3の処理の詳細は、図11を参照して後述される。B3の処理の結果、要求された処理が自サーバで実行する処理である場合(B4でYES)、処理はB5に進められる。要求された処理が自サーバで実行する処理ではない場合(B4でNO)、処理はB9に進められる。
B5では、リクエストマネージャー203は、B2で特定されたプロセスに対して処理の実行を要求する。B6では、B5で処理の実行を要求されたプロセスは、要求された処理を実行する。B7では、B6の処理を終えたプロセスはリクエストマネージャー203に処理結果を通知する。B8では、ユーザI/F201は、B6でリクエストマネージャー202に通知された処理結果を出力部306に出力する。B9では、リクエストマネージャー202は、B3で決定されたサーバ100のファームウェア103aに処理の実行を要求する。
B10〜B13の処理は、Standby属性またはSlave属性のファームウェア103aによって実行される処理である。B10〜B12の処理は、処理の実行主体がStandby属性ま
たはSlave属性のファームウェア103aであることを除いてB1、B5、B6と同様で
ある。そのため、その説明を省略する。B13では、B12の処理を終えたプロセスは自プロセスを含むファームウェア103aのリクエストマネージャー203に処理結果を通知する。処理結果を通知されたリクエストマネージャー203は、Master属性のファーム
ウェア103aのリクエストマネージャー203に処理結果を通知する。
図10は、ファームウェア103aの属性に合わせた振り分けパターン生成処理の一例を示す図である。図10は、図9のB1およびB10の処理をより詳細に説明する図の一例である。図10に例示される処理は、各サーバ100のファームウェア103aが各々実行する。以下、図10を参照して、ファームウェア103aの属性に合わせた振り分けパターン生成処理の一例について説明する。
D1では、処理状態更新部205は、「特定のサーバで実行可能な処理」を、サーバ情報記憶部207の「実行できる処理の特性」に登録する。D2では、処理状態更新部205は、「どのサーバでも実行可能な処理」をサーバ情報記憶部207の「実行できる処理の特性」に登録する。
ファームウェア103aの属性がMaster属性の場合(D3でYES)、処理はD4に進められる。ファームウェア103aの属性がMaster属性ではない場合(D3でNO)、処理はD6に進められる。
D4では、「Master属性のファームウェアで実行できる処理」をサーバ情報記憶部207の「実行できる処理の特性」に登録する。D5では、「Master属性およびStandby属性
のファームウェアで実行できる処理」をサーバ情報記憶部207の「実行できる処理の特性」に登録する。
D6では、ファームウェア103aの属性がStandby属性の場合(D6でYES)、処
理はD5に進められる。ファームウェア103aの属性がStandby属性ではない場合(D
6でNO)、処理は終了される。
図11は、実行要求を受信した処理を各ファームウェア103aに振り分ける処理の一例を示す図である。図11の処理は、図9のB2〜B5およびB9の処理をより詳細に説明する図の一例である。図11の処理は、処理要求を受け付けたサービスプロセッサ103上で実行される。以下、図11を参照して、実行要求を受信した処理を各ファームウェア103aに振り分ける処理の一例について説明する。
E1では、サーバ間処理要求判定部204は、処理情報記憶部206の「処理の特性」を参照して、図9のB2で特定されたプロセスが特定のサーバ100で実行可能なプロセスであるか否かを判定する。要求されたプロセスが特定のサーバで実行可能なプロセスである場合(E1でYES)、処理はE2に進められる。要求されたプロセスが特定のサーバで実行可能なプロセスでない場合(E1でNO)、処理はE5に進められる。
E2では、サーバ間処理要求判定部204は、自サーバとサーバIDによって対応付けられたサーバ情報記憶部207からサーバIDを取得する。E3では、サーバ間処理要求判定部204は、図9のB2で特定されたプロセスに対応付けられた処理情報記憶部206の「負荷」を参照し、当該処理の負荷を示す値を取得する。サーバ間処理要求判定部204は、E2の処理で取得したサーバIDに対応付けられたサーバ情報記憶部207の「実行中処理の負荷」に取得した処理の負荷を示す値を加算する。E4では、処理の依頼先として決定されたサーバ100のファームウェア103aにプロセスの実行を要求する。
E5では、サーバ間処理要求判定部204は、図9のB2で特定されたプロセスがMaster属性のファームウェア103aによって実行されるプロセスであるか否かを判定する。E5の判定では、サーバ間処理要求判定部204は、図9のB2で特定されたプロセスに対応付けられた処理情報記憶部206の「処理の特性」を参照する。サーバ間処理要求判
定部204は、「処理の特性」にMaster属性のファームウェア103aによって実行されるプロセスであるとの情報が登録されている場合に、要求されたプロセスをMaster属性のファームウェア103aによって実行されるプロセスであると判定する。Master属性のファームウェア103aによって実行されるプロセスである場合(E5でYES)、処理はE6に進められる。Master属性のファームウェア103aによって実行されるプロセスではない場合(E5でNO)、処理はE7に進められる。
E6では、サーバ間処理要求判定部204は、サーバ情報記憶部207の「ファームウェア属性」に登録された情報がMaster属性のファームウェア103aを示しているサーバ情報記憶部207を特定する。サーバ間処理要求判定部204は、特定したサーバ情報記憶部207の「サーバID」に登録されたサーバIDを取得する。
E7では、サーバ間処理要求判定部204は、図9のB2で特定されたプロセスに対応付けられた処理情報記憶部206の「処理の特性」を参照して、要求されたプロセスがMaster属性またはStandby属性のファームウェア103aによって実行されるプロセスであ
るか否かを判定する。Master属性またはStandby属性のファームウェア103aによって
実行されるプロセスである場合(E7でYES)、処理はE8に進められる。Master属性またはStandby属性のファームウェア103aによって実行されるプロセスではない場合
(E7でNO)、処理はE10に進められる。
E8では、サーバ間処理要求判定部204は、サーバ情報記憶部207の「ファームウェア属性」を参照して、「ファームウェア属性」に登録された情報がStandby属性のファ
ームウェア103aを示しているサーバ情報記憶部207を選定する。さらに、サーバ間処理要求判定部204は、選定されたサーバ情報記憶部207の中から、「有効フラグ」が有効になっているサーバ情報記憶部207を特定する。サーバ間処理要求判定部204は、特定したサーバ情報記憶部207の「サーバID」に登録されたサーバIDを取得する。サーバ間処理要求判定部204は、該当するサーバIDが複数ある場合は複数のサーバIDを取得してもよい。
E9では、サーバ間処理要求判定部204は、E8またはE10で決定されたサーバIDで特定されるサーバ100のうち、負荷の低いサーバ100を決定する。サーバ間処理要求判定部204は、決定されたサーバIDによって特定されるサーバ情報記憶部207の「実行中処理の負荷」が最も低い値を示すサーバ情報記憶部207を選定する。サーバ間処理要求判定部204は、選定されたサーバ情報記憶部207の「サーバID」に登録されたサーバIDを取得する。サーバ間処理要求判定部204は、取得したサーバIDを負荷の低いサーバ100のサーバIDとして決定する。E9の処理の詳細は、図13を参照して後述される。E9およびE4の処理は、「前記選定された制御部が複数存在する場合、前記選定された制御部の処理負荷を比較して処理負荷の低い制御部を選定」する処理の一例である。
E10では、サーバ間処理要求判定部204は、サーバ情報記憶部207の「ファームウェア属性」を参照して、「ファームウェア属性」に登録された情報がSlave属性のファ
ームウェア103aを示しているサーバ情報記憶部207を選定する。さらに、サーバ間処理要求判定部204は、特定されたサーバ情報記憶部207の中から、「有効フラグ」が有効になっているサーバ情報記憶部207を特定する。サーバ間処理要求判定部204は、特定したサーバ情報記憶部207の「サーバID」に登録されたサーバIDを取得する。サーバ間処理要求判定部204は該当するサーバIDが複数ある場合は、複数のサーバIDを取得する。
図12は、要求されたプロセスを完了して呼び出し元に復帰する処理の一例を示す図で
ある。図12の処理は、図9のB7およびB13の処理をより詳細に説明する図の一例である。以下、図12を参照して、要求されたプロセスを完了して呼び出し元に復帰する処理の一例について説明する。
G1では、プロセスの要求元によって以降の処理が分岐される。プロセスの要求元が自サーバの場合(G1でYES)、処理はG2に進められる。プロセスの要求元が自サーバではない場合(G1でNO)、処理はG5に進められる。G2では、処理状態更新部205は、要求されたプロセスの終了をリクエストマネージャー203から通知される。処理状態更新部205は、処理を終了したプロセスに対応付けられた処理情報記憶部206の「負荷」から、終了したプロセスの「負荷」を示す値を取得する。処理状態更新部205は、自サーバに対応付けられたサーバ情報記憶部207の「実行中処理の負荷」から終了したプロセスの「負荷」を示す値を減算する。
G3では、終了したプロセスと同期をとる他のプロセスが存在する場合、当該他のプロセスが完了したか否かが判定される。当該他のプロセスが完了していた場合(G3でYES)、処理はG4に進められる。当該他のプロセスが完了していない場合(G3でNO)、処理はG6に進められる。
G4では、処理を完了したプロセスは、呼び出し元のプロセスに対し処理の完了を通知する。処理を完了したプロセスは、例えば、呼び出し元のプロセスがリクエストマネージャー203の場合、リクエストマネージャー203に処理の完了を通知する。さらに、処理を完了したプロセスは、同期をとる他のプロセスが存在する場合、当該他のプロセスにも処理の完了を通知する。
G5では、処理を完了したプロセスは、呼び出し元のサーバ100のリクエストマネージャー203に対して処理の完了を通知する。G6では、同期をとる他のプロセスが完了していない。そのため、プロセスは処理の完了を呼び出し元のプロセスに対して報告せずに処理を終了する。
図13は、負荷の低いサーバ100を選定する処理の一例を示す図である。図13の処理は、図11のE9の処理をより詳細に説明する図の一例である。以下、図13を参照して、負荷の低いサーバ100を選定する処理の一例について説明する。
H1では、サーバ間処理要求判定部204は、情報システム1に含まれる各サーバ100について、サーバ情報記憶部207の「実行中処理の負荷」と「サーバ状態」に示されるサーバ状態の重みとの積を算出する。H2では、サーバ間処理要求判定部204は、H1で算出した積の値が最小となるサーバ100が1台か否かを判定する。H1で算出した積の値が最小となるサーバ100が1台である場合(H2でYES)、処理はH3に進められる。H1で算出した積の値が最小となるサーバ100が1台ではない場合(H2でNO)、処理はH4に進められる。
H3では、サーバ間処理要求判定部204は、H1で算出した積の値が最小であるサーバ100のサーバIDをサーバ情報記憶部207から取得する。H3および図11のE4の処理は、「前記処理負荷に対して前記情報処理装置の動作状態毎に決定される状態値(207:「サーバ状態」)にしたがった重みづけを行って第2処理負荷を算出し、前記第2処理負荷の低い前記制御部を選定」する処理の一例である。
H4では、サーバ間処理要求判定部204は、H1で算出した積の値が最小となる複数台のサーバ100から、ファームウェア103aの属性毎に設定された優先度にしたがってプロセスを実行するサーバ100を選定する。H4では、ファームウェア103aの属
性毎の優先度は、例えば、Slave属性、Standby属性、Master属性の順である。ここで、H4の処理の一例について説明する。例えば、H1で算出した積の値が最小となるサーバ100が、サーバ100bとサーバ100dであったとする。この例の場合、サーバ100bはStandby属性のファームウェア103aを有し、サーバ100dはSlave属性のファームウェア103aを有している。そのため、この例の場合、Slave属性のファームウェア
103aを有するサーバ100dが選定される。
H5では、サーバ間処理要求判定部204は、H4で選定したサーバ100が1台か否かを判定する。選定したサーバ100が1台の場合(H5でYES)、処理はH6に進められる。選定したサーバ100が1台ではない場合(H5でNO)、処理はH7に進められる。
H6では、サーバ間処理要求判定部204は、H4で選定したサーバ100のサーバIDをサーバ情報記憶部207から取得する。H7では、サーバ間処理要求判定部204は、サーバ情報記憶部207を参照して、H4で選定されたサーバ100のうち最も「使用可能部品数」の少ないサーバ100を選定する。H8では、サーバ間処理要求判定部204は、H7で選定したサーバ100のサーバIDをサーバ情報記憶部207から取得する。なお、サーバ間処理要求判定部204は、H7で選定されたサーバ100が複数台存在する場合、H7で選定されたサーバ100のうちの任意のサーバ100のサーバIDをサーバ情報記憶部207から取得すればよい。H7および図11のE4の処理は、「前記情報処理装置に搭載されたハードウェア資源の数が少ない情報処理装置に備えられた制御部を選定」する処理の一例である。
以上の説明を踏まえ、実施形態に係る情報処理システム1におけるパーティションの電源投入処理を説明する。図14は、実施形態に係る情報処理システム1において、パーティションの電源投入処理の一例を示す図である。図14では、サーバ100aおよびサーバ100bによってPID#0のパーティションが作成されている。また、サーバ100cお
よびサーバ100dによってPID#1のパーティションが作成されている。サーバ100a
のファームウェア103aは、Master属性に設定されている。サーバ100bのファームウェア103aは、Standby属性に設定されている。サーバ100cおよびサーバ100
dのファームウェア103aは、Slave属性に設定されている。図14では、ユーザから
の要求にしたがって、PID#1のパーティションの電源が投入される。ここで、図14に例
示される各処理のうち、K10およびK13の処理は、Master属性およびStandby属性の
いずれのファームウェア103aでも実行可能な処理であるとする。以下、図14を参照して、実施形態に係る情報処理システム1におけるパーティションの電源投入処理の一例について説明する。
K1では、Master属性のファームウェア103aを有するサーバ100aのサービスプロセッサ103は、ユーザI/F201を介してユーザからPID#1のパーティションに対
する電源投入のコマンドを受け付ける。K2では、サーバ100aのファームウェア103aは、PID#1に含まれるサーバ100cの構成判定処理を要求する。構成判定処理は、
例えば、サーバ100cに搭載されている各種ハードウェアが正常に稼働するか否かを判定する処理である。構成判定処理の要求先となるサーバ100は、図11に例示される処理にしたがって選定される。ここでは、サーバ100cの構成判定処理を実行するサーバとしてサーバ100cが選定されたものとする。そこで、サーバ100aのファームウェア103aは、サーバ100cに対し構成判定処理を要求する。
K3では、サーバ100cのファームウェア103aは、サーバ100aからの要求を受信する。要求を受信したファームウェア103aは、構成判定処理を実行する。K6では、構成判定処理を実行したファームウェア103aは、図12に例示される処理にした
がって決定された処理結果の通知先を決定する。ここでは、処理結果の通知先としてサーバ100aが決定される。サーバ100cのファームウェア103aは、サーバ100aに構成判定の結果を通知する。サーバ100aのファームウェア103aは、受信した結果をStandby属性が設定されているサーバ100bのファームウェア103aと共有する
。受信した結果をサーバ100aのファームウェア103aとサーバ100bのファームウェア103aとで共有する方法に限定は無い。サーバ100aのファームウェア103aは、ネットワークN1を介して受信した結果をサーバ100bのファームウェア103aに送信してもよい。また、サーバ100aのファームウェア103aは、例えば、サーバ100aのサービスプロセッサ103とサーバ100bのサービスプロセッサ103とで共有する記憶装置に受信した結果を記憶させてもよい。K4、K5およびK7の処理は、それぞれK2、K3およびK6の処理と同様である。そのため、その説明を省略する。K8では、サーバ100aのファームウェア103aは、サーバ100cおよびサーバ100dから構成判定処理の結果が出揃うまで待機する。
K10およびK13で実施される処理は、上述の通り、Master属性およびStandby属性
のいずれの属性のファームウェア103aでも実行可能な処理である。そこで、K9では、サーバ100aのファームウェア103aは、図11に例示される処理にしたがって、処理の依頼先を決定する。ここでは、処理の依頼先がサーバ100bのファームウェア103aに決定されたものとする。サーバ100aのファームウェア103aは、サーバ100bのファームウェア103aに処理を依頼する。K10では、処理を依頼されたサーバ100bのファームウェア103aは、サーバ100cのパーティション構成判定処理を実行する。パーティション構成判定処理は、サーバ100cがPID#1のパーティション
を組めるか否かを判定する処理である。K11では、サーバ100bのファームウェア103aは、図12に例示される処理にしたがって、処理結果の通知先を決定する。ここでは、処理の依頼元であるサーバ100のファームウェア103aに処理結果を通知する。サーバ100bのリクエストマネージャー203は、K10のパーティション構成判定処理の結果をサーバ100aのファームウェア103aに通知する。K12では、サーバ100bのファームウェア103aは、図11に例示される処理にしたがって、処理の依頼先を決定する。ここでも、処理の依頼先がサーバ100bのファームウェア103aに決定されたものとする。K13では、処理を依頼されたサーバ100bのファームウェア103aは、K10の処理の結果を基にパーティションを構成する部品の状態から、パーティション構成情報作成処理を実行する。K14では、サーバ100bのファームウェア103aは、図12に例示される処理にしたがって、処理結果の通知先を決定する。ここでは、処理の依頼元であるサーバ100のファームウェア103aに処理結果を通知する。
K15では、サーバ100aのファームウェア103aは、サーバ100bに対して非常駐電源の投入を依頼する。K16では、サーバ100bのファームウェア103aは、サーバ100bの非常駐電源を投入する。K17およびK18の処理は、それぞれK15およびK16の処理と同様である。そのため、その説明を省略する。K19では、サーバ100cのファームウェア103aは、図12に例示される処理にしたがって、処理結果の通知先を決定する。ここでは、サーバ100cのファームウェア103aは、処理の依頼元であるサーバ100aのファームウェア103aに処理結果を通知する。K20の処理は、K19の処理と同様である。そのため、その説明を省略する。K21では、サーバ100aのファームウェア103aは、サーバ100cおよびサーバ100dの非常駐電源投入が完了するのを待機する。
K22では、サーバ100aのファームウェア103aは、サーバ100cに対しハードウェアの初期化を依頼する。ハードウェアの初期化は、例えば、ハードウェアのデバイスドライバを初期化する処理を含む。K23では、サーバ100cのファームウェア103aは、ハードウェアの初期化を実行する。K24およびK25の処理は、K22および
K23の処理と同様であるため、その説明を省略する。
<比較例>
ここで、実施形態との比較のため、比較例について説明する。図15は、比較例に係る情報処理システムにおいて、パーティションに電源を投入する処理の流れの一例を示す図である。比較例に係る情報処理システムは、要求された処理を他のファームウェア103aに振り分けることができない点を除いて、実施形態と同様である。すなわち、比較例に係る情報処理システムでは、要求を受け付けたファームウェア103aが要求された処理を実行する。図14と同様の処理には同一の符号を付し、その説明を省略する。以下、図15を参照して、比較例について説明する。
OP1では、サーバ100aのファームウェア103aは、サーバ100cのパーティション構成判定処理を実行する。OP2では、サーバ100aのファームウェア103aは、サーバ100dのパーティション構成情報を作成する。
以上説明した図15の処理によって、PID#1のパーティションが起動された。図15の
各処理は、Master属性のファームウェア103aからの指示によって行われた。ここで、Master属性のファームウェア103aとStandby属性のファームウェア103aは同じ情
報にアクセス可能である。そのため、例えば、図15のOP1とOP2の処理は、Master属性およびStandby属性の何れの属性のファームウェア103aによっても実行可能であ
る。しかしながら、比較例に係る情報処理システムでは、ユーザから受け付けた処理を他のファームウェア103aに割り当てる仕組みを有さない。そのため、比較例に係る情報処理システムでは、ユーザからの要求を受け付けたMaster属性のファームウェア103aがOP8およびOP9の何れも実行している。そのため、比較例に係る情報処理システムでは、Master属性のファームウェア103aに処理負荷が集中しやすい。
これに対して、実施形態では、図14のK9〜K14に例示されるように、Master属性のファームウェア103a以外でも実行可能な処理は、他の属性のファームウェア103aに処理が分担された。そのため、実施形態に係る情報処理システム1は、Master属性のファームウェア103aで全ての処理を実行する比較例に係る情報処理システムと比較して、Master属性のファームウェア103aの処理負荷を低減できる。
<実施形態の効果>
実施形態では、処理を要求されたプロセス毎に設けられた処理情報記憶部206の「処理の特性」とファームウェア103aの属性とに基づいて、要求されたプロセスの振り分け先を決定した。そのため、実施形態によれば、処理要求を受け付けたファームウェア103aが要求された全ての処理を実行する場合と比較して、特定のファームウェア103aへの処理の偏りが抑制される。
実施形態では、要求された処理を実行できるファームウェア103aが複数存在する場合、処理負荷の低いファームウェア103aに要求された処理を割り当てた。そのため、実施形態によれば、ファームウェア103aの処理負荷を分散することができる。
実施形態では、ファームウェア103aの処理負荷に対してサーバ情報記憶部207の「サーバ状態」に基づいた重みづけを行った上で、要求された処理を割り当てるサーバ100を選定した。そのため、実施形態によれば、サーバ100のサーバ状態とファームウェア103aの処理負荷とに応じて、適切なファームウェア103aに処理の実行を依頼できる。
実施形態では、ファームウェア103aが制御するハードウェア資源の数に応じて処理
の実行を依頼するファームウェア103aが選定された。ファームウェア103aによって制御されるハードウェア資源の数が多いほど、ファームウェア103aの処理負荷は高くなりやすいと考えられる。そのため、実施形態によれば、ファームウェア103aが制御するハードウェア資源の数に応じて処理の実行を依頼するファームウェア103aを選定することで、処理負荷が高くなりにくいファームウェア103aを選定できる。
<実施形態の変形>
実施形態に係る情報処理システム1は、サーバ100を最大5台含むことができた。しかしながら、情報処理システム1に含まれるサーバ100の台数に限定は無い。情報処理システム1は、任意の台数のサーバ100を含むことができる。
実施形態では、1または複数のサーバ100を組み合わせることでパーティションを作成する情報処理システム1を1例として、特定のファームウェア103aへの処理の偏りを抑制する方法が説明された。しかしながら、実施形態で説明した特定のファームウェア103aへの処理の偏りを抑制する方法を適用できるシステムは、パーティションを作成する情報処理システム1に限定されない。実施形態で説明した特定のファームウェア103aへの処理の偏りを抑制する方法を適用できる情報処理システムは、処理内容に応じた属性が設定されたファームウェアを有する複数のサーバが接続された情報処理システムであればよい。
以上で開示した実施形態や変形例はそれぞれ組み合わせる事ができる。
1・・・情報処理システム
100、100a、100b、100c、100d、100z・・・サーバ
101・・・CPU
102・・メモリ
103・・・サービスプロセッサ
103a・・・ファームウェア
104・・・ファン
105・・・PSU
106・・・XB
107・・・各種センサー
N1、N2・・・ネットワーク
301・・・CPU
302・・・主記憶部
303・・・補助記憶部
304・・・通信部
305・・・入力部
306・・・出力部
C1・・・接続バス
201・・・ユーザI/F
202・・・ファームウェア内各プロセス
203・・・リクエストマネージャー
204・・・サーバ間処理要求判定部
205・・・処理状態更新部
206・・・処理情報記憶部
207・・・サーバ情報記憶部

Claims (4)

  1. 複数の情報処理装置が通信可能に接続された情報処理システムであって、
    前記情報処理システムに含まれる情報処理装置の各々は、
    実行可能な処理に応じた属性が設定され、搭載されたハードウェア資源を制御する制御部と、
    前記制御部のいずれかによって実行される処理と前記処理を実行できる前記属性との対応関係を保持する保持部と、
    処理の実行要求を受け付ける受付部と、
    前記対応関係にしたがって、前記実行要求を受け付けた処理を実行する前記制御部を選定する選定部と、
    前記選定された前記制御部に前記要求された処理の実行を依頼する依頼部と、を備える、
    情報処理システム。
  2. 前記選定部は、前記選定された制御部が複数存在する場合、前記選定された制御部の処理負荷を比較して処理負荷の低い制御部を選定する処理をさらに含む、
    請求項1に記載の情報処理システム。
  3. 前記選定部は、前記処理負荷に対して前記情報処理装置の動作状態毎に決定される状態値にしたがった重みづけを行って第2処理負荷を算出し、前記第2処理負荷の低い前記制御部を選定する処理をさらに含む、
    請求項2に記載の情報処理システム。
  4. 前記選定部は、前記情報処理装置に搭載されたハードウェア資源の数が少ない情報処理装置に備えられた制御部を選定する処理をさらに含む、
    請求項1から3のいずれか一項に記載の情報処理システム。
JP2016175895A 2016-09-08 2016-09-08 情報処理システム Pending JP2018041340A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016175895A JP2018041340A (ja) 2016-09-08 2016-09-08 情報処理システム
US15/687,586 US20180067774A1 (en) 2016-09-08 2017-08-28 System for information processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016175895A JP2018041340A (ja) 2016-09-08 2016-09-08 情報処理システム

Publications (1)

Publication Number Publication Date
JP2018041340A true JP2018041340A (ja) 2018-03-15

Family

ID=61282124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016175895A Pending JP2018041340A (ja) 2016-09-08 2016-09-08 情報処理システム

Country Status (2)

Country Link
US (1) US20180067774A1 (ja)
JP (1) JP2018041340A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7017800B2 (ja) 2019-04-15 2022-02-09 株式会社アクセル 演算装置、演算システム、及び演算方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10161987A (ja) * 1996-11-27 1998-06-19 Toshiba Corp コンピュータシステムにおける負荷分散方法および負荷分散処理システム
US6453468B1 (en) * 1999-06-30 2002-09-17 B-Hub, Inc. Methods for improving reliability while upgrading software programs in a clustered computer system
US7003574B1 (en) * 2000-11-01 2006-02-21 Microsoft Corporation Session load balancing and use of VIP as source address for inter-cluster traffic through the use of a session identifier
GB0316476D0 (en) * 2003-07-15 2003-08-20 Hewlett Packard Development Co Resource balancing in distributed peer to peer networks
WO2005114411A1 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. Balancing load requests and failovers using a uddi proxy
US8190588B1 (en) * 2005-09-19 2012-05-29 Amazon Technologies, Inc. Providing a distributed transaction information storage service
GB2431814A (en) * 2005-10-31 2007-05-02 Hewlett Packard Development Co Distribution of data in a network
US9323567B2 (en) * 2014-09-25 2016-04-26 International Business Machines Corporation Overcommitting virtual machine hosts
SG11201706160UA (en) * 2015-02-27 2017-09-28 Sonic Ip Inc Systems and methods for frame duplication and frame extension in live video encoding and streaming
CN106604356B (zh) * 2015-10-15 2020-02-14 华为终端有限公司 无线通信接入方法、装置、处理器和无线终端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7017800B2 (ja) 2019-04-15 2022-02-09 株式会社アクセル 演算装置、演算システム、及び演算方法

Also Published As

Publication number Publication date
US20180067774A1 (en) 2018-03-08

Similar Documents

Publication Publication Date Title
US9183024B2 (en) Computer system with a cluster load balancer for graphics processing and graphics processing method thereof
US9081618B2 (en) Method and apparatus for the scheduling of computing tasks
US10416996B1 (en) System and method for translating affliction programming interfaces for cloud platforms
US9058217B2 (en) Preferential CPU utilization for tasks
US20220100550A1 (en) Accelerator Loading Method, System, and Apparatus
TW201339969A (zh) 資料中心伺服器開機管理方法及系統
TWI594116B (zh) 管理運算系統的操作之技術
JP2014529829A (ja) 仮想化入力/出力のためのプロセッサローカルコヒーレンシを有するコンピュータシステム
US11416267B2 (en) Dynamic hardware accelerator selection and loading based on acceleration requirements
WO2018192478A1 (zh) 云管理平台、虚拟机管理方法及其系统
JP2007233815A (ja) 情報処理システムおよび情報処理装置の割当管理方法
EP3183848B1 (en) Optimization framework for multi-tenant data centers
TW201727473A (zh) 具有記憶體管理機制之計算系統及其操作方法以及非暫時性電腦可讀取媒體
RU2679978C1 (ru) Многорежимный игровой сервер
US20160337245A1 (en) Network element controller, and control apparatus and method for controlling network element controllers
US11354163B2 (en) Virtual machine placement method and virtual machine placement device implementing the same
JP2018041340A (ja) 情報処理システム
US20100023742A1 (en) Bios sharing system in a high density server and method thereof
US20210109736A1 (en) Composable infrastructure update system
US10353744B2 (en) System wide manageability
JPWO2007094037A1 (ja) 情報処理装置、システム制御装置および入出力リクエスト方法
EP3479256B1 (en) Fabric encapsulated resilient storage
JP2019152996A (ja) エンジニアリングツール、コントローラ、および制御システム
US20140156896A1 (en) Advanced programmable interrupt controller identifier (apic id) assignment for a multi-core processing unit
JP6207342B2 (ja) 情報処理システムおよび情報処理システムの制御方法