[go: up one dir, main page]

JP2007272275A - Computer system, parallel initialization method, and boot program - Google Patents

Computer system, parallel initialization method, and boot program 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
Japanese (ja)
Other versions
JP4817115B2 (en
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/en
Publication of JP2007272275A publication Critical patent/JP2007272275A/en
Application granted granted Critical
Publication of JP4817115B2 publication Critical patent/JP4817115B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To shorten the time for start-up of the whole system in a computer system comprising a plurality of nodes where individual OSs are operated. <P>SOLUTION: The computer system 1 comprises a plurality of nodes 100 connected to each other. The plurality of nodes 100<SB>1</SB>-100<SB>n</SB>have a first node 100<SB>2</SB>and a second node 100<SB>1</SB>. The first node 100<SB>2</SB>comprises a first initialization processing part 22 for executing the predetermined initialization processing, and an execution status communication part 23 for sending the internal status (status information 40) of a memory changed by the predetermined initialization processing by the first initialization processing part 22 to the second node 100<SB>1</SB>. The second node 100<SB>1</SB>has an execution status reflection part 14 for changing its own internal status based on the status information 40. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、複数のノードを備えるコンピュータ装置及びその初期化方法に関し、特に複数のコンピュータ装置を接続したクラスタシステム、又は複数のプロセッサコアを接続したマルチコアプロセッサシステム、それらに用いられる並列初期化方法、及びブートプログラムに関する。   The present invention relates to a computer apparatus including a plurality of nodes and an initialization method thereof, and more particularly to a cluster system in which a plurality of computer apparatuses are connected, or a multi-core processor system in which a plurality of processor cores are connected, and a parallel initialization method used for them. And a boot program.

近年、クラスタシステムが広く利用されている。クラスタシステムとは、少なくともプロセッサとメモリとネットワークデバイスを搭載したコンピュータ同士をネットワークで結合したものである。クラスタシステムは、共有メモリを持たず、各コンピュータ上で別々のOS(Operating System)が動作する。このようなクラスタシステムでは、各コンピュータはそれぞれ独立して動作するが、OSやライブラリ、アプリケーションが協調し、コンピュータ同士を連携させることにより、ユーザや他のコンピュータに対して全体で1台のコンピュータであるかのように動作させることも可能である。すなわち、複数のコンピュータを1台のコンピュータを扱うように管理することができる。このため、クラスタシステム内のいずれかのコンピュータが停止してもシステム全体が止まることはなく、処理を続行したまま修理や交換が行える。   In recent years, cluster systems have been widely used. The cluster system is a system in which computers equipped with at least a processor, a memory, and a network device are connected by a network. The cluster system does not have a shared memory, and a separate OS (Operating System) operates on each computer. In such a cluster system, each computer operates independently. However, the OS, the library, and the application cooperate with each other, and the computers are linked to each other so that a single computer can be used as a whole for users and other computers. It is also possible to operate as if there is. That is, a plurality of computers can be managed so as to handle one computer. For this reason, even if one of the computers in the cluster system stops, the entire system does not stop, and repair and replacement can be performed while continuing the processing.

一方、複数のプロセッサから構成されるコンピュータとして、SMP(Symmetric Memory Processor)型コンピュータシステムがある。SMP型コンピュータシステムでは、メモリもデバイスも共有されており、又、1つのOSで全てのプロセッサを制御する点がクラスタシステムと異なる。更に、最近、1つのチップの中に複数のプロセッサコアを搭載したマルチコアプロセッサシステムが現れてきた。マルチコアプロセッサシステムにはクラスタ型とSMP型がある。クラスタ型マルチコアプロセッサのプロセッサコア内ではそれぞれ独立したOSを動作させる。このため、クラスタ型マルチコアプロセッサシステムはOSからは複数のマイクロプロセッサとして扱われる。一方、SMP型マルチコアプロセッサではプロセッサ全体で1つのOSを動作させる。クラスタ型マルチコアプロセッサの代表的なものとして、NECエレクトロニクス社のMP211、SMP型マルチコアプロセッサの代表的なものとしてARM社のMPcore、Intel社のCoreDuoがある。   On the other hand, there is an SMP (Symmetric Memory Processor) type computer system as a computer composed of a plurality of processors. The SMP type computer system shares memory and devices, and is different from the cluster system in that all processors are controlled by one OS. Furthermore, recently, a multi-core processor system in which a plurality of processor cores are mounted in one chip has appeared. Multi-core processor systems include a cluster type and an SMP type. An independent OS is operated in each processor core of the cluster type multi-core processor. For this reason, the cluster type multi-core processor system is treated as a plurality of microprocessors from the OS. On the other hand, in the SMP type multi-core processor, one OS is operated in the whole processor. As representative examples of cluster type multi-core processors, there are MP211 from NEC Electronics, MPcore from ARM, and CoreDuo from Intel as representatives of SMP type multi-core processors.

このように複数のコンピュータあるいはプロセッサ、プロセッサコア(以下、これらを総称してノードと呼ぶ)を有するコンピュータシステムでは、並列処理を行うことで計算を高速に行うことができる。この並列処理は、アプリケーションプログラムの高速化のために広く使われてきた。又、近年はコンピュータシステムの起動時間を短縮する目的で、OSの起動処理を並列処理する取り組みが現れている。   Thus, in a computer system having a plurality of computers, processors, and processor cores (hereinafter collectively referred to as nodes), it is possible to perform calculations at high speed by performing parallel processing. This parallel processing has been widely used for speeding up application programs. In recent years, in order to shorten the startup time of a computer system, an approach for parallel processing of OS startup processing has appeared.

従来の並列ブート可能なコンピュータの一例が、特開2004−213530号公報に記載されている(特許文献1参照)。特許文献1では、スレッドが利用不可能な状態でOSの初期化処理を行う第1の初期化処理手段と、スレッドが利用可能な状態でOSの初期化処理を行う第2の初期化処理手段と、ユーザスレッドが利用可能な状態でOSの初期化処理を行う第3の初期化処理手段を有するコンピュータ(情報処理装置)が示されている。第1の初期化処理手段は、デバイスドライバ(I/O装置)の初期化を逐次的に行う。第2の初期化処理手段はスレッドを利用することで複数のデバイスドライバの初期化を並列に実行する。第3の初期化処理手段は、ユーザレベルのプロセスが利用可能になってから、通常の並列処理を用いてデバイスドライバの初期化を並列に実行する。SMP型のコンピュータでは、第2及び第3の初期化処理手段により複数のプロセッサ上でデバイスドライバの初期化を並列実行できるため起動時間を短縮することが可能である。   An example of a conventional parallel bootable computer is described in Japanese Patent Application Laid-Open No. 2004-213530 (see Patent Document 1). In Patent Document 1, a first initialization processing unit that performs an OS initialization process in a state in which a thread cannot be used, and a second initialization processing unit that performs an OS initialization process in a state in which a thread is usable And a computer (information processing apparatus) having third initialization processing means for performing OS initialization processing while a user thread is available. The first initialization processing means sequentially initializes the device driver (I / O device). The second initialization processing means executes initialization of a plurality of device drivers in parallel by using threads. The third initialization processing means executes initialization of the device driver in parallel using normal parallel processing after the user level process becomes available. In the SMP type computer, the device driver initialization can be executed in parallel on a plurality of processors by the second and third initialization processing means, so that the startup time can be shortened.

特許文献1に記載の並列初期化方法によれば、1つのOSを複数のスレッドでブートさせるため、複数のノードで同時に複数のスレッドを動作させられるSMP型コンピュータシステムやSMP型マルチコアプロセッサシステムに対して高速化の効果が得られる。しかし、各コンピュータ上で別々にOSを動作させるクラスタシステムでは、1つのOSで制御するプロセッサ数がスレッド数よりも少ないため、複数のスレッドに分割した効果を十分に得られない。すなわち、特許文献1に記載のブート高速化方式では、それぞれ個別のOSを動作させる複数のノードを備えたクラスタシステムやマルチコアプロセッサシステムでは期待する効果を得ることができない。すなわち、従来の並列ブート方式は、SMP型コンピュータシステムやSMP型マルチコアプロセッサシステムでは高速化の効果が高かったが、クラスタシステムやクラスタ型マルチコアプロセッサシステムに適用しても高速化の効果は高くなかった。   According to the parallel initialization method described in Patent Document 1, in order to boot one OS with a plurality of threads, an SMP type computer system or an SMP type multi-core processor system capable of operating a plurality of threads simultaneously on a plurality of nodes is used. Speed-up effect. However, in the cluster system in which the OS is operated separately on each computer, the number of processors controlled by one OS is smaller than the number of threads, and thus the effect of dividing into a plurality of threads cannot be sufficiently obtained. That is, with the boot speed-up method described in Patent Document 1, the expected effect cannot be obtained in a cluster system or a multi-core processor system having a plurality of nodes each operating an individual OS. That is, the conventional parallel boot method has a high speed effect in the SMP type computer system and the SMP type multicore processor system, but the speedup effect is not high even when applied to the cluster system and the cluster type multicore processor system. .

一方、並列初期化処理に関連する従来技術が、特開2002−189706号公報(特許文献2参照)、及び特開平6−259393号公報(特許文献3参照)に記載されている。特許文献2には、複数プロセッサ構成のシステムにおいて個別処理部のプロセッサ間における通信量の増大を抑止してシステム全体の起動時間を短縮する技術が記載されている。特許文献2の技術によれば、システム起動時、個別処理部毎に保持する初期設定情報を利用して各処理部の初期設定処理を並列に行い、各処理部間の通信を不要にしている。又、特許文献3には、ネットワークを介して接続されたホスト計算機とプロセッサエレメントとを具備する分散メモリ型並列計算機におけるブート制御方法が記載されている。特許文献3の技術によれば、1つ目のノード(プロセッサエレメント)を起動した後のメモリ上のデータを使用して、2つ目以降のノードを起動することで、2つ目以降のノードの起動を高速化できる。   On the other hand, conventional techniques related to parallel initialization processing are described in Japanese Patent Application Laid-Open No. 2002-189706 (see Patent Document 2) and Japanese Patent Application Laid-Open No. 6-259393 (see Patent Document 3). Japanese Patent Application Laid-Open No. 2004-228561 describes a technique for reducing the startup time of the entire system by suppressing an increase in the amount of communication between processors of individual processing units in a system having a plurality of processors. According to the technique of Patent Literature 2, when the system is started, the initial setting information held for each individual processing unit is used to perform the initial setting processing of each processing unit in parallel, and communication between the processing units is unnecessary. . Patent Document 3 describes a boot control method in a distributed memory parallel computer having a host computer and a processor element connected via a network. According to the technique of Patent Document 3, the second and subsequent nodes are started by starting the second and subsequent nodes using the data on the memory after starting the first node (processor element). Can start up faster.

複数のノードを備えるコンピュータシステムでは、システム起動時に初期化されるデバイスドライバの数や起動されるプロセス量はノード毎に異なる。特にメインとなるノード(以下、マスタノードと称す)は、初期化するデバイスや起動するプロセスは多く、起動する時間も他のノードに比べて多くなる。このため、システム全体の起動時間は増大してしまう。特許文献2及び3に記載の技術では、ノード毎に起動処理を並列して実施しているため、ノード毎の起動時間に差が生じる。すなわち、システム全体の起動時間は、起動時間が最長のノードに依存して増大してしまう。
特開2004−213530号公報 特開2002−189706号公報 特開平06−259393号公報
In a computer system having a plurality of nodes, the number of device drivers that are initialized when the system is started and the amount of processes that are started vary from node to node. In particular, a main node (hereinafter referred to as a master node) has many devices to be initialized and processes to be activated, and the activation time is longer than that of other nodes. This increases the startup time of the entire system. In the techniques described in Patent Documents 2 and 3, since the startup process is performed in parallel for each node, a difference occurs in the startup time for each node. That is, the startup time of the entire system increases depending on the node with the longest startup time.
JP 2004-213530 A JP 2002-189706 A Japanese Patent Laid-Open No. 06-259393

本発明の目的は、それぞれ個別のOSが動作する複数のノードを備えるコンピュータシステムにおいて、システム全体の起動時間を短縮できる並列初期化方法を提供することにある。   An object of the present invention is to provide a parallel initialization method capable of shortening the startup time of the entire system in a computer system including a plurality of nodes each operating an individual OS.

以下に、[発明を実施するための最良の形態]で使用される番号・符号を括弧付きで用いて、[課題を解決するための手段]を説明する。この番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。   [Means for Solving the Problems] will be described below using the numbers and symbols used in [Best Mode for Carrying Out the Invention] in parentheses. This number / symbol is added to clarify the correspondence between the description of [Claims] and the description of the best mode for carrying out the invention. It should not be used for interpreting the technical scope of the invention described in [Scope].

本発明によるコンピュータシステム(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’)に分散処理させることができる。 The computer system (1, 1 ′) according to the present invention includes a plurality of nodes (100 1 to 100 n , 100 1 ′ to 100 n ′) connected to each other. The plurality of nodes (100 1 to 100 n , 100 1 ′ to 100 n ′) include a first node (100 2 , 100 2 ′) and a second node (100 1 , 100 1 ′). The first node (100 2 , 100 2 ′) includes a first initialization processing unit (22) that executes predetermined initialization processing (initialization of a predetermined device driver and / or activation of a predetermined process). And an execution state communication unit (23) for transmitting the state information (40) changed by the initialization process in the first initialization processing unit (22) to the second nodes (100 1 , 100 1 ′). . The second node (100 1 , 100 1 ′) includes an execution state reflecting unit (14) that changes its own internal state based on the state information (40). As described above, the second node (100 1 , 100 1 ′) according to the present invention can reflect the result of the initialization process performed by the other nodes (100 2 , 100 2 ′) in the system. . That is, the initialization process in the second node can be distributed to other nodes and reflected in itself. In addition, the initialization process that has been conventionally executed in the second nodes (100 1 , 100 1 ′) can be distributed to other nodes (100 2 to 100 n , 100 2 ′ to 100 n ′).

又、第2のノード(100、100’)は、所定の初期化処理(所定のデバイスドライバの初期化及び/又は所定のプロセスの起動)を実行する第2の初期化処理部(12)を更に備えることが好ましい。実行状態反映部(14)は、第1のノード(100、100’)から転送された状態情報(40)と、第2の初期化処理部(12)における初期化処理によって内部状態を変更する。このため、第2のノード(100、100’)自身でもデバイスドライバの初期化処理及びプロセスの起動処理の一部を実行し、一部を他のノード(100〜100、100’〜100’)に実行させ、その結果を自身に反映することができる。 In addition, the second node (100 1 , 100 1 ′) is configured to execute a predetermined initialization process (initialization of a predetermined device driver and / or activation of a predetermined process). ). The execution state reflecting unit (14) changes the internal state by the state information (40) transferred from the first node (100 2 , 100 2 ′) and the initialization process in the second initialization processing unit (12). change. For this reason, the second node (100 1 , 100 1 ′) itself also executes part of the device driver initialization process and the process startup process, and a part of the other nodes (100 2 to 100 n , 100 2 '~ 100 n '), and the result can be reflected in itself.

本発明に係る複数のノード(100〜100、100’〜100’)のそれぞれは、自ノードの役割がマスタノードであるかスレーブノードであるかを決定する役割指定部(11、21)と、自ノードにおいて初期化処理の対象(初期化するデバイスドライバ及び/又は起動するプロセス)を指定する分担指定部(11、21)と、分担指定部(11、21)の指定に基づき初期化処理(デバイスドライバの初期化及び又は(プロセスの起動)を実行する初期化処理部(12、22)と、役割指定部(11、21)において、自ノードがスレーブノードであると決定された場合、初期化処理部(22)における初期化処理(デバイスドライバの初期化及び/又はプロセスの起動)によって変更された状態情報(40)を他ノード(100、100’)に転送する実行状態通信部(23)とを具備する。 Each of the plurality of nodes according to the present invention (100 1 ~100 n, 100 1 '~100 n'), the role specifying unit (11 role of the node to determine whether the slave node is the master node, 21), the assignment designation unit (11, 21) for designating the initialization processing target (device driver to be initialized and / or the process to be activated) in the own node, and the assignment designation unit (11, 21) The initialization processing unit (12, 22) that executes initialization processing (device driver initialization and / or (process activation)) and the role specification unit (11, 21) determine that the own node is a slave node. If the status information (40) changed by the initialization processing (device driver initialization and / or process activation) in the initialization processing unit (22) is transferred to another node ( 100 1 , 100 1 ′) and an execution state communication unit (23).

又、役割指定部(11、21)において自ノードがマスタノードであると決定された場合、他ノード(100、100’)から転送される状態情報(40)を自ノードの内部状態に反映させる実行状態反映部(14)とを具備する。 When the role specifying unit (11, 21) determines that the own node is the master node, the state information (40) transferred from the other nodes (100 2 , 100 2 ′) is set to the internal state of the own node. And an execution state reflecting unit (14) for reflecting.

ノード(100、100’)は、初期化すべきデバイスドライバ(320)か、起動すべきプロセス(330)の少なくとも一方を指定する分担情報(30)を格納する記憶装置(103)を更に備えることが好ましい。分担指定部(11、21)は、分担情報(30)を参照して初期化対象のデバイスドライバ及び起動対象のプロセスを決定する。   The node (100, 100 ′) further includes a storage device (103) for storing assignment information (30) designating at least one of a device driver (320) to be initialized and a process (330) to be started. preferable. The sharing designation unit (11, 21) refers to the sharing information (30) to determine a device driver to be initialized and a process to be activated.

ノード(100、100’)は、マスタノード又はスレーブノードを指定するための役割情報(220)と、複数のノードのいずれかの識別子とが対応付づけられた役割指定情報(20)を格納する記憶装置(104)を更に備えることが好ましい。役割指定部(11、21)は、役割指定情報(20)に基づき自ノードの識別子に対応する役割情報(220)を参照して、自ノードの役割を決定する。又、実行状態通信部(23)は、役割指定部(21)において自ノードがスレーブノードとして指定された場合、役割指定情報(20)を参照してマスタノードに指定されたノード(100、100’)に状態情報(40)を転送する実行状態通信部を更に具備することが好ましい。各ノード(100、100’)が役割指定情報(20)を保持することで、どのノードがマスタノードであるのかを確認することができる。 The node (100, 100 ′) stores role specification information (20) in which role information (220) for specifying a master node or a slave node is associated with an identifier of one of a plurality of nodes. It is preferable to further comprise a storage device (104). The role designation unit (11, 21) refers to the role information (220) corresponding to the identifier of the own node based on the role designation information (20) and determines the role of the own node. The execution state communication unit (23), when the own node is designated as a slave node in the role designation unit (21), refers to the role designation information (20), and the node (100 1 , It is preferable to further include an execution state communication unit that transfers the state information (40) to 100 1 ′). Each node (100, 100 ′) holds the role designation information (20), so that it can be confirmed which node is the master node.

状態情報(40)は、デバイスドライバの初期化、及びプロセスの起動によって変更されたメモリ内の状態を示す情報であることが好ましい。マスタノードに指定されたノードは、この状態情報(40)に基づいて自身のメモリ内の内容を変更できる。   The state information (40) is preferably information indicating the state in the memory changed by the initialization of the device driver and the start of the process. The node designated as the master node can change the contents in its own memory based on this status information (40).

複数のノード(100〜100)は、ネットワーク(200)を介して相互に接続される複数のコンピュータ装置(100)であることが好ましい。複数のコンピュータ装置(100〜100)の各々は、個別のOS(Operating System)を実行するCPU(101)を備えることが好ましい。 The plurality of nodes (100 1 to 100 n ) are preferably a plurality of computer devices (100) connected to each other via a network (200). Each of the plurality of computer devices (100 1 to 100 n ) preferably includes a CPU (101) that executes an individual OS (Operating System).

又、他の態様に係るコンピュータシステムとして、複数のノード(100’)は内部バス(200’)を介して相互に接続される複数のプロセッサコア(100’〜100’)であることが好ましい。複数のプロセッサコア(100’〜100’)の各々は、個別のOS(Operating System)を実行することが好ましい。 In a computer system according to another aspect, the plurality of nodes (100 ′) may be a plurality of processor cores (100 1 ′ to 100 n ′) connected to each other via an internal bus (200 ′). preferable. Each of the plurality of processor cores (100 1 ′ to 100 n ′) preferably executes a separate OS (Operating System).

本発明によるコンピュータシステム、並列初期化方法、及びブートプログラムによれば、それぞれ個別のOSが動作する複数のノードを備えるコンピュータシステムにおいて、システム全体の起動時間を短縮することができる。   According to the computer system, the parallel initialization method, and the boot program according to the present invention, the startup time of the entire system can be shortened in a computer system including a plurality of nodes each running an individual OS.

以下、添付図面を参照して、本発明によるコンピュータシステムの実施の形態が説明される。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。本発明によるコンピュータシステムの実施の形態はクラスタシステムを一例に実施の形態が説明される。   Embodiments of a computer system according to the present invention will be described below with reference to the accompanying drawings. In the drawings, the same or similar reference numerals indicate the same, similar, or equivalent components. The embodiment of the computer system according to the present invention will be described by taking a cluster system as an example.

(構成)
図1は、本発明によるクラスタシステム1の実施の形態における構成図である。図1を参照して、本発明によるクラスタシステム1は、ネットワーク200にを介して相互に接続された複数のコンピュータ100〜100を具備している。ネットワーク200には、図示しないネットワークスイッチが設けられ、このネットワークスイッチを介してコンピュータ100〜100は相互に通信接続されている。以下では、コンピュータ100〜100を総称して説明される場合、コンピュータ100とされる。
(Constitution)
FIG. 1 is a configuration diagram of an embodiment of a cluster system 1 according to the present invention. Referring to FIG. 1, a cluster system 1 according to the present invention includes a plurality of computers 100 1 to 100 n connected to each other via a network 200. The network 200 is provided with a network switch (not shown), and the computers 100 1 to 100 n are connected to each other via the network switch. Hereinafter, the computers 100 1 to 100 n will be referred to as the computer 100 when collectively described.

図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アドレスを有している。 FIG. 2 is a block diagram of a computer 100 according to the present invention. Referring to FIG. 2, a computer 100 includes a processor 101, a main storage device 102, an external storage device 103, and a NIC (Network Interface Card) 104 that are connected to each other via a bus. The external storage device 103 is exemplified by a hard disk, and stores a boot program 10, role designation information 20, and sharing information 30. The processor 101 initializes a device driver by executing the boot program 10 when the system is started, and starts a process. The main storage device 102 is exemplified by a RAM, and temporarily stores the boot program 10 executed by the processor 101. The NIC 104 is a network interface connected to a network switch (not shown) on the network 200. The NIC 104 controls transmission of data to and from other computers on the network 200. Communication between the computers 100 1 to 100 n can use TCP / IP communication. That is, each of the computers 100 1 to 100 n has a unique IP address.

ブートプログラム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と同様な構成・動作であるのは言うまでもない。 The boot program 10 is a part of an OS (Operating System) executed by the processor 101, and is a program for executing a startup process. The computers 100 1 to 100 n operate on independent individual OSs. In the present embodiment, a case where Linux is used as the OS will be described. Further, the role designation information 20 and the division information 30 are stored as files in the external storage unit 103. The role designation information 20 is information for designating whether the own computer is a master node (master computer) or a slave node (slave computer). Here, the master node is a computer that becomes a main part of the starting process when the system of the cluster system 1 is started. The role designation information 20 which is a computer that takes part of the activation process at the time of system activation includes information that designates a master node or a slave node. Referring to FIG. 3A, the role designation information 20 is associated with a computer ID 210 (example: IP address) that is an identifier of the computer 100 and role information 220 that designates a master node or a slave node. Yes. Specifically, for example, in the case of Linux, if there is an entry written as “master” in the / etc / hosts file, and the IP address of the entry matches the IP address of the own computer, the master node, Otherwise, it is determined as a slave node. The shared information 30 is information for designating a device driver to be initialized by the own computer and a process to be activated by the own computer. With reference to FIG. 3B, the sharing information 30 includes information on the device driver 320 to be initialized and the process to be activated. Specifically, for example, for Linux, / etc / modules. A device driver to be initialized is described in a setting file called conf, and / etc / rc. An rc file related to the process to be started is described below d. In this embodiment, the computer 100 1 is designated as the master node, the computer 100 2 to 100 n is assumed to be designated as slave nodes. In the present embodiment is described for convenience the computer 100 1 and the computer 100 2 operations, the is also 100 2 a similar structure and operation for other computers 100 3 to 100 n, which is designated as a slave node needless to say Yes.

図4を参照して、本発明によるクラスタシステム1の機能ブロックが説明される。コンピュータ100のプロセッサ101はブートプログラム10を実行することで、役割分担指定部11、初期化処理部12、実行状態通信部13、実行状態反映部14の機能を実現する。同様に、コンピュータ100のプロセッサ101は、ブートプログラム10を実行することで、役割分担指定部21、初期化処理部22、実行状態通信部23の機能を実現する。 With reference to FIG. 4, the functional blocks of the cluster system 1 according to the present invention will be described. Processor 101 of the computer 100 1 By executing the boot program 10, roles designation unit 11, the initialization processing unit 12, the execution state communication unit 13 realizes the function of the execution status reflection portion 14. Similarly, the processor 101 of the computer 100 2, by executing the boot program 10, roles specifying unit 21, the initialization processing unit 22 realizes the function of the execution state communication section 23.

役割分担指定部11、21は、コンピュータ100が起動される際、役割指定情報20に基づいて自コンピュータがマスタノードになるかスレーブノードになるかを決定する。又、分担情報30に基づいて自コンピュータが初期化すべきデバイスドライバと、起動すべきプロセスを決定する。本実施の形態では、役割分担指定部11はコンピュータ100がマスタノードであると指定し、役割分担指定部21はコンピュータ100がスレーブノードであると指定する。 The role assignment designation units 11 and 21 determine whether the own computer becomes a master node or a slave node based on the role designation information 20 when the computer 100 is activated. Further, the device driver to be initialized and the process to be activated are determined based on the sharing information 30. In this embodiment, roles designation unit 11 designates the computer 100 1 is the master node, roles specifying unit 21 the computer 100 2 specifies that the slave node.

初期化処理部12、22は、役割分担指定部11、21により決定されたデバイスドライバやプロセスの初期化や起動を行う。初期化処理部12、22の処理内容は、従来のブート方法と同様である。例えば、Linuxの場合、デバイスドライバに関しては、insmodなどのコマンドをプロセッサ101で実行し、/etc/modules.confに含まれるカーネルモジュールをカーネルへ組み込むことで初期化処理される。又、プロセスに関しては/etc/rc.d以下に設定されたプログラムがプロセッサ101で実行されることで起動処理される。   The initialization processing units 12 and 22 initialize and activate device drivers and processes determined by the role assignment designation units 11 and 21. The processing contents of the initialization processing units 12 and 22 are the same as those of the conventional boot method. For example, in the case of Linux, for a device driver, a command such as insmod is executed by the processor 101, and / etc / modules. Initialization processing is performed by incorporating a kernel module included in conf into the kernel. As for the process, / etc / rc. A program set to be d or less is executed by the processor 101 to be activated.

マスタノードとして指定されたコンピュータ100の実行状態通信部13は、コンピュータ100によって初期化済みのデバイスドライバの状態や起動後のプロセス状態を状態情報40として受信する。又、スレーブノードとして指定されたコンピュータ100の実行状態通信部23は、初期化処理部22で初期化済みのデバイスドライバの状態や起動後のプロセス状態を状態情報40としてコンピュータ100に送信する。この際、実行状態通信部23は、役割指定情報20を参照してマスタノードに対応するコンピュータ100を宛て先に指定して状態情報40を転送する。この際、実行状態通信部23は、役割指定情報20を参照してマスタノードに対応するコンピュータID210を宛て先に指定して状態情報40を転送する。尚、初期化済みのデバイスドライバの状態とは、デバイスドライバの実行コードと、主記憶装置102で使用中のメモリデータとOS内部で管理されているデバイスドライバの情報などを含む。又、起動後のプロセス状態とは、プロセスが使用する主記憶装置102上のデータやカーネル内のプロセス構造体の情報を含む。 Execution state communication unit 13 of the computer 100 1, which is designated as the master node receives the process state after state and starting the initialized device driver as the state information 40 by the computer 100 2. Also, the execution state communication unit 23 of the computer 100 2 designated as a slave node sends the process state of the state and after activation of the initialized device driver initialization processing unit 22 as the status information 40 to the computer 100 1 . In this case, execution status communication unit 23 transfers the state information 40 specifies the destined for the computer 100 1 corresponding to the master node by referring to the role specification information 20. At this time, the execution state communication unit 23 refers to the role designation information 20 and designates the computer ID 210 corresponding to the master node as the destination, and transfers the state information 40. The state of the initialized device driver includes an execution code of the device driver, memory data being used in the main storage device 102, device driver information managed in the OS, and the like. In addition, the process state after activation includes data on the main storage device 102 used by the process and information on the process structure in the kernel.

実行状態反映部14はコンピュータ100から転送された状態情報40に基づいてデバイスドライバやプロセスの状態を送信元のコンピュータ100と同様な状態にする。例えば、OS内部のデータ構造を直接操作する方法が用いられる。この方法としてはプロセスマイグレーションやチェックポインティングなどが利用され得る。 Execution status reflection section 14 the state of the device drivers and processes same state as the source computer 100 2 based on the state information 40 transferred from the computer 100 2. For example, a method of directly manipulating the data structure inside the OS is used. As this method, process migration or checkpointing can be used.

(動作)
図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がスレーブノードとして指定されるものとする。
(Operation)
With reference to FIG. 5, the operation of the system activation process of the cluster system 1 according to the present invention will be described. The computers 100 1 and 100 2 belonging to the cluster system 1 start to start almost simultaneously. When the activation is started, the role assignment designation units 11 and 21 first determine whether the own computer is a master node or a slave node. Further, the device driver to be initialized and the process to be activated are determined (step S11). Specifically, the role assignment designation units 11 and 21 determine whether the local computer is a master node or a slave node from the / etc / hosts file and the IP address of the local computer. That is, if there is an entry written as “master” in the / etc / hosts file and the IP address of the entry matches the IP address of the own computer, it is determined to be a master node. Otherwise, it is determined as a slave node. To do. In addition, / etc / modules. The device driver to be initialized is determined from conf, and / etc / rc. The process to be started is determined by the file (start script) below d. Here, it is assumed that computer 100 1 master Bruno computer, the computer 100 2 is designated as a slave node.

次に、初期化処理部12、22は、ステップS11で決定されたデバイスドライバとプロセスに関して、初期化と起動を実行する(ステップS12)。詳細にはステップS11で決定されたデバイスドライバとプロセスに関して、modprobeによりデバイスドライバを初期化し、/etc/rc.d以下のデーモン起動スクリプトの実行によりプロセスを起動する。   Next, the initialization processing units 12 and 22 execute initialization and activation for the device driver and process determined in step S11 (step S12). Specifically, regarding the device driver and process determined in step S11, the device driver is initialized by modprobe, and / etc / rc. d Start the process by executing the daemon startup script below.

ここで、ステップ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の内容を書き換える。 If it is determined in step S11 that the node is a slave node (No in step S13), the state in the memory (state information 40) changed by the initialized device driver and the process after startup is set as the master node. Transmit (step S16). On the other hand, if it is determined in step 11 that the node is the master node (Yes in step S13), the state information 40 transmitted from the slave node is received (step S14), and the received state information 40 is stored in the internal computer. It is reflected in the state (step S15). In particular, the computer 100 2 so designated as slave nodes, the execution state communication section 23 transmits the state information 40 after initialization and boot the computer 100 1. In this case, execution status communication unit 23 by using the function of process migration, and transfers the acquired state information 40 to the computer 100 1. Although process migration is not a standard Linux function, there are several implementations at the research level that can be used. The execution state communication unit 13 of the computer 100 1 receives the state information 40 and sends it to the execution state reflection unit 14. The execution state reflecting unit 14 rewrites the contents of its own main storage device 102 based on the state information 40.

以上のように、本発明によるクラスタシステム1では、システム起動において起動の主体となるマスタノードの起動処理を他のスレーブノードに分散し、その結果をマスタノードに反映できる。このため、システム起動時に初期化するデバイスドライバ数や起動するプロセス数の多いマスタノードの処理数が減少し、システム全体の起動時間が短縮される。尚、マスタノードであるコンピュータ100で行うべき初期化処理及び起動処理の全てをスレーブノードであるコンピュータ100〜100に分散させても構わない。又、スレーブノードは100〜100のうち全部又は一部で良いのは言うまでもない。 As described above, in the cluster system 1 according to the present invention, the activation process of the master node that is the activation subject in system activation can be distributed to other slave nodes, and the result can be reflected on the master node. As a result, the number of device drivers that are initialized at the time of system startup and the number of processes of the master node having a large number of processes to be started up are reduced, and the startup time of the entire system is reduced. Incidentally, it may be all of the initialization process and the activation process to be performed by the computer 100 1 is the master node is dispersed in the computer 100 2 to 100 n are slave nodes. Needless to say, the slave nodes may be all or part of 100 2 to 100 n .

更に、本実施の形態ではマスタノードとして1つのコンピュータ100が指定されたが、複数のコンピュータが指定されても構わない。この際、分担情報30のデバイスドライバ320及びプロセス330に状態情報40の転送先のマスタノードが対応付けられて指定されていることが望ましい。スレーブノードに指定されたコンピュータ100は、分担情報30に基づき、初期化したデバイスドライバ320、及び起動したプロセス330に対応するマスタノードコンピュータを状態情報40の転送先として決定することができる。 Furthermore, one of the computer 100 1 as the master node is designated in this embodiment, may be a plurality of computers are specified. At this time, it is desirable that the device node 320 of the sharing information 30 and the process 330 are specified in association with the master node that is the transfer destination of the status information 40. Based on the sharing information 30, the computer 100 designated as the slave node can determine the initialized device driver 320 and the master node computer corresponding to the activated process 330 as the transfer destination of the state information 40.

以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。本発明によれば、従来、1台のコンピュータだけで行っていたブート処理を複数のコンピュータで分担し、起動処理の最後の部分で別々に初期化したデバイスドライバやプロセスの状態を1つのコンピュータに集めることができる。このため、個別のOSが動作している複数のコンピュータを備えるコンピュータシステムにおいて、システム全体の起動時間を短縮することができる。例えば、本発明によるコンピュータシステムは、それぞれ固有のOSによって動作するプロセッサコアを備えるマルチコアプロセッサシステム1’にも応用できる。   The embodiment of the present invention has been described in detail above, but the specific configuration is not limited to the above-described embodiment, and changes within a scope not departing from the gist of the present invention are included in the present invention. . According to the present invention, the boot process, which has conventionally been performed by only one computer, is shared by a plurality of computers, and the device driver and process states initialized separately at the last part of the boot process are stored in one computer. Can be collected. For this reason, in a computer system including a plurality of computers on which individual OSs are operating, the startup time of the entire system can be shortened. For example, the computer system according to the present invention can also be applied to a multi-core processor system 1 ′ having a processor core that is operated by a unique OS.

図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’を利用して起動処理を実行できる。 FIG. 6 is a block diagram of a multi-core processor system 1 ′ according to the present invention. Multi-core processor system 1 ', each of the plurality of processor cores 100 1 operated separate OS' comprises a to 100 n '. Hereinafter, the processor cores 100 1 ′ to 100 n ′ are collectively referred to as the computer device 100 ′. The processor core 100 ′ is connected to the main storage device 102 ′ via the internal bus 200 ′ and the memory controller 400, and is connected to the external storage device 103 ′ and the NIC 104 ′ via the internal bus 200 ′ and the I / O controller 500. ing. Note that a fixed area may be assigned to the main storage device 102 ′ for each processor core 100 ′. The external storage device 103 ′ and the NIC 104 ′ are shared between the processor cores 100 ′. The external storage device 103 ′ stores a boot program 10 ′, role designation information 20 ′, and sharing information 30 ′. That is, the processor core 100 ′ can execute the boot process using the common boot program 10 ′, role designation information 20 ′, and sharing information 30 ′.

マルチコアプロセッサシステム1’の構成に付された符号で、クラスタシステム1の構成と同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示しているのでその説明は省略される。又、マルチコアプロセッサシステム1’のシステム起動時の動作は、上述のクラスタシステム1の動作と同様なので説明は省略される。   Reference numerals that are the same as or similar to the configuration of the cluster system 1 in the reference numerals of the configuration of the multi-core processor system 1 ′ indicate the same, similar, or equivalent components, and thus the description thereof is omitted. Further, since the operation of the multi-core processor system 1 'when starting the system is similar to the operation of the cluster system 1 described above, the description thereof is omitted.

図1は、本発明によるクラスタシステムの実施の形態における構成図である。FIG. 1 is a configuration diagram of an embodiment of a cluster system according to the present invention. 図2は、本発明に係るコンピュータの実施の形態における構成図である。FIG. 2 is a block diagram of the computer according to the embodiment of the present invention. 図3(a)は、本発明に係る役割指定情報の構成図である。図3(b)は、本発明に係る分担情報の構成図である。FIG. 3A is a configuration diagram of role designation information according to the present invention. FIG. 3B is a configuration diagram of shared information according to the present invention. 図4は、本発明によるクラスタシステムの実施の形態における機能ブロック図である。FIG. 4 is a functional block diagram in the embodiment of the cluster system according to the present invention. 図5は、本発明によるクラスタシステムのシステム起動時における起動処理動作を示すフロー図である。FIG. 5 is a flowchart showing the startup processing operation at the time of system startup of the cluster system according to the present invention. 図6は、本発明によるマルチコアプロセッサシステムの実施の形態における構成図である。FIG. 6 is a configuration diagram in the embodiment of the multi-core processor system according to the present invention.

符号の説明Explanation of symbols

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コントローラ
1: cluster system 1 ′: multi-core processor system 10, 10 ′: boot program 20, 20 ′: role designation information 30, 30 ′: division information 11, 21: role division designation unit 12, 22: initialization processing unit 13, 23: Execution state communication unit 14: Execution state reflection unit 320: Device driver 330: Process 100, 100 1 to 100 n : Computer 100 ′, 100 1 ′ to 100 n ′: Processor core 200: Network 200 ′: Internal bus 210 : Computer ID
220: Role information 101: Processor 102, 102 ′: Main storage device 103, 103 ′: External storage device 104, 104 ′: NIC (Network Interface Card)
300: Memory controller 400: I / O controller

Claims (20)

相互に接続された複数のノードを具備し、
前記複数のノードは、第1のノードと第2のノードとを備え、
前記第1のノードは、
所定の初期化処理を実行する第1の初期化処理部と、
前記第1の初期化処理部における初期化処理によって変更された状態情報を前記第2のノードに送信する実行状態通信部とを備え、
前記第2のノードは前記状態情報に基づき自身の内部状態を変更する実行状態反映部を備える
コンピュータシステム。
A plurality of nodes connected to each other;
The plurality of nodes include a first node and a second node;
The first node is:
A first initialization processing unit for executing a predetermined initialization process;
An execution state communication unit that transmits state information changed by the initialization processing in the first initialization processing unit to the second node;
The computer system comprising: an execution state reflecting unit that changes an internal state of the second node based on the state information.
請求項1に記載のコンピュータシステムにおいて、
前記第2のノードは、
所定の初期化処理を実行する第2の初期化処理部を更に備え、
前記実行状態反映部は、前記第1のノードから転送された状態情報と、前記第2の初期化処理部による初期化処理とによって内部状態を変更する
コンピュータシステム。
The computer system of claim 1,
The second node is
A second initialization processing unit for executing a predetermined initialization process;
The execution state reflecting unit changes an internal state based on state information transferred from the first node and initialization processing by the second initialization processing unit.
請求項1又は2に記載のコンピュータシステムにおいて、
前記初期化処理は、デバイスドライバを初期化する処理を含む
コンピュータシステム。
The computer system according to claim 1 or 2,
The initialization process includes a process of initializing a device driver.
請求項1から3いずれか1項に記載のコンピュータシステムにおいて、
前記初期化処理は、プロセスを起動する処理を含む
コンピュータシステム。
The computer system according to any one of claims 1 to 3,
The initialization process includes a process for starting a process.
相互に接続される複数のノードを備え、
前記複数のノードのそれぞれは、
自ノードの役割がマスタノードであるかスレーブノードであるかを決定する役割指定部と、
自ノードにおいて初期化処理の対象を指定する分担指定部と、
前記分担指定部の指定に基づき初期化処理を実行する初期化処理部と、
前記役割指定部において、自ノードがスレーブノードであると決定された場合、前記初期化処理部における初期化処理によって変更された状態情報を他ノードに転送する実行状態通信部とを具備する
コンピュータシステム。
With multiple nodes connected to each other,
Each of the plurality of nodes is
A role specifying unit that determines whether the role of the own node is a master node or a slave node;
A sharing specification unit for specifying the target of initialization processing in the own node;
An initialization processing unit that executes an initialization process based on the designation of the sharing designation unit;
A computer system comprising: an execution state communication unit that transfers state information changed by the initialization processing in the initialization processing unit to another node when the role designation unit determines that the own node is a slave node .
請求項5に記載のコンピュータシステムにおいて、
前記役割指定部において自ノードがマスタノードであると決定された場合、他ノードから転送される前記状態情報を自ノードの内部状態に反映させる実行状態反映部とを更に具備する
コンピュータシステム。
The computer system according to claim 5, wherein
A computer system further comprising: an execution state reflecting unit that reflects the state information transferred from another node in an internal state of the own node when the role specifying unit determines that the own node is a master node.
請求項5又は6に記載のコンピュータシステムにおいて、
前記ノードは、初期化すべきデバイスドライバを指定する分担情報を格納する記憶装置を更に備え、
前記分担指定部は、前記分担情報を参照して初期化対象のデバイスドライバを指定し、
前記初期化処理部は、前記初期化対象のデバイスを初期化する
コンピュータシステム。
The computer system according to claim 5 or 6,
The node further comprises a storage device for storing assignment information for specifying a device driver to be initialized,
The sharing designation unit designates a device driver to be initialized with reference to the sharing information,
The initialization processing unit initializes the device to be initialized.
請求項5から7いずれか1項に記載のコンピュータシステムにおいて、
前記ノードは、起動すべきプロセスを指定する分担情報を格納する記憶装置を更に備え、
前記分担指定部は、前記分担情報を参照して起動対象のプロセスを指定し、
前記初期化処理部は、前記初期化対象のプロセスを起動する
コンピュータシステム。
The computer system according to any one of claims 5 to 7,
The node further includes a storage device for storing shared information for specifying a process to be started,
The sharing specification unit specifies a process to be activated with reference to the sharing information,
The initialization processing unit starts up the process to be initialized.
請求項5から8いずれか1項に記載のコンピュータシステムにおいて、
前記ノードは、マスタノード又はスレーブノードを指定するための役割情報と、前記複数のノードのいずれかの識別子とが対応付づけられた役割指定情報を格納する記憶装置を更に備え、
前記役割指定部は、前記役割指定情報に基づき自ノードの識別子に対応する役割情報を参照して、自ノードの役割を決定し、
前記役割指定部において自ノードがスレーブノードとして指定された場合、前記役割指定情報を参照してマスタノードに指定されたノードに前記状態情報を転送する実行状態通信部を更に具備する
コンピュータシステム。
The computer system according to any one of claims 5 to 8,
The node further includes a storage device that stores role information for designating a master node or a slave node and role designation information in which any one of the plurality of nodes is associated,
The role specifying unit refers to role information corresponding to the identifier of the own node based on the role specifying information, determines the role of the own node,
A computer system further comprising: an execution state communication unit that, when the own node is designated as a slave node in the role designation unit, refers to the role designation information and transfers the state information to a node designated as a master node.
請求項1から9いずれか1項に記載のコンピュータシステムにおいて、
前記状態情報は、初期化処理によって変更されたメモリ内の状態を示す情報である
コンピュータシステム。
The computer system according to any one of claims 1 to 9,
The state information is information indicating a state in a memory changed by an initialization process.
請求項1から10いずれか1項に記載のコンピュータシステムにおいて、
前記複数のノードは、ネットワークを介して相互に接続される複数のコンピュータ装置であり、
前記複数のコンピュータ装置の各々は、個別のOS(Operating System)を実行するCPUを備える
クラスタシステム。
The computer system according to any one of claims 1 to 10,
The plurality of nodes are a plurality of computer devices connected to each other via a network,
Each of the plurality of computer devices is a cluster system including a CPU that executes an individual OS (Operating System).
請求項1から10いずれか1項に記載のコンピュータシステムにおいて、
前記複数のノードは内部バスを介して相互に接続される複数のプロセッサコアであり、
前記複数のプロセッサコアの各々は、個別のOS(Operating System)を実行する
マルチコアプロセッサシステム。
The computer system according to any one of claims 1 to 10,
The plurality of nodes are a plurality of processor cores connected to each other via an internal bus;
Each of the plurality of processor cores is a multi-core processor system that executes an individual OS (Operating System).
自ノードが処理すべき初期化処理を実行するステップと、
前記初期化処理によって変更された状態を示す状態情報を他のノードに転送するステップと、
前記他のノードが、前記状態情報に基づいて自身の状態を変更するステップとを備える
並列初期化方法。
A step of executing initialization processing to be processed by the own node;
Transferring state information indicating the state changed by the initialization process to another node;
The other node includes a step of changing its own state based on the state information. A parallel initialization method.
請求項13に記載の並列初期化方法において、
自ノードが処理すべき初期化処理を実行するステップは、
自ノードに指定されたデバイスドライバを初期化するステップを含み、
前記状態情報は前記デバイスドライバの初期化によって変更された状態を示す情報を含む
並列初期化方法。
The parallel initialization method according to claim 13, wherein
The step of executing initialization processing to be processed by the own node is as follows:
Including the step of initializing the device driver specified in the local node,
The state information includes information indicating a state changed by initialization of the device driver.
請求項13又は14に記載の並列初期化方法において、
自ノードが処理すべき初期化処理を実行するステップは、
自ノードに指定されたプロセスを起動するステップを含み、
前記状態情報は前記プロセスの起動によって変更された状態を示す情報を含む
並列初期化方法。
The parallel initialization method according to claim 13 or 14,
The step of executing initialization processing to be processed by the own node is as follows:
Including the step of starting the process specified in the local node,
The state information includes information indicating a state changed by starting the process. A parallel initialization method.
自ノードが処理すべき初期化処理を実行するステップと、
前記初期化処理によって変更された状態を示す状態情報を他のノードに転送するステップとを具備する
並列初期化方法。
A step of executing initialization processing to be processed by the own node;
Transferring the state information indicating the state changed by the initialization process to another node. A parallel initialization method.
自ノードが処理すべき初期化処理を実行するステップと、
他のノードが実行した初期化処理によって変更された状態情報を取得するステップと、
前記状態情報に基づき自身の状態を変更する
並列初期化方法。
A step of executing initialization processing to be processed by the own node;
Obtaining status information changed by initialization processing executed by another node;
A parallel initialization method that changes its own state based on the state information.
請求項16又は17に記載の並列初期化方法において、
前記初期化処理を実行するステップは、
所定のデバイスドライバを初期化するステップを含み、
前記状態情報は前記デバイスドライバの初期化によって変更された状態を示す情報を含む
並列初期化方法。
The parallel initialization method according to claim 16 or 17,
The step of executing the initialization process includes:
Initializing a given device driver,
The state information includes information indicating a state changed by initialization of the device driver.
請求項16から18いずれか1項に記載の並列初期化方法において、
前記初期化処理を実行するステップは、
所定のプロセスを起動するステップを含み、
前記状態情報は前記プロセスの起動によって変更された状態を示す情報を含む
並列初期化方法。
The parallel initialization method according to any one of claims 16 to 18,
The step of executing the initialization process includes:
Including starting a predetermined process;
The state information includes information indicating a state changed by starting the process. A parallel initialization method.
請求項16から19いずれか1項に記載の並列初期化方法をコンピュータに実行させる
ブートプログラム。
A boot program for causing a computer to execute the parallel initialization method according to any one of claims 16 to 19.
JP2006093547A 2006-03-30 2006-03-30 Computer system, parallel initialization method, and boot program Expired - Fee Related JP4817115B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006093547A JP4817115B2 (en) 2006-03-30 2006-03-30 Computer system, parallel initialization method, and boot program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006093547A JP4817115B2 (en) 2006-03-30 2006-03-30 Computer system, parallel initialization method, and boot program

Publications (2)

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

Family

ID=38675061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006093547A Expired - Fee Related JP4817115B2 (en) 2006-03-30 2006-03-30 Computer system, parallel initialization method, and boot program

Country Status (1)

Country Link
JP (1) JP4817115B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118900A (en) * 2009-11-30 2011-06-16 Internatl Business Mach Corp <Ibm> Method, device and computer program for accelerating start-up time of system
JP2013054434A (en) * 2011-09-01 2013-03-21 Fujitsu Ltd I/o controller and i/o control method
JPWO2011138833A1 (en) * 2010-05-07 2013-07-22 富士通株式会社 Hardware control method for information processing system and information processing system
US10162647B2 (en) 2013-12-09 2018-12-25 Mitsubishi Electric Corporation Information apparatus
JP2023514698A (en) * 2020-02-21 2023-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Adaptive multi-phase software scaling for quick recovery
WO2025263570A1 (en) * 2024-06-21 2025-12-26 株式会社オートネットワーク技術研究所 Information processing device, on-vehicle system, information processing method, and computer program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102830966B1 (en) 2019-12-16 2025-07-07 주식회사 엘엑스세미콘 Method for writing firmware

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03265027A (en) * 1990-03-15 1991-11-26 Toshiba Corp Initializing device for computer system
JPH06325007A (en) * 1993-05-10 1994-11-25 Hokkaido Nippon Denki Software Kk Multiprocessor system starting system
JPH09293035A (en) * 1996-04-27 1997-11-11 Nec Corp Initializing system for communication board
JPH1011412A (en) * 1996-06-24 1998-01-16 Nippon Denki Ido Tsushin Kk Initial processing load scattering system for multi-cpu constitution system
JP2002189706A (en) * 2000-12-21 2002-07-05 Nec Miyagi Ltd System and method for decentralized initialization of communication device
JP2005284491A (en) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp Computer startup time reduction method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03265027A (en) * 1990-03-15 1991-11-26 Toshiba Corp Initializing device for computer system
JPH06325007A (en) * 1993-05-10 1994-11-25 Hokkaido Nippon Denki Software Kk Multiprocessor system starting system
JPH09293035A (en) * 1996-04-27 1997-11-11 Nec Corp Initializing system for communication board
JPH1011412A (en) * 1996-06-24 1998-01-16 Nippon Denki Ido Tsushin Kk Initial processing load scattering system for multi-cpu constitution system
JP2002189706A (en) * 2000-12-21 2002-07-05 Nec Miyagi Ltd System and method for decentralized initialization of communication device
JP2005284491A (en) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp Computer startup time reduction method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118900A (en) * 2009-11-30 2011-06-16 Internatl Business Mach Corp <Ibm> Method, device and computer program for accelerating start-up time of system
JPWO2011138833A1 (en) * 2010-05-07 2013-07-22 富士通株式会社 Hardware control method for information processing system and information processing system
JP2013054434A (en) * 2011-09-01 2013-03-21 Fujitsu Ltd I/o controller and i/o control method
US10162647B2 (en) 2013-12-09 2018-12-25 Mitsubishi Electric Corporation Information apparatus
JP2023514698A (en) * 2020-02-21 2023-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Adaptive multi-phase software scaling for quick recovery
JP7549428B2 (en) 2020-02-21 2024-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Adaptive multi-phase software scaling for fast recovery
WO2025263570A1 (en) * 2024-06-21 2025-12-26 株式会社オートネットワーク技術研究所 Information processing device, on-vehicle system, information processing method, and computer program

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110063051B (en) System and method for reconfiguring server and server
JP4842210B2 (en) Failover method, computer system, management server and spare server setting method
US7930371B2 (en) Deployment method and system
JP5733628B2 (en) Computer apparatus for controlling virtual machine and control method of virtual machine
JP4487920B2 (en) Boot control method, computer system and processing program therefor
JP6458146B2 (en) Computer and memory area management method
TW200817920A (en) Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
US20170293451A1 (en) Dynamic partitioning of processing hardware
CN108027747A (en) The multiprocessing of the controller firmware designed for single-processor environment is performed in memory array system
JP2011100431A (en) Device and method for controlling virtual machine
JP5149732B2 (en) Virtual computer system
CN113094111A (en) Device and method for starting device
US20180293184A1 (en) Virtual Channel and Resource Assignment
US20120017077A1 (en) Managing Hardware Resources For Soft Partitioning
US20230024607A1 (en) System-on-chip for sharing graphics processing unit that supports multimaster, and method for operating graphics processing unit
JP4817115B2 (en) Computer system, parallel initialization method, and boot program
EP2370897A2 (en) Composite device emulation
CN114115703B (en) Bare metal server online migration method and system
US8595362B2 (en) Managing hardware resources for soft partitioning
EP1958075B1 (en) Method and apparatus for assigning devices to a partition
US8601128B2 (en) Managing hardware resources for soft partitioning
US9110731B1 (en) Hard allocation of resources partitioning
JP5703854B2 (en) Computer system and computer system activation method
JP2017504083A (en) Computing device that provides virtual multipath state access, remote computing device for virtual multipath, method for providing virtual multipath state access, method for virtual multipath, computing device, multiple methods for computing device And a machine-readable recording medium
JP6035993B2 (en) Information processing apparatus, apparatus management 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