[go: up one dir, main page]

JP2007272275A - コンピュータシステム、並列初期化方法、及びブートプログラム - Google Patents

コンピュータシステム、並列初期化方法、及びブートプログラム Download PDF

Info

Publication number
JP2007272275A
JP2007272275A JP2006093547A JP2006093547A JP2007272275A JP 2007272275 A JP2007272275 A JP 2007272275A JP 2006093547 A JP2006093547 A JP 2006093547A JP 2006093547 A JP2006093547 A JP 2006093547A JP 2007272275 A JP2007272275 A JP 2007272275A
Authority
JP
Japan
Prior art keywords
node
initialization
state
information
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006093547A
Other languages
English (en)
Other versions
JP4817115B2 (ja
Inventor
Tomoyoshi Sugawara
智義 菅原
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006093547A priority Critical patent/JP4817115B2/ja
Publication of JP2007272275A publication Critical patent/JP2007272275A/ja
Application granted granted Critical
Publication of JP4817115B2 publication Critical patent/JP4817115B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】それぞれ個別のOSが動作する複数のノードを備えるコンピュータシステムにおいて、システム全体の起動時間を短縮する。
【解決手段】本発明によるコンピュータシステム1は、相互に接続された複数のノード100を具備する。複数のノード100〜100は第1のノード100と第2のノード100とを備える。第1のノード100は、所定の初期化処理を実行する第1の初期化処理部22と、第1の初期化処理部22における所定の初期化処理によって変更されたメモリ内の状態(状態情報40)を第2のノード100に送信する実行状態通信部23とを備える。第2のノード100は状態情報40に基づき自身の内部状態を変更する実行状態反映部14を備える。
【選択図】図4

Description

本発明は、複数のノードを備えるコンピュータ装置及びその初期化方法に関し、特に複数のコンピュータ装置を接続したクラスタシステム、又は複数のプロセッサコアを接続したマルチコアプロセッサシステム、それらに用いられる並列初期化方法、及びブートプログラムに関する。
近年、クラスタシステムが広く利用されている。クラスタシステムとは、少なくともプロセッサとメモリとネットワークデバイスを搭載したコンピュータ同士をネットワークで結合したものである。クラスタシステムは、共有メモリを持たず、各コンピュータ上で別々のOS(Operating System)が動作する。このようなクラスタシステムでは、各コンピュータはそれぞれ独立して動作するが、OSやライブラリ、アプリケーションが協調し、コンピュータ同士を連携させることにより、ユーザや他のコンピュータに対して全体で1台のコンピュータであるかのように動作させることも可能である。すなわち、複数のコンピュータを1台のコンピュータを扱うように管理することができる。このため、クラスタシステム内のいずれかのコンピュータが停止してもシステム全体が止まることはなく、処理を続行したまま修理や交換が行える。
一方、複数のプロセッサから構成されるコンピュータとして、SMP(Symmetric Memory Processor)型コンピュータシステムがある。SMP型コンピュータシステムでは、メモリもデバイスも共有されており、又、1つのOSで全てのプロセッサを制御する点がクラスタシステムと異なる。更に、最近、1つのチップの中に複数のプロセッサコアを搭載したマルチコアプロセッサシステムが現れてきた。マルチコアプロセッサシステムにはクラスタ型とSMP型がある。クラスタ型マルチコアプロセッサのプロセッサコア内ではそれぞれ独立したOSを動作させる。このため、クラスタ型マルチコアプロセッサシステムはOSからは複数のマイクロプロセッサとして扱われる。一方、SMP型マルチコアプロセッサではプロセッサ全体で1つのOSを動作させる。クラスタ型マルチコアプロセッサの代表的なものとして、NECエレクトロニクス社のMP211、SMP型マルチコアプロセッサの代表的なものとしてARM社のMPcore、Intel社のCoreDuoがある。
このように複数のコンピュータあるいはプロセッサ、プロセッサコア(以下、これらを総称してノードと呼ぶ)を有するコンピュータシステムでは、並列処理を行うことで計算を高速に行うことができる。この並列処理は、アプリケーションプログラムの高速化のために広く使われてきた。又、近年はコンピュータシステムの起動時間を短縮する目的で、OSの起動処理を並列処理する取り組みが現れている。
従来の並列ブート可能なコンピュータの一例が、特開2004−213530号公報に記載されている(特許文献1参照)。特許文献1では、スレッドが利用不可能な状態でOSの初期化処理を行う第1の初期化処理手段と、スレッドが利用可能な状態でOSの初期化処理を行う第2の初期化処理手段と、ユーザスレッドが利用可能な状態でOSの初期化処理を行う第3の初期化処理手段を有するコンピュータ(情報処理装置)が示されている。第1の初期化処理手段は、デバイスドライバ(I/O装置)の初期化を逐次的に行う。第2の初期化処理手段はスレッドを利用することで複数のデバイスドライバの初期化を並列に実行する。第3の初期化処理手段は、ユーザレベルのプロセスが利用可能になってから、通常の並列処理を用いてデバイスドライバの初期化を並列に実行する。SMP型のコンピュータでは、第2及び第3の初期化処理手段により複数のプロセッサ上でデバイスドライバの初期化を並列実行できるため起動時間を短縮することが可能である。
特許文献1に記載の並列初期化方法によれば、1つのOSを複数のスレッドでブートさせるため、複数のノードで同時に複数のスレッドを動作させられるSMP型コンピュータシステムやSMP型マルチコアプロセッサシステムに対して高速化の効果が得られる。しかし、各コンピュータ上で別々にOSを動作させるクラスタシステムでは、1つのOSで制御するプロセッサ数がスレッド数よりも少ないため、複数のスレッドに分割した効果を十分に得られない。すなわち、特許文献1に記載のブート高速化方式では、それぞれ個別のOSを動作させる複数のノードを備えたクラスタシステムやマルチコアプロセッサシステムでは期待する効果を得ることができない。すなわち、従来の並列ブート方式は、SMP型コンピュータシステムやSMP型マルチコアプロセッサシステムでは高速化の効果が高かったが、クラスタシステムやクラスタ型マルチコアプロセッサシステムに適用しても高速化の効果は高くなかった。
一方、並列初期化処理に関連する従来技術が、特開2002−189706号公報(特許文献2参照)、及び特開平6−259393号公報(特許文献3参照)に記載されている。特許文献2には、複数プロセッサ構成のシステムにおいて個別処理部のプロセッサ間における通信量の増大を抑止してシステム全体の起動時間を短縮する技術が記載されている。特許文献2の技術によれば、システム起動時、個別処理部毎に保持する初期設定情報を利用して各処理部の初期設定処理を並列に行い、各処理部間の通信を不要にしている。又、特許文献3には、ネットワークを介して接続されたホスト計算機とプロセッサエレメントとを具備する分散メモリ型並列計算機におけるブート制御方法が記載されている。特許文献3の技術によれば、1つ目のノード(プロセッサエレメント)を起動した後のメモリ上のデータを使用して、2つ目以降のノードを起動することで、2つ目以降のノードの起動を高速化できる。
複数のノードを備えるコンピュータシステムでは、システム起動時に初期化されるデバイスドライバの数や起動されるプロセス量はノード毎に異なる。特にメインとなるノード(以下、マスタノードと称す)は、初期化するデバイスや起動するプロセスは多く、起動する時間も他のノードに比べて多くなる。このため、システム全体の起動時間は増大してしまう。特許文献2及び3に記載の技術では、ノード毎に起動処理を並列して実施しているため、ノード毎の起動時間に差が生じる。すなわち、システム全体の起動時間は、起動時間が最長のノードに依存して増大してしまう。
特開2004−213530号公報 特開2002−189706号公報 特開平06−259393号公報
本発明の目的は、それぞれ個別のOSが動作する複数のノードを備えるコンピュータシステムにおいて、システム全体の起動時間を短縮できる並列初期化方法を提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を括弧付きで用いて、[課題を解決するための手段]を説明する。この番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明によるコンピュータシステム(1、1’)は、相互に接続された複数のノード(100〜100、100’〜100’)を具備する。複数のノード(100〜100、100’〜100’)は、第1のノード(100、100’)と第2のノード(100、100’)とを備える。第1のノード(100、100’)は、所定の初期化処理(所定のデバイスドライバの初期化及び/又は所定のプロセスの起動)を実行する第1の初期化処理部(22)と、第1の初期化処理部(22)における初期化処理によって変更された状態情報(40)を第2のノード(100、100’)に送信する実行状態通信部(23)とを備える。第2のノード(100、100’)は状態情報(40)に基づき自身の内部状態を変更する実行状態反映部(14)を備える。このように、本発明に係る第2のノード(100、100’)は、システム内の他のノード(100、100’)によって初期化処理した結果を自身に反映することができる。すなわち、第2のノードにおける初期化処理を他のノードで分散処理し、自身に反映することができる。又、第2のノード(100、100’)で従来実行していた初期化処理を他のノード(100〜100、100’〜100’)に分散処理させることができる。
又、第2のノード(100、100’)は、所定の初期化処理(所定のデバイスドライバの初期化及び/又は所定のプロセスの起動)を実行する第2の初期化処理部(12)を更に備えることが好ましい。実行状態反映部(14)は、第1のノード(100、100’)から転送された状態情報(40)と、第2の初期化処理部(12)における初期化処理によって内部状態を変更する。このため、第2のノード(100、100’)自身でもデバイスドライバの初期化処理及びプロセスの起動処理の一部を実行し、一部を他のノード(100〜100、100’〜100’)に実行させ、その結果を自身に反映することができる。
本発明に係る複数のノード(100〜100、100’〜100’)のそれぞれは、自ノードの役割がマスタノードであるかスレーブノードであるかを決定する役割指定部(11、21)と、自ノードにおいて初期化処理の対象(初期化するデバイスドライバ及び/又は起動するプロセス)を指定する分担指定部(11、21)と、分担指定部(11、21)の指定に基づき初期化処理(デバイスドライバの初期化及び又は(プロセスの起動)を実行する初期化処理部(12、22)と、役割指定部(11、21)において、自ノードがスレーブノードであると決定された場合、初期化処理部(22)における初期化処理(デバイスドライバの初期化及び/又はプロセスの起動)によって変更された状態情報(40)を他ノード(100、100’)に転送する実行状態通信部(23)とを具備する。
又、役割指定部(11、21)において自ノードがマスタノードであると決定された場合、他ノード(100、100’)から転送される状態情報(40)を自ノードの内部状態に反映させる実行状態反映部(14)とを具備する。
ノード(100、100’)は、初期化すべきデバイスドライバ(320)か、起動すべきプロセス(330)の少なくとも一方を指定する分担情報(30)を格納する記憶装置(103)を更に備えることが好ましい。分担指定部(11、21)は、分担情報(30)を参照して初期化対象のデバイスドライバ及び起動対象のプロセスを決定する。
ノード(100、100’)は、マスタノード又はスレーブノードを指定するための役割情報(220)と、複数のノードのいずれかの識別子とが対応付づけられた役割指定情報(20)を格納する記憶装置(104)を更に備えることが好ましい。役割指定部(11、21)は、役割指定情報(20)に基づき自ノードの識別子に対応する役割情報(220)を参照して、自ノードの役割を決定する。又、実行状態通信部(23)は、役割指定部(21)において自ノードがスレーブノードとして指定された場合、役割指定情報(20)を参照してマスタノードに指定されたノード(100、100’)に状態情報(40)を転送する実行状態通信部を更に具備することが好ましい。各ノード(100、100’)が役割指定情報(20)を保持することで、どのノードがマスタノードであるのかを確認することができる。
状態情報(40)は、デバイスドライバの初期化、及びプロセスの起動によって変更されたメモリ内の状態を示す情報であることが好ましい。マスタノードに指定されたノードは、この状態情報(40)に基づいて自身のメモリ内の内容を変更できる。
複数のノード(100〜100)は、ネットワーク(200)を介して相互に接続される複数のコンピュータ装置(100)であることが好ましい。複数のコンピュータ装置(100〜100)の各々は、個別のOS(Operating System)を実行するCPU(101)を備えることが好ましい。
又、他の態様に係るコンピュータシステムとして、複数のノード(100’)は内部バス(200’)を介して相互に接続される複数のプロセッサコア(100’〜100’)であることが好ましい。複数のプロセッサコア(100’〜100’)の各々は、個別のOS(Operating System)を実行することが好ましい。
本発明によるコンピュータシステム、並列初期化方法、及びブートプログラムによれば、それぞれ個別のOSが動作する複数のノードを備えるコンピュータシステムにおいて、システム全体の起動時間を短縮することができる。
以下、添付図面を参照して、本発明によるコンピュータシステムの実施の形態が説明される。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。本発明によるコンピュータシステムの実施の形態はクラスタシステムを一例に実施の形態が説明される。
(構成)
図1は、本発明によるクラスタシステム1の実施の形態における構成図である。図1を参照して、本発明によるクラスタシステム1は、ネットワーク200にを介して相互に接続された複数のコンピュータ100〜100を具備している。ネットワーク200には、図示しないネットワークスイッチが設けられ、このネットワークスイッチを介してコンピュータ100〜100は相互に通信接続されている。以下では、コンピュータ100〜100を総称して説明される場合、コンピュータ100とされる。
図2は、本発明によるコンピュータ100の構成図である。図2を参照して、コンピュータ100は、バスで相互に接続されたプロセッサ101、主記憶装置102、外部記憶装置103、NIC(Network Interface Card)104を具備している。外部記憶装置103はハードディスクに例示され、ブートプログラム10、役割指定情報20、分担情報30を格納している。プロセッサ101は、システム起動時にブートプログラム10を実行することでデバイスドライバを初期化し、プロセスを起動する。主記憶装置102はRAMに例示され、プロセッサ101で実行されるブートプログラム10を一時記憶する。NIC104は、ネットワーク200上の図示しないネットワークスイッチに接続されるネットワークインタフェースである。NIC104は、ネットワーク200上にある他のコンピュータとの間におけるデータの伝送を制御する。コンピュータ100〜100間の通信はTCP/IP通信を用いることができる。すなわち、コンピュータ100〜100のそれぞれは固有のIPアドレスを有している。
ブートプログラム10は、プロセッサ101で実行されるOS(Operating System)の一部であり、起動処理を実行するためのプログラムである。尚、コンピュータ100〜100はそれぞれ独立した個別のOS上で動作している。本実施の形態ではOSとしてLinuxを用いた場合について説明される。又、役割指定情報20及び分担情報30は、外部記憶措置103にファイルとして格納される。役割指定情報20は、自コンピュータがマスタノード(マスタコンピュータ)であるかスレーブノード(スレーブコンピュータ)であるかを指定する情報である。ここで、マスタノードとは、クラスタシステム1のシステム起動時における起動処理の主体となるコンピュータである。又、スレーブノードとはシステム起動時において起動処理の一部を担うコンピュータである役割指定情報20は、マスタノードかスレーブノードかを指定する情報を含む。図3(a)を参照して、役割指定情報20は、コンピュータ100の識別子であるコンピュータID210(例示:IPアドレス)と、マスタノードかスレーブノードかを指定する役割情報220とが対応付けられている。詳細には、例えば、Linuxであれば、/etc/hostsファイルに”master”と書かれたエントリが存在し、そのエントリのIPアドレスが自コンピュータのIPアドレスと一致すれば、マスタノードであり、そうでない場合は、スレーブノードと判断される。分担情報30は、自コンピュータが初期化する対象となるデバイスドライバと、自コンピュータが起動する対象となるプロセスを指定する情報である。図3(b)を参照して、分担情報30は初期化対象のデバイスドライバ320と起動対象のプロセスとの情報を含む。詳細には、例えば、Linuxであれば、/etc/modules.confという設定ファイルに初期化すべきデバイスドライバが記述され、/etc/rc.d以下に起動すべきプロセスに関するrcファイルが記述される。尚、本実施の形態では、コンピュータ100がマスタノードとして指定され、コンピュータ100〜100がスレーブノードとして指定されるものとする。本実施の形態では便宜上コンピュータ100とコンピュータ100の動作について説明されるが、スレーブノードとして指定される他のコンピュータ100〜100についても100と同様な構成・動作であるのは言うまでもない。
図4を参照して、本発明によるクラスタシステム1の機能ブロックが説明される。コンピュータ100のプロセッサ101はブートプログラム10を実行することで、役割分担指定部11、初期化処理部12、実行状態通信部13、実行状態反映部14の機能を実現する。同様に、コンピュータ100のプロセッサ101は、ブートプログラム10を実行することで、役割分担指定部21、初期化処理部22、実行状態通信部23の機能を実現する。
役割分担指定部11、21は、コンピュータ100が起動される際、役割指定情報20に基づいて自コンピュータがマスタノードになるかスレーブノードになるかを決定する。又、分担情報30に基づいて自コンピュータが初期化すべきデバイスドライバと、起動すべきプロセスを決定する。本実施の形態では、役割分担指定部11はコンピュータ100がマスタノードであると指定し、役割分担指定部21はコンピュータ100がスレーブノードであると指定する。
初期化処理部12、22は、役割分担指定部11、21により決定されたデバイスドライバやプロセスの初期化や起動を行う。初期化処理部12、22の処理内容は、従来のブート方法と同様である。例えば、Linuxの場合、デバイスドライバに関しては、insmodなどのコマンドをプロセッサ101で実行し、/etc/modules.confに含まれるカーネルモジュールをカーネルへ組み込むことで初期化処理される。又、プロセスに関しては/etc/rc.d以下に設定されたプログラムがプロセッサ101で実行されることで起動処理される。
マスタノードとして指定されたコンピュータ100の実行状態通信部13は、コンピュータ100によって初期化済みのデバイスドライバの状態や起動後のプロセス状態を状態情報40として受信する。又、スレーブノードとして指定されたコンピュータ100の実行状態通信部23は、初期化処理部22で初期化済みのデバイスドライバの状態や起動後のプロセス状態を状態情報40としてコンピュータ100に送信する。この際、実行状態通信部23は、役割指定情報20を参照してマスタノードに対応するコンピュータ100を宛て先に指定して状態情報40を転送する。この際、実行状態通信部23は、役割指定情報20を参照してマスタノードに対応するコンピュータID210を宛て先に指定して状態情報40を転送する。尚、初期化済みのデバイスドライバの状態とは、デバイスドライバの実行コードと、主記憶装置102で使用中のメモリデータとOS内部で管理されているデバイスドライバの情報などを含む。又、起動後のプロセス状態とは、プロセスが使用する主記憶装置102上のデータやカーネル内のプロセス構造体の情報を含む。
実行状態反映部14はコンピュータ100から転送された状態情報40に基づいてデバイスドライバやプロセスの状態を送信元のコンピュータ100と同様な状態にする。例えば、OS内部のデータ構造を直接操作する方法が用いられる。この方法としてはプロセスマイグレーションやチェックポインティングなどが利用され得る。
(動作)
図5を参照して本発明によるクラスタシステム1のシステム起動処理の動作が説明される。クラスタシステム1に属するコンピュータ100及び100は、ほぼ同時に起動を開始する。起動が開始されると、最初に、役割分担指定部11、21は、自コンピュータがマスタノードかスレーブノードかを決定する。又、初期化すべきデバイスドライバと起動すべきプロセスを決定する(ステップS11)。詳細には、役割分担指定部11、21は/etc/hostsファイルと、自コンピュータのIPアドレスから自コンピュータがマスタノードかスレーブノードかを決定する。すなわち、/etc/hostsファイルに”master”と書かれたエントリが存在し、そのエントリのIPアドレスが自コンピュータのIPアドレスと一致すれば、マスタノードであり、そうでない場合は、スレーブノードと判断する。更に、/etc/modules.confから初期化すべきデバイスドライバが決定され、/etc/rc.d以下のファイル(起動スクリプト)により起動すべきプロセスが決定される。ここでは、コンピュータ100がマスタノコンピュータ、コンピュータ100がスレーブノードとして指定されるものとする。
次に、初期化処理部12、22は、ステップS11で決定されたデバイスドライバとプロセスに関して、初期化と起動を実行する(ステップS12)。詳細にはステップS11で決定されたデバイスドライバとプロセスに関して、modprobeによりデバイスドライバを初期化し、/etc/rc.d以下のデーモン起動スクリプトの実行によりプロセスを起動する。
ここで、ステップS11において、スレーブノードであると決定された場合(ステップS13のNo)、初期化済みデバイスドライバと起動後のプロセスにより変更されたメモリ内の状態(状態情報40)をマスタノードに送信する(ステップS16)。一方、ステップ11で、マスタノードであると決定された場合(ステップS13のYes)は、スレーブノードから送信された状態情報40を受信し(ステップS14)、受信した状態情報40を自コンピュータの内部状態に反映させる(ステップS15)。詳細には、コンピュータ100はスレーブノードと指定されたので、実行状態通信部23は初期化及び起動後の状態情報40をコンピュータ100に送信する。この際、実行状態通信部23はプロセスマイグレーションの機能を利用して、状態情報40を取得してコンピュータ100に転送する。尚、プロセスマイグレーションはLinuxの標準機能ではないが研究レベルでの実装がいくつか存在しておりそれを利用できる。コンピュータ100の実行状態通信部13は、状態情報40を受信し、実行状態反映部14に送る。実行状態反映部14は、状態情報40に基づき自身の主記憶装置102の内容を書き換える。
以上のように、本発明によるクラスタシステム1では、システム起動において起動の主体となるマスタノードの起動処理を他のスレーブノードに分散し、その結果をマスタノードに反映できる。このため、システム起動時に初期化するデバイスドライバ数や起動するプロセス数の多いマスタノードの処理数が減少し、システム全体の起動時間が短縮される。尚、マスタノードであるコンピュータ100で行うべき初期化処理及び起動処理の全てをスレーブノードであるコンピュータ100〜100に分散させても構わない。又、スレーブノードは100〜100のうち全部又は一部で良いのは言うまでもない。
更に、本実施の形態ではマスタノードとして1つのコンピュータ100が指定されたが、複数のコンピュータが指定されても構わない。この際、分担情報30のデバイスドライバ320及びプロセス330に状態情報40の転送先のマスタノードが対応付けられて指定されていることが望ましい。スレーブノードに指定されたコンピュータ100は、分担情報30に基づき、初期化したデバイスドライバ320、及び起動したプロセス330に対応するマスタノードコンピュータを状態情報40の転送先として決定することができる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。本発明によれば、従来、1台のコンピュータだけで行っていたブート処理を複数のコンピュータで分担し、起動処理の最後の部分で別々に初期化したデバイスドライバやプロセスの状態を1つのコンピュータに集めることができる。このため、個別のOSが動作している複数のコンピュータを備えるコンピュータシステムにおいて、システム全体の起動時間を短縮することができる。例えば、本発明によるコンピュータシステムは、それぞれ固有のOSによって動作するプロセッサコアを備えるマルチコアプロセッサシステム1’にも応用できる。
図6は、本発明によるマルチコアプロセッサシステム1’の構成図である。マルチコアプロセッサシステム1’は、それぞれ個別のOSが動作する複数のプロセッサコア100’〜100’を備える。以下では、プロセッサコアコア100’〜100’を総称して説明される場合、コンピュータ装置100’とされる。プロセッサコア100’は、内部バス200’及びメモリコントローラ400を介して主記憶装置102’に接続され、内部バス200’及びI/Oコントローラ500を介して外部記憶装置103’、NIC104’に接続されている。尚、主記憶装置102’にはプロセッサコア100’毎に固定領域が割り当てられ得る。又、外部記憶装置103’及びNIC104’はプロセッサコア100’間で共有される。外部記憶装置103’はブートプログラム10’、役割指定情報20’、及び分担情報30’が格納されている。すなわち、プロセッサコア100’は共通のブートプログラム10’、役割指定情報20’、及び分担情報30’を利用して起動処理を実行できる。
マルチコアプロセッサシステム1’の構成に付された符号で、クラスタシステム1の構成と同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示しているのでその説明は省略される。又、マルチコアプロセッサシステム1’のシステム起動時の動作は、上述のクラスタシステム1の動作と同様なので説明は省略される。
図1は、本発明によるクラスタシステムの実施の形態における構成図である。 図2は、本発明に係るコンピュータの実施の形態における構成図である。 図3(a)は、本発明に係る役割指定情報の構成図である。図3(b)は、本発明に係る分担情報の構成図である。 図4は、本発明によるクラスタシステムの実施の形態における機能ブロック図である。 図5は、本発明によるクラスタシステムのシステム起動時における起動処理動作を示すフロー図である。 図6は、本発明によるマルチコアプロセッサシステムの実施の形態における構成図である。
符号の説明
1:クラスタシステム
1’:マルチコアプロセッサシステム
10、10’:ブートプログラム
20、20’:役割指定情報
30、30’:分担情報
11、21:役割分担指定部
12、22:初期化処理部
13、23:実行状態通信部
14:実行状態反映部
320:デバイスドライバ
330:プロセス
100、100〜100:コンピュータ
100’、100’〜100’:プロセッサコア
200:ネットワーク
200’:内部バス
210:コンピュータID
220:役割情報
101:プロセッサ
102、102’:主記憶装置
103、103’:外部記憶装置
104、104’:NIC(Network Interface Card)
300:メモリコントローラ
400:I/Oコントローラ

Claims (20)

  1. 相互に接続された複数のノードを具備し、
    前記複数のノードは、第1のノードと第2のノードとを備え、
    前記第1のノードは、
    所定の初期化処理を実行する第1の初期化処理部と、
    前記第1の初期化処理部における初期化処理によって変更された状態情報を前記第2のノードに送信する実行状態通信部とを備え、
    前記第2のノードは前記状態情報に基づき自身の内部状態を変更する実行状態反映部を備える
    コンピュータシステム。
  2. 請求項1に記載のコンピュータシステムにおいて、
    前記第2のノードは、
    所定の初期化処理を実行する第2の初期化処理部を更に備え、
    前記実行状態反映部は、前記第1のノードから転送された状態情報と、前記第2の初期化処理部による初期化処理とによって内部状態を変更する
    コンピュータシステム。
  3. 請求項1又は2に記載のコンピュータシステムにおいて、
    前記初期化処理は、デバイスドライバを初期化する処理を含む
    コンピュータシステム。
  4. 請求項1から3いずれか1項に記載のコンピュータシステムにおいて、
    前記初期化処理は、プロセスを起動する処理を含む
    コンピュータシステム。
  5. 相互に接続される複数のノードを備え、
    前記複数のノードのそれぞれは、
    自ノードの役割がマスタノードであるかスレーブノードであるかを決定する役割指定部と、
    自ノードにおいて初期化処理の対象を指定する分担指定部と、
    前記分担指定部の指定に基づき初期化処理を実行する初期化処理部と、
    前記役割指定部において、自ノードがスレーブノードであると決定された場合、前記初期化処理部における初期化処理によって変更された状態情報を他ノードに転送する実行状態通信部とを具備する
    コンピュータシステム。
  6. 請求項5に記載のコンピュータシステムにおいて、
    前記役割指定部において自ノードがマスタノードであると決定された場合、他ノードから転送される前記状態情報を自ノードの内部状態に反映させる実行状態反映部とを更に具備する
    コンピュータシステム。
  7. 請求項5又は6に記載のコンピュータシステムにおいて、
    前記ノードは、初期化すべきデバイスドライバを指定する分担情報を格納する記憶装置を更に備え、
    前記分担指定部は、前記分担情報を参照して初期化対象のデバイスドライバを指定し、
    前記初期化処理部は、前記初期化対象のデバイスを初期化する
    コンピュータシステム。
  8. 請求項5から7いずれか1項に記載のコンピュータシステムにおいて、
    前記ノードは、起動すべきプロセスを指定する分担情報を格納する記憶装置を更に備え、
    前記分担指定部は、前記分担情報を参照して起動対象のプロセスを指定し、
    前記初期化処理部は、前記初期化対象のプロセスを起動する
    コンピュータシステム。
  9. 請求項5から8いずれか1項に記載のコンピュータシステムにおいて、
    前記ノードは、マスタノード又はスレーブノードを指定するための役割情報と、前記複数のノードのいずれかの識別子とが対応付づけられた役割指定情報を格納する記憶装置を更に備え、
    前記役割指定部は、前記役割指定情報に基づき自ノードの識別子に対応する役割情報を参照して、自ノードの役割を決定し、
    前記役割指定部において自ノードがスレーブノードとして指定された場合、前記役割指定情報を参照してマスタノードに指定されたノードに前記状態情報を転送する実行状態通信部を更に具備する
    コンピュータシステム。
  10. 請求項1から9いずれか1項に記載のコンピュータシステムにおいて、
    前記状態情報は、初期化処理によって変更されたメモリ内の状態を示す情報である
    コンピュータシステム。
  11. 請求項1から10いずれか1項に記載のコンピュータシステムにおいて、
    前記複数のノードは、ネットワークを介して相互に接続される複数のコンピュータ装置であり、
    前記複数のコンピュータ装置の各々は、個別のOS(Operating System)を実行するCPUを備える
    クラスタシステム。
  12. 請求項1から10いずれか1項に記載のコンピュータシステムにおいて、
    前記複数のノードは内部バスを介して相互に接続される複数のプロセッサコアであり、
    前記複数のプロセッサコアの各々は、個別のOS(Operating System)を実行する
    マルチコアプロセッサシステム。
  13. 自ノードが処理すべき初期化処理を実行するステップと、
    前記初期化処理によって変更された状態を示す状態情報を他のノードに転送するステップと、
    前記他のノードが、前記状態情報に基づいて自身の状態を変更するステップとを備える
    並列初期化方法。
  14. 請求項13に記載の並列初期化方法において、
    自ノードが処理すべき初期化処理を実行するステップは、
    自ノードに指定されたデバイスドライバを初期化するステップを含み、
    前記状態情報は前記デバイスドライバの初期化によって変更された状態を示す情報を含む
    並列初期化方法。
  15. 請求項13又は14に記載の並列初期化方法において、
    自ノードが処理すべき初期化処理を実行するステップは、
    自ノードに指定されたプロセスを起動するステップを含み、
    前記状態情報は前記プロセスの起動によって変更された状態を示す情報を含む
    並列初期化方法。
  16. 自ノードが処理すべき初期化処理を実行するステップと、
    前記初期化処理によって変更された状態を示す状態情報を他のノードに転送するステップとを具備する
    並列初期化方法。
  17. 自ノードが処理すべき初期化処理を実行するステップと、
    他のノードが実行した初期化処理によって変更された状態情報を取得するステップと、
    前記状態情報に基づき自身の状態を変更する
    並列初期化方法。
  18. 請求項16又は17に記載の並列初期化方法において、
    前記初期化処理を実行するステップは、
    所定のデバイスドライバを初期化するステップを含み、
    前記状態情報は前記デバイスドライバの初期化によって変更された状態を示す情報を含む
    並列初期化方法。
  19. 請求項16から18いずれか1項に記載の並列初期化方法において、
    前記初期化処理を実行するステップは、
    所定のプロセスを起動するステップを含み、
    前記状態情報は前記プロセスの起動によって変更された状態を示す情報を含む
    並列初期化方法。
  20. 請求項16から19いずれか1項に記載の並列初期化方法をコンピュータに実行させる
    ブートプログラム。
JP2006093547A 2006-03-30 2006-03-30 コンピュータシステム、並列初期化方法、及びブートプログラム Expired - Fee Related JP4817115B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006093547A JP4817115B2 (ja) 2006-03-30 2006-03-30 コンピュータシステム、並列初期化方法、及びブートプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006093547A JP4817115B2 (ja) 2006-03-30 2006-03-30 コンピュータシステム、並列初期化方法、及びブートプログラム

Publications (2)

Publication Number Publication Date
JP2007272275A true JP2007272275A (ja) 2007-10-18
JP4817115B2 JP4817115B2 (ja) 2011-11-16

Family

ID=38675061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006093547A Expired - Fee Related JP4817115B2 (ja) 2006-03-30 2006-03-30 コンピュータシステム、並列初期化方法、及びブートプログラム

Country Status (1)

Country Link
JP (1) JP4817115B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118900A (ja) * 2009-11-30 2011-06-16 Internatl Business Mach Corp <Ibm> システムの立ち上げ時間を早めるための方法、装置およびコンピュータ・プログラム
JP2013054434A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd I/o制御装置およびi/o制御方法
JPWO2011138833A1 (ja) * 2010-05-07 2013-07-22 富士通株式会社 情報処理システムのハードウェア制御方法及び情報処理システム
US10162647B2 (en) 2013-12-09 2018-12-25 Mitsubishi Electric Corporation Information apparatus
JP7549428B2 (ja) 2020-02-21 2024-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 迅速な回復のための適応型マルチフェーズ・ソフトウェア・スケーリング

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210076608A (ko) 2019-12-16 2021-06-24 주식회사 실리콘웍스 펌웨어 라이트 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03265027A (ja) * 1990-03-15 1991-11-26 Toshiba Corp 計算機システムの初期化装置
JPH06325007A (ja) * 1993-05-10 1994-11-25 Hokkaido Nippon Denki Software Kk マルチプロセッサシステム立ち上げ方式
JPH09293035A (ja) * 1996-04-27 1997-11-11 Nec Corp 通信ボード初期化システム
JPH1011412A (ja) * 1996-06-24 1998-01-16 Nippon Denki Ido Tsushin Kk マルチcpu構成システムにおける初期処理負荷分散方式
JP2002189706A (ja) * 2000-12-21 2002-07-05 Nec Miyagi Ltd 通信装置の分散型初期設定システム及び方法
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03265027A (ja) * 1990-03-15 1991-11-26 Toshiba Corp 計算機システムの初期化装置
JPH06325007A (ja) * 1993-05-10 1994-11-25 Hokkaido Nippon Denki Software Kk マルチプロセッサシステム立ち上げ方式
JPH09293035A (ja) * 1996-04-27 1997-11-11 Nec Corp 通信ボード初期化システム
JPH1011412A (ja) * 1996-06-24 1998-01-16 Nippon Denki Ido Tsushin Kk マルチcpu構成システムにおける初期処理負荷分散方式
JP2002189706A (ja) * 2000-12-21 2002-07-05 Nec Miyagi Ltd 通信装置の分散型初期設定システム及び方法
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118900A (ja) * 2009-11-30 2011-06-16 Internatl Business Mach Corp <Ibm> システムの立ち上げ時間を早めるための方法、装置およびコンピュータ・プログラム
JPWO2011138833A1 (ja) * 2010-05-07 2013-07-22 富士通株式会社 情報処理システムのハードウェア制御方法及び情報処理システム
JP2013054434A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd I/o制御装置およびi/o制御方法
US10162647B2 (en) 2013-12-09 2018-12-25 Mitsubishi Electric Corporation Information apparatus
JP7549428B2 (ja) 2020-02-21 2024-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 迅速な回復のための適応型マルチフェーズ・ソフトウェア・スケーリング

Also Published As

Publication number Publication date
JP4817115B2 (ja) 2011-11-16

Similar Documents

Publication Publication Date Title
JP4842210B2 (ja) フェイルオーバ方法、計算機システム、管理サーバ及び予備サーバの設定方法
US7930371B2 (en) Deployment method and system
JP5733628B2 (ja) 仮想計算機を制御する計算機装置及び仮想計算機の制御方法
JP4487920B2 (ja) ブート制御方法および計算機システム並びにその処理プログラム
CN110063051A (zh) 可重新配置的服务器
US10133504B2 (en) Dynamic partitioning of processing hardware
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
JP6458146B2 (ja) 計算機及びメモリ領域管理方法
US20170102874A1 (en) Computer system
TW200817920A (en) Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
JP5149732B2 (ja) 仮想計算機システム
JP4817115B2 (ja) コンピュータシステム、並列初期化方法、及びブートプログラム
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
CN102200921A (zh) 智能引导设备选择和恢复
US8793481B2 (en) Managing hardware resources for soft partitioning
EP1958075B1 (en) Method and apparatus for assigning devices to a partition
US10331581B2 (en) Virtual channel and resource assignment
EP2370897A2 (en) Composite device emulation
US8595362B2 (en) Managing hardware resources for soft partitioning
US20110145411A1 (en) Managing hardware resources for soft partitioning
JP6219514B2 (ja) 仮想マルチパス状態アクセスを提供するコンピューティングデバイス、仮想マルチパス用のリモートコンピューティングデバイス、仮想マルチパス状態アクセスを提供する方法、仮想マルチパス用の方法、コンピューティングデバイス、コンピューティングデバイスに複数の方法を実行させるプログラム、及び、機械可読記録媒体
JP5703854B2 (ja) コンピュータシステム及びコンピュータシステム起動方法
US20230024607A1 (en) System-on-chip for sharing graphics processing unit that supports multimaster, and method for operating graphics processing unit
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
EP2645245B1 (en) Information processing apparatus, apparatus mangement method, and apparatus management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110111

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

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

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4817115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110821

LAPS Cancellation because of no payment of annual fees