JP2001518660A - 多重ノードクラスタにおける多重プロセッサノードの逐次及び確実な始動及び/又は再ロード方法 - Google Patents

多重ノードクラスタにおける多重プロセッサノードの逐次及び確実な始動及び/又は再ロード方法

Info

Publication number
JP2001518660A
JP2001518660A JP2000514195A JP2000514195A JP2001518660A JP 2001518660 A JP2001518660 A JP 2001518660A JP 2000514195 A JP2000514195 A JP 2000514195A JP 2000514195 A JP2000514195 A JP 2000514195A JP 2001518660 A JP2001518660 A JP 2001518660A
Authority
JP
Japan
Prior art keywords
node
processor unit
nodes
cluster
coordinator
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
JP2000514195A
Other languages
English (en)
Inventor
ユー チェウン チェウン
ウィリアム ジェイ カーリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JP2001518660A publication Critical patent/JP2001518660A/ja
Pending legal-status Critical Current

Links

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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

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)
  • Multi Processors (AREA)

Abstract

(57)【要約】 システムユーザに対して、唯一のイメージ視野を示すためのクラスタとして構成され、相互に連結された対称多重プロセッシング(SMP)のグループを含むプロセッシングシステムである。特に、本発明は、各SMPシステムの各プロッセッサユニットに関して、矛盾のない確実な方法で、個別に独立した実行環境を生成することに関する。

Description

【発明の詳細な説明】
【0001】 (発明の背景) 本発明は、概ね、システムユーザに対して、唯一のイメージ視野を示すための
クラスタとして構成され、相互に連結された対称多重プロセッシング(SMP)
のグループを含むプロセッシングシステムに関する。特に、本発明は、各SMP
システムの各プロッセッサユニットに関して、安定した確実な方法で、個別に独
立した実行環境を生成することに関する。 最近、重要機能(緊急電話システム、直接援助要請、セルラー電話、インター
ネット・トラフィックなど)と同様に、有価証券取引、自動窓口機、クレジット
カード取引のような企業にとって重要な通信は、多重プロセッサを利用する通信
環境に大いに依存している。多数の多重プロセッサ・アーキテクチャが存在し使
用されいるが、「クラスタ」と称される一つの多重プロセッサ・アーキテクチャ
は、かなりの人気を博している。一般にクラスタは、高い性能と信頼性を提供す
るために、単一のものとして一体となって作動する多数の独立システム(「ノー
ド」)である。クラスタリングは、活性ノードが故障ノードから持ち直すことを
可能にする故障に強い仕組みを組み込むことができ、高い信頼性、幅広い拡張性
および耐故障性のものを提供できる。さらに、システム・リソースが常に利用可
能であり、ノードは、「ホット・バックアップ」と呼ばれているような故障発生
に関連してアイドル状態にされる必要がない。
【0002】 最近では、クラスタ・システムの一つまたは複数ノードを形成するために、多
重プロセッサユニットを使用するように、さらに対称多重プロセッサ(SMP)
システムを構成するようにクラスタリング・コンセプトが拡大している。クラス
タにおけるSMPベースのノードの組合わせが、両方の可能世界を提供する。つ
まり、前述のように、他の重要機能と同様に、企業にとって重要な通信に利用で
きる、強力な並行ソフトウエアと相互に連結している信頼性と拡張性があるアー
キテクチャである。 しかしながら、SMPシステムには拡張性の制約がある。SMPシステムが、
Windows NTオペレーティング(Windows, NT,およびWindows NTはマイクロソフト
社、Redmond, Washingtonの商標である)、またはUNIXオペレーティングシステ ムに基づいている場合、これらはメモリ体を共有している。多重プロセッサの間
で、メモリまたは別のリソースを共有する場合、付加プロセッサはリソース競合
をもたらすことがある。つまり、SMPシステムの拡張性を高める(つまりプロ
セッサユニットを追加する)必要が有り、プロセッサユニットがSMP構成のノ
ードに追加されると、メモリ競合の問題が、対応する能力、性能およびノード間
の仕事量のバランスを妨げることがなくなる。
【0003】 (発明の概要) 第1の例において、本発明は、SMPシステムとして構成された、クラスタノ ードの各プロセッサユニットのための、個別に独立した実行環境を確立する方法
を提供するものである。本発明の方法はこれらの実行環境を所定の順番で生成す
るものである。
【0004】 広義には、この方法はクラスタノードを順番を決定して、この順番に従って、
その順番の最初のクラスタノードの最初のプロセッサユニットから始動/再ロー
ド処理を開始する。この始動/再ロード処理は、まず最初に、その最初のプロセ
ッサユニットと関連性のある監視(MON)プロセスを生成する。次に、MON
プロセスがノードの共有メモリ内にメモリ・セグメント領域を生成するが、ある
意味では、メモリセグメント領域に対して相互に排他的に第1のプロセッサユニ ットを確立するのである。また、MONプロセスは、コーディネータ・プロセス
で表され、始動/再ロード処理の催促を監視し助ける義務を有する第2の監視(
MON2)プロセスを生成する。次に、MONとMON2プロセス、およびメモ
リセグメント領域が、第1ノードの残りのプロセッサで生成され、これが完了す
ると、最初に決められた順番によって、第2ノードで始動/再ロード処理が行わ
れる。MONとMON2プロセス、およびメモリセグメント領域がこの第2ノー
ドの各プロセッサユニットで生成され、その後、第3、第4ノードで同様に生成
される。
【0005】 この処理はクラスタの全てのノードが、クラスタの各ノードの各プロセッサユ
ニットのための個別に独立した実行環境を生成する、始動/再ロードオペレーシ
ョンの支配を受けるまで続く。さらに、始動/再ロードオペレーションの完了の
結果として、各ノードが、各クラスタシステムの各ノード、該ノードの各プロセ
ッサユニットの識別子を有するようになり、この情報は、信号システムを実施す
る上で各クラスタシステムのプロセッサユニットに必要なものである。
【0006】 本発明の第1の実施の形態によれば、クラスタは、クラスタの適切な状態の監
視を続ける、継続的な耐故障性オペレーションを実現するものである。ノードが
故障した場合には、本発明では故障ノードと該ノードのプロセッサユニットとの
識別子を取り除き、さらに取り除かれた識別を、各ノードの信号システムイメー
ジが故障ノードの消滅を示すように、システムの別のノードに分散する。さらに
、如何なる故障ノードのプロセッサユニットで開始された、如何なる取引も別の
場所に送られて、作業が完全に停止するか、または、その後故障ノードが再確立
された場合にはこの故障ノードに戻される。ノードが再び現れた場合には、本発
明の方法によれば、前記と同じ方法で再度そのノードに関して始動/再ロード行
うことができ、このことに加え、中断されずに残っている如何なる取引もノード
のプロセッサユニットに戻される。
【0007】 本発明の利点は、クラスタシステムのプロセッサユニットで行われる、各取引
と各取引の状態とを監視し追跡するために、一つのノードの主取引監視プロセス
P_TMFを動かすための取引監視機能(TMF)を、クラスタシステムに準備
することである。バックアップ取引監視プロセス(B_TMP)が、クラスタシ
ステムの他のノード(P_TMPが動いているノードとは異なる)で利用できる
。分散取引、取引の追跡状態に関しており、中断するかまたは拘束するために故
障と直面する取引に関するP_TMP取得権を有する別の情報については、米国
特許番号5,590,275、出願番号08/346,603(1995年1月23日出願)、およびこの出
願と同時出願の米国出願番号 (代理人整理番号10577-423)とに見 出すことができる。
【0008】 (本発明の詳細な説明) 図面を参照して、まず特に図1を参照すると、通信網14により相互に接続さ
れたノード12のクラスタシステム10として構成された、プロセッシングシス
テムが示されている。4個のノード12だけが示されているが、これ以上のノー
ドを含むことができることは当業者にとって自明である。例えば、クラスタシス
テム10を16個のノードを有するよう設計しても良い。また、米国特許第5,57
4,849で教示されているように、通信網14はルータ・ベースシステムのエリア ・ネットワーク構成を利用することが好ましいが、他のネットワーク構成も利用
できる(例えば、トークン・リング、FDDI、エサーネットなど)。
【0009】 各ノード12は、バス構造26によってメモリ素子22に接続された、一つま
たはそれ以上のプロセッサユニット20を含んでいる。符号A,BおよびCのノ
ードのように、各ノード12は2個以上のプロセッサユニットを含むことが好ま
しく、またはノード符号D示されているように単一のプロセッサユニットを含む
こともできる。ノード12は最大8個のプロセッサユニット20を含むことがで
きるが、拡張設計によりこれ以上のノード使用できる。図1には、図面および検
討が過度に複雑にならないように、全てのノード12に関して最大4個のプロセ
ッサユニット20が示されている。これらのノード12は、2個以上のプロセッ
サユニット20を有しており、例えば、Windows NTオぺレーティングシステムの
もとで作動するSMPシステムとして構成することが好ましい。ノード12の多
重プロセッサユニット20が、SMPシステムとして構成されているので、ノー
ドのメモリ素子22を共有することになる。しかし、単一のプロセッサユニット
20を備えた一つまたはそれ以上のノード12(例えばノードD)が存在する。
ノードDはWindows NTオぺレーティングシステムのもとで作動する必要はないが
、付加的なプロセッサユニット20を付加することは、一貫性と互換性よりむし
ろ拡張性に好ましいものである。
【0010】 各ノード12は「完全疎結合(Shared nothing)」コンセプトを用いて構成さ
れている。つまり、各ノードは、例えば図1に磁気ディスク装置30によって示
される、それ自体の入力/出力装置を備えた、個別に独立な通信システムである
。磁気ディスク装置30のみが示されているが、各ノード12のSPMシステム
は、磁気ディスクに加えて、別の入力/出力装置(例えば、通信コントローラ、
プリンタ、ワークステーション・インターフェイスおよび関連のワークステーシ
ョン)を含むことができる。
【0011】 本発明から離れて、クラスタシステム10のアーキテクチャは、現行の公衆ネ
ットワーク、オンライン取引プロセッシング(OLTP)を介する専用双方向通
信のような、取引プロセッシングのための社会基盤を形成することに適している
。OLTPアプリケーションがエンドユーザに継続的に利用可能であると共に、
ユーザデータの複雑な完全保護を要求するOLTPに対して、多くの市販のアプ
リケーションを利用できる。例えば、銀行の自動窓口機(ATMs)は卓越した
完全性(つまり万一エラーがあっても最小限にする)をもつ必要があり、さらに
ATMsはユーザが長期間にわたって利用できなければならない。ATMユーザ
は、彼らの取引に関連した間違い(例えば、$500.00の預金がユーザの口座に払
い戻されない)を容認することはない。さらに、しばしば1日24時間、週7日
、ユーザが利用できることが好ましい。図1のクラスタシステム10のようなア
ーキテクチャはこれらの目的に大変役立つものである。
【0012】 「取引」は従来、明白に説明された手順、または関連手順であり、これはデー
タベースの内容または、あるデータ構造を矛盾のない状態から他の状態へ変更す
るものである。取引の範囲内でデータベースのオペレーションは単一ユニットと
して生成される。取引による全ての変更は永久に記憶されるか、または、どの変
更も永久に記憶されない(つまり取引が中断される)ものである。取引の実行中
に故障が発生した場合、データベースのどのような部分的変更も自動的に取消さ
れ、データベースが矛盾のない状態とされる。TMPの義務は、取引を行うプロ
セッサユニットのみならずTMPの構成要素(例えばP_TMP)で監視され追
跡されるシステム(例えば、クラスタ12のプロセッサユニット20)により開
始される、多数の継続中の取引を保証することである。取引が行われているプロ
セッサユニット20が故障した場合、P_TMPが取引を引き継いで、これを中
断するか、または取引がその履行の中で十分に進んでいる場合は取引を記憶する
。各取引の追跡には、取引を開始し、取引の「状態」を適時定める各プロセッサ
ユニット22によって共有メモリに保存される、種々のテーブルデータ構造が必
要である(つまり、如何なる別のプロセッサおよび/またはプロセッサユニット
も含まれており、例えば先に引用した出願番号08/376、603を参照のこと)。T MPは、クラスタで行われる全ての取引に関する同様のTCBを保存する。
【0013】 本発明の方法が、各々に対して別個の独立した実行環境を確立するようにプロ
セッサユニット20を始動する。さらに、始動オペレーションは、実行環境が全
て完了することを保証し、プロセッサユニット20が未完了の始動状態になるこ
とはない。これを実現するために、単一の「コーディネータ」プロセスがプロセ
ッサユニット20の一つに生成される。コーディネータ・プロセスは、始動/再
ロードオペレーションが完了した場合に、プロセッサユニット20が部分的なロ
ード状態にならないことを保証するよう、TMFのための各ノード12の各プロ
セッサユニット20を逐次初期化する、始動/再ロードオペレーションに積極的
に参加する。その後、ノード故障が検出されれば、コーディネータ・プロセスが
、故障ノード12と、そのプロセッサユニット20の識別子の規則正しい除去を
管理するものである。
【0014】 コーディネータ・プロセスの位置(つまり、コーディネータ・プロセスが作動
し、または密接な関係があるプロセッサユニットのクラスタ内での識別)は、最
終的にクラスタシステム10の全体にわたって分散される。
【0015】 図1に戻って、電力がまずクラスタシステム10に印加されると、示されたよ
うにNTオペレーションシステムの下で、各々のプロセッサユニット20が自動
的に立ち上がる。従来のように何時か、ユーザがTMFのためのクラスタシステ
ム10を構成することを可能にすると共に、必要なTMFの構成要素をインスト
ールするためにセットアップオペレーションが始まる。セットアップオペレーシ
ョンは自動に行われてもよく(つまり、クラスタシステム10は、幾つのノード
12が含まれ、さらに各ノード12が幾つのプロセッサユニット20で構成され
ているかを検出するよう設計できる)、または、クラスタの識別子、性質のよう
な情報をユーザが入力することを要求してもよく、または、これらの方法の組合
わせて利用してもよい。しかしながら、セットアップオペレーションはクラスタ
システム10に幾つのノード12が存在しているか、ノード12内に幾つのプロ
セッサユニット20が含まれているかを明らかにし、ノード12とプロセッサユ
ニット20とに識別子(例えば、「A」「B」・・・「D」)を割り当て、さら
に磁気ディスク装置30上の種々のTMFファイルと構成要素(例えば、ダイナ
ミック−リンク・ライブラリ(DLL))をインストールする。
【0016】 好ましくは、クラスタの各々のプロセッサユニット20を順番に識別するため
に、番号付けの規約が利用できる。図1に示される例示的なクラスタシステム1
0内には、11個のプロセッサユニット20があるので、0から10(PU-0,PU-
1, ・・・,PU-10)の番号が付される。つまり、ノードAは0から3(PU-0,PU-1
, ・・・,PU-3)の番号が付されたプロセッサユニット20を含む。ノードBの プロセッサユニット20は4と5(PU-4,PU-5)で識別され、一方で、ノードC の4個のプロセッサユニットは6から9(PU-6, ・・・,PU-9)で識別される。 最後に、ノードDに含まれる11番目のプロセッサユニットはPU-10で識別され る。
【0017】 セットアップオペレーションの際に収集された、特定の情報は、Windows NTオ
ペレーティングシステムに保存される「レジストリ」に書き込まれ、これはクラ
スタシステム10の種々の形態を記述する構成情報を保持しており、図2に示さ
れる構成テーブル60を構築するために使用される情報を含んでいる。
【0018】 セットアップシステムが起動した後、何時か、クラスタシステム10がTMF
のために起動される。その際に、各ノードのプロセッサユニット20が、最初に
クラスタ監視プロセスと、クラスタ構成要素プロセスを含んでいるドライバとを
ロードする。(ノードA,B,Cのプロセッサユニット20がSMPシステムを
形成するので、クラスタ監視プロセスと、クラスタ・サービス・プロセスとが適
時そのノードの全ての利用できるプロセッサユニット20で作動する)
【0019】 図4は、TMFのためにノード12にインストールされた種々のプロセスの抽
出レベルを示す。図3は、NTオペレーティングシステム44の一部を形成し、
または種々の機能および/または以下に説明するクラスタ監視コンポーネント4
2aようなノード上で作動可能なアプリケーションがインストールされる、最も
基本レベル(ハードウエアに近い)の種々のドライバ42を示す。(ここでは関
係がないが、クラスタ監視コンポーネント42aは、他のノードの対応部分と対
話を行う責任がある。)次は、クラスタ監視プロセス46とクラスタ・サービス
・プロセス47であり、その後、始動/再ロードオペレーションの際に使用され
る初期化プロセス(IP)50である。その寿命はMOMとMON2がノードの
各プロセッサユニット20にインストールされると終わるので、初期化プロセス
(IP)50は仮想的に示されている。クラスタ監視プロセス46、クラスタ・
サービス・プロセス47(もちろん、NTオペレーティングシステムおよび関連
ドライバ44,42も)と違って、MONとMON2プロセッサ54,56は、
特定の一つまたは別のプロセッサユニット20、または、プロセッサユニット2
0のみにインストールされて作動する(「密接な関係がある」)。つまり、例え
ば、クラスタシステム10が完全にインストールされ再ロードされると、特定の
11個のプロセッサユニット20の各々がMONプロセス54とMON2プロセ
ス56を有する。
【0020】 最初に各ノード12は、インストールされたクラスタ監視プロセス46と関連
のドライバ(クラスタ監視コンポーネント42aを含む)のみを有する。種々の
ノード12のクラスタ監視コンポーネント42aが初期接続(handshaking)ル ーチンをそれらの間で行い、ノード12の順番を決める。例えば、各ノードが立
ち上がると、データ発生(タイムスタンプ)を明確にし、最初に立ち上がったノ
ードが第1または「最も古い」順番であることを識別し、次に立ち上がったノー
ドを第2または「2番目に古い」順番であることを識別し、これが繰り返される
。立ち上がった厳密な時間は必要ない。例えば、2個のノード12が、ほぼ同じ
時間に立ち上がる可能性があり、一方を他方より前に選択するための任意の選択
が行われる。さらに順番を定めるために利用されるそれらの時間(データ発生)
も重要ではない。重要なのは順番を決めることであり、その理由は以下で述べる
。ノードの順番が決まると、各ノードのプロセッサユニット20も同様にその番
号により順番が付される。ノードBが第1または「最も古い」ものであり、ノー
ドA、D、Cが順に続くと仮定する。これに対応してプロセッサユニット20の
順番がPU-4, PU-5, PU-0, PU-1, ・・・, PU-10, PU-6, PU-7, ・・・, PU-9の
ように付される。
【0021】 ノード12の順番(B,A,D,C)はノード12のクラスタ監視コンポーネ
ント42aの間に分散され、どのノードが始動/再ロードを最初、2番目・・・に 開始するかを決定するために使用される。
【0022】 インストールされたクラスタ監視プロセス46を有する各ノードを用いて、本
発明の始動/再ロードオペレーションを行うことができる。このオペレーション
は、図5,6のフローチャート70,90に概略示されている。オペレーション
は、関連のクラスタ監視コンポーネント42aを、関連ノードが「最も古い」つ
まり第1の順番であるか否かを調べるために監視する、各ノード12のクラスタ
監視プロセス46を有するステップ72(図5)から始まる。第1の順番でなけ
れば、クラスタ監視プロセス46は、クラスタ監視コンポーネント42aからの
応答を受信せず、クラスタ監視プロセス46を待ち状態にする。しかし、第1の
、または最も古いノード12に存在するクラスタ監視コンポーネント42aは、
クラスタ監視プロセス46に応答して、クラスタ監視プロセスにそのノードのた
めのクラスタ・サービス・プロセス48を生成させる。クラスタ・サービス・プ
ロセス48は、順にノード52のためのIPを生成する。
【0023】 ステップ72で生成されたIP52がノードのレジストリを調べ、レジストリ
(図示せず)からの情報を使用して構成(configuration)60を構築する。全 てのノードは同一のレジストリ(セットアップ時に分散される)を有している。
以下で検討されているように、IP2が各ノードで生成される場合、構成テーブ
ル60はこのようなノードのために構築される。最終的に各ノードは、別のノー
ドの構成テーブル60と同一の構成テーブル60を有する。
【0024】 ノード12のプロセッサユニット20を、「ローカル」番号によって識別する
ことは好都合であるので、構成(configuration)が識別子を与える。つまり、 例えば、セットアップオペレーションの際に、クラスタシステム10に関するノ
ードAのPU-1で識別されプロセッサユニット20がローカル番号「1」を有する
。同様に、ノードCのプロセッサユニットPU-8が局所的に「2」で識別される。
構成テーブルがクラスタシステム10の各ノード12に関する列64を有してい
る。4列のみが示されているが、前述のとおり、クラスタシステム10は最大1
6個のノードをもつことができ、所望であればさらなるノードを使用することも
できる。結果的に、構成テーブルはさらに12個の列をもつことができる(ここ
で示される)。
【0025】 構成テーブル60の各縦列64は、各ノード(列)に関するプロセッサユニッ
ト20を示す。各縦列の先頭はノードのローカル番号である。前述のように、各
ノードは最大8個のプロセッサユニットをもつことができるので、8つの縦列が
存在している。しかし、ノードが8個以下のプロセッサユニット20を含んでい
る場合、構成テーブルには「−1」が記入される。ノードがない列62には「−
1」が記入されている。
【0026】 次に、ステップ74でIP52は、IP52に第1番目のノードか否かを知ら
せるマスクを戻す、クラスタ・サービス・プロセス48を呼び出すことで、最初
の順番のノードであるか否かを照合する。そうでない場合、ステップ74の照合
の結果、図6で示される再ロードオペレーション90に進む。しかし、IP52
が最も古いノード12に生成され、または開始された場合、これはステップ76
のために監視(MON)プロセス54を生成するようステップ74に進み、さら
にMONプロセスがそのノードのなかで、最小の番号が付されたプロセッサ、こ
こではPU-4に関連性を設定する。(この点で、プロセスがプロセッサユニットと
「関連性」をもつと言われる場合、このことはプロセスが、NTオペレーティン
グシステムの「Setprocessaffinity」機能を使用して、そのプロセッサユニット
でのみ作動することを意味する。例えば、SMP構成ノードにおいて、理解され
るように、各プロセッサは、それが生成されたプロセッサユニットでのみ作動で
きるMONプロセス54とMON2プロセス56とが生成されている。)対照的
に、クラスタ監視プロセスとクラスタ・サービス・プロセスは、ノードの如何な
る、または全てのプロセッサユニットで作動できる。)
【0027】 MONプロセス54がステップ80で、メモリ素子24のメモリセグメント領
域24(4)(図1)を生成し、特にプロセッサユニットPU-4に関して、メモリ
セグメント領域24(4)に対する相互排除アクセスに適するものである。メモ
リセグメント領域24(4)の構造は、PU-4で作動するプロセスに対する、この
ような相互排除アクセスを保証する適切なロック(Mutexes)を備えたデータ構 造(図示せず)を含んでいる。このようなメモリセグメント領域の生成と使用に
関係するより多くの情報に関して、本出願人は、本出願と同時出願の出願番号 (代理人整理番号:10577-427)を出願している。
【0028】 これが最初に生成されたクラスタシステム10のためのMONプロセス54で
あり、プロセッサユニットPU-4(および関連のメモリセグメント領域24(4)
)に関連性があるMON2プロセス56も生成する。最初に生成されたMON2
プロセス54はコーディネータ・プロセスで表され、この最初のノードと全ての
残りのノードのための始動/再ロードを催促することに積極的に参加する。例え ば、MONプロセス54は、MON2プロセス(コーディネータ・プロセス)を
生成する唯一のMONプロセスである。全ての他のMON2プロセス56は、コ
ーディネータ・プロセスにより生成される。
【0029】 全てのプロセッサユニット20は、MON2プロセス56を有している。各M
ON2プロセス56が最初に生成されると、ノード12の全てのプロセッサユニ
ット20に手をつける(2個以上のプロセッサユニットがあると想定する)。さ
らに、MON2プロセスが生成されると、「ローカル」プロセッサユニットを通
過し、その数よりこのMON2プロセスの関連性が定められる。その後、MON
2プロセスが、順番が来たノードのクラスタ・サービス・プロセス48を調べる
。第1の(最も古い)ノードに生成されていることと、そのノードの最小番号を
付されたプロセッサユニット20に対して関連性が与えれていることを、MON
2プロセスが識別すると、これがコーディネータ・プロセスであり最終的に生じ
るであろうことを知る。
【0030】 MONプロセス54を生成した後、IP52はコーディネータ・プロセスが十
分に活動状態であることを識別するまで待つ。その後、IP52ステップ82か
ら図6の再ロードオペレーション90に進み、ステップ92でIP52が要求(
REQUEST(1))をコーディネータ・プロセスに発する。これはIP52が、もしあ
れば、ノードの残りのプロセッサユニット各々のMONプロセスを生成すること
の承認を依頼するものである。(ここで、ノードBには、もう一つのプロセッサ
ユニット20、PU-5がある。ノードDには唯一のプロセッサユニット20しかな
いので、IP52は以下に説明する方法で、再ロードオペレーション90に進む
ことなく終了する。)REQUEST(1)にはノード識別(ここではB)が伴なっている
【0031】 再ロードオペレーション90を続ける前に、構成テーブル86の重要性を理解
することは利点がある。最初に生成された形(図3A)から完了した形(図3D
)までの過程が図3A−3Eに示されている。コーディネータ・プロセスは、プ
ロセッサユニット20のためにMON2プロセス54が生成された場合に応じ順
番が付せられた、クラスタシステム10の各々のプロセッサユニット20に関す
るエントリ88と共に、遷移テーブル86(図86)を構成する責任がある。12
8もの数のプロセッサユニット(好ましい実施例)が可能であり、128のエントリ
(entry)がある。この時点では、唯一のMON2プロセス56が生成されてお り、プロセッサユニット20のコーディネータ・プロセスは、セットアップ識別
子番号PU-4を有している。従って、遷移テーブル86の第1のエントリ88aは
、最初に生成されたときには、プロセッサユニット20にコーディネータ・プロ
セスがインストールされていることを識別する「4」である(図3A)。またこ
の時点では、残りのエントリ88b,88cは「−1」であり、何もないか、ま
たはMON、MON2プロセスがまだインストールされていないことを示す。コ
ーディネータ・プロセスは、そのメモリ素子24のプロセス・アドレス空間に遷
移テーブルを格納しており、このような各MON2プロセスが生成されるように
、遷移テーブルを全ノードのMON2プロセスに分散する。(同様にMON2プ
ロセッサは遷移テーブルのコピーを、それ自身のプロセス・アドレス空間に格納
している。)
【0032】 第1のケースにおいて、遷移テーブルはコーディネータ・プロセスの位置を識
別するために使用される。この情報は、エントリ88のプロセッサユニット識別
子により特定される。第2のケースにおいて、遷移テーブルは、誰が次のコーデ
ィネータ・プロセスであるか、誰が第1の(現在の)コーディネータ・プロセス
を機能させなくするかを識別する。
【0033】 全てのプロセスは、これらを独自に識別し、クラスタ10を越えて全ての別の
プロセスからこれらを識別する名前をもっている。つまり、例えば、ノードBの
プロセッサユニットPU-4にインストールされたMONプロセスは、構成テーブル
60に示される割り当てられたプロセッサユニット番号を使用して、MON(00
4)として識別できる。同様に、コーディネータ・プロセス、MON2プロセス がMON2(004)として識別できる。
【0034】 再ロード・オペレーション90に戻って、ステップ94は、Request(1)を受け
るとコーディネータ・プロセスが、Request(1)で識別された最小番号を付された
ノードのプロセッサに関しユニット構成テーブルを調べ、プロセッサユニットの
MONプロセスにメッセージを送る。コーディネータ・プロセスが応答を返すと
、Request(1)の拒否をIP52に戻す。これはIP、クラスタ・サービス・プロ
セス48およびクラスタ監視プロセス46を終了させ、ノードが初めからやり直
すことを命じる。予期されるように、エラーが戻された場合(つまり、MONが
存在しないときに起こるような、応答がない場合)、その後コーディネータ・プ
ロセスは、ノード12のRequest(1)で識別されたプロセッサユニットが遷移テー
ブルに記載されていないこと念のために照合する。この理由は、図7のノードダ
ウン・オペレーション(およびステップ118に含まれるCPUダウン・オペレ
ーション)の検討の後で明らかになる。遷移テーブル60の照合が、Request(1)
で識別されたノードのプロセッサユニット、またはそれらの幾つかが遷移リスト
にあることを示す場合、コーディネータは、なお識別されている各々のプロセッ
サユニットに関するCPUダウン・オペレーションを予定する。(コーディネー
タ・プロセスは、どのプロセッサユニット20が、どのノード12に属している
かを識別する、構成テーブル60を利用して、遷移テーブルに記載されたどのプ
ロセッサユニットであるかを決定できる。)受信できる全てのRequest(1)に応答
するコーディネータ・プロセスの前に、すべての予定された未解決のCPUダウ
ン・オペレーションが実行される必要がある。理解できるように、CPUダウン
・オペレーションは影響のあるプロセッサユニットを、コーディネータ・プロセ
スのみならず全てのMON2プロセッサ56の遷移リストから取り除く。
【0035】 始動/再ロードオペレーションのこの段階では、コーディネータ・プロセスは
第1のノード(順番において)であることを認識し、構成テーブル60を監視し
、次に最小の番号が付されたプロセッサユニットにある、全てのMONプロセッ
サにメッセージを送る。予期されるように、応答が受信できない場合には、その
後コーディネータ・プロセスは遷移テーブルを照合する。その際、コーディネー
タ・プロセスにはそれが最初のノードで作動していることが分かっているので第
1のエントリを省く。つまり、コーディネータ・プロセスは、PU-4が遷移テーブ
ルで識別されている事実を無視するが、PU-5が識別されているかどうかを照合す
る。この場合、コーディネータ・プロセスがプロセッサユニットのために、CP
Uダウン・オペレーションを予定し、CPUダウン・オペレーションが実行され
るまでは、ステップ92でIP52からのRequest(1)に応答しない。
【0036】 IP52が許可を要求しているプロセッサユニットが前述の方法で照合される
と、コーディネータ・プロセスはIPプロセスに許可(GRANT)を戻す。
【0037】 IP52は許可を受ける、ステップ96に進み、ここでは各プロセッサユニッ
ト20にMONプロセスを生成し、これに対して要求がなされ、ここでプロセッ
サユニット20がPU-5として認識される。前記のようにMONプロセスが生成さ
れた場合、生成されたMONプロセスは、前記のように、そのプロセッサユニッ
ト20に関して排他的にメモリセグメント領域を生成する。しかし、このMON
プロセス(および別のノードで生成された、全てのほかのMONプロセス)は、
ステップ80(図4)で最初に生成されたMONプロセス54により、すでに生
成されているので、MON2プロセスを生成しない。これはコーディネータ・プ
ロセスをそのまま残すことになる。
【0038】 プロセッサユニット20(PU-5)のMONプロセスの生成によって、再ロード
・オペレーションがステップ98に進み、他の要求(REQUEST(2))をコーディネ
ータ・プロセスに送り、該コーディネータ・プロセスに再ロード・オペレーショ
ンを完了するよう依頼する。つまり、ステップ98で示されるように、コーディ
ネータ・プロセスは逐次、最小の識別を付されたプロセッサユニット20から最
大のプロセッサユニット20まで、このような各プロセッサユニットのためのM
ON2プロセスを生成する。各MONプロセス56が生成されるので、コーディ
ネータ・プロセスは各プロセッサユニット20を識別するために遷移テーブル8
6を更新し、これによって、最新の生成されたMON2プロセス56が関連づけ
られ、クラスタシステム10の全MON2プロセス56に、更新された遷移テー
ブル86(図3B)を分散する。(もちろん、始動/再ロードオペレーションの この段階では、プロセッサ20(PU-4)のMON2プロセス54が唯一コーディ
ネータ・プロセスであり、プロセッサユニット22(PU-5)は更新された遷移リ
スト86を受信しない)
【0039】 コーディネータ・プロセスが生成されると、MON2プロセス56は、IP5
2にREQUEST(2)で求められた動作をうまく完了したことを返答する。この返答を
受けると、IP52は、ノードBのクラスタ・サービス・プロセス48への、ノ
ードBにより行なわれる始動/再ロードオペレーションが完了したことの通知を 終了する。次に、クラスタ・サービス・プロセス48はクラスタ監視プロセス4
6に通知し、これはクラスタ監視コンポーネント42aに、始動/再ロードオペ レーションが完了したことを通知する。ノードBのクラスタ監視コンポーネント
42aは、その後、他のノード(A,B,C)に通知する。他のノード(A,B
,C)のクラスタ監視コンポーネント42aは順番が照合されるまで継続して制
御を保留する。しかし、次のノードのクラスタ監視コンポーネント42aは、そ
れが次のノードであることを認識し、ノードのクラスタ監視プロセス46制御を
解放し、次に、これがノードに関するクラスタ・サービス・プロセス48を生成
する。ノードC,Dはまだ次のノードでないことが分かるが、ノードAが最初の
ノードであることは分かる。さらに、その後、ノードBと同じ方法で、クラスタ
・サービス・プロセス48がIP52を生成する。つまり、始動/再ロード手順 70が今度はノードAに関して再度開始される。ノードA(つまり、プロセッサ
ユニット20(PU-0))に一度生成されたIP52は、第1のノードにあるか否 かをチェックする。そうでない場合、ステップ74から図5の再ロード・オペレ
ーション90に進む。始動/再ロード手順70のステップ76,80,82は、 コーディネータ・プロセスを生成するために、唯一、先に設定された順番で、第
1番目の第1プロセッサユニット22のために機能する。
【0040】 ステップ92で、先にノードAの各プロセッサユニット22にMONプロセス
生成の許可を要求したIP52が、どこにコーディネータ・プロセスが位置して
いるのかを最初に決定する必要がある。ノードAがまだ生成されたMON2プロ
セスをもっておらず、従って遷移テーブル86にアクセスしていないので、IP
52が、完全な始動/再ロードオペレーションを有するクラスタ10のノードの 識別のために、クラスタ・サービス・プロセス48を調べる。その後、IP52
は、コーディネータ・プロセスの位置を問い合わせるために(ノード/プロセッ
サユニット)、識別されたノードの一つの、最小の番号が付されたプロセッサユ
ニット20で作動するMON2プロセスを識別するメッセージを構築する。この
時点で、MON2のみがコーディネータ・プロセスであり(ノードB、プロセッ
サユニット20(PU-4))、これは自身の識別に応答する。ステップ92で、I
P52がREQUEST(1)を発して、コーディネータ・プロセスに、ノードAのプロセ
ッサユニット20にMONプロセスを生成する許可を依頼する。再ロード・オペ
レーション90は前記のように続行する。
【0041】 − IP52の要求に応答するために、コーディネータは、REQUEST(1)で識別
されたノードのために、最小の番号が付されたプロセッサユニット20に関する
構成テーブルを調べ、プロセッサユニットのMONプロセスへのメッセージを送
る。何の返答もない場合、コーディネータ・プロセスが、識別されたノードのプ
ロセッサユニットが記載されているか否かを調べるために、遷移テーブル(図3
b)をチェックし、そうであれば、CPUダウンオペレーションを予定し実行す
る。そして、MONプロセスがノードの最小の番号が付されたプロセッサユニッ
ト20にMONプロセスが見出され、ノードのプロセッサユニットが遷移テーブ
ル86に記載されていない(または記載されていてもCPUダウンオペレーショ
ンにより取り除かれている)場合、REQUEST(1)に許可を与える。
【0042】 − その後、IP52がノードA(PU-0・・・PU-3)の各プロセッサユニット
22にMONプロセスを生成し、次に、各々対応するプロセッサユニットのメモ
リ素子24に、関連するメモリデータセグメント領域24(24(0), 24(1), 24(2
), 24(3))を生成する。
【0043】 − ステップ96は、IPがノードBのコーディネータ・プロセスへ他の要求
を送ること、およびもしあればノードAの残りのプロセッサユニット20、PU-0
・・・PU-3に関する再ロード・オペレーションを完了することを要求することを
終える。
【0044】 − 要望により、コーディネータが各プロセッサユニット20にMON2プロ
セス56を、最小の番号が付されたプロセッサユニット(PU-0)から始まり最大
(PU-3)まで連続的に生成して、前述のようにプロセッサユニット20に関する
それらの関連性を定める。各々のMON2が生成されるので、コーディネータ・
プロセスが遷移テーブル86を更新して、それをクラスタシステム10の全ての
活性MON2プロセス56に分散する。
【0045】 − その後、コーディネータ・プロセスは、ノードAのIP52に終了を返答
し、そのクラスタ・サービス・プロセスに対するそれ自身の通知を終了する。
【0046】 さらに、ノードAのクラスタ監視コンポーネント42aは、ノードB,C,D
の対応部分と通信を行い、それらにノードAでは始動/再ロードオペレーション が完了したことを通知する。すでに「立ち上がっている(UP)」ノードBは何の
反応もしない。ノードC,Dの各々は前述のように、次のノードであるか否かを
チェックし、そうであれば、ノードAで成された方法で、そのノードの各プロセ
ッサユニット22にMONプロセスおよびMON2プロセスをインストールする
ために、始動/再ロード手順70を開始する。
【0047】 最終的に、クラスタシステム10の全てのプロセッサユニット20が初期化さ
れ、各々MONプロセス、MON2プロセスをもつことになる。MON2プロセ
ス56が生成された際に更新されて分散された遷移テーブル86が、そのノード
の全てのMON2プロセッサにより、各ノードに保有される。
【0048】 始動/再ロード手順70,90が、各メモリセグメント領域24(N)を確立
することで、事実上別個の独立した実行環境を提供する。メモリユニット24は
なお共有のメモリ領域(そこには共有された全体的な変数とデータ構造がある)
を有しているが、各プロセッサユニット20に関連するメモリセグメント領域2
4(N)は、プロセッサユニット20で実行中のプロセスにのみ相互に排他的な
アクセスを提供する。この細分化と割り当てが、TMFオペレーションのために
、ノード12の各プロセッサユニット20によってアクセスされる必要があるデ
ータ構造に関する、メモリ競合を低減するよう作用する。この利点から、プロセ
ッサユニット22がノードに付加される場合、それ自身の実行環境によってメモ
リ競合が最小に保たれということが分り、プロセッサユニットの付加による拡張
が処理能力の付随する拡大を見せる。
【0049】 TMFのためのクラスタシステム10に関する最初の始動/再ロードオペレー
ションと、図3Dの完全な遷移リスト86を含むクラスタイメージを確立するこ
とに加えて、さらに本発明は、ノードの故障とその後のノードの置換えを説明す
るためのシステムイメージを修正できる。
【0050】 故障ノード12の検出が以下の方法で行われる。米国特許第4,817,091で教示 される方法により、全ノードのクラスタ監視コンポーネント42aが定期的に「
自分は活動状態である」というメッセージを送る。簡単に説明すると、この方法
は多重プロセッサシステムにおいて、各プロセッサユニットが定期的に「自分は
活動状態である」というメッセージを相互に送る。プロセッサユニットの一つが
「自分は活動状態である」というメッセージを送れない場合には、第2のプロセ
ッサが肩代わりをする。
【0051】 ここでは、プロセスが少し異なっている。クラスタ監視プロセスが定期的な「
自分は活動状態である」というメッセージを相互にに送る。「自分は活動状態で
ある」というメッセージを送ることができないノードに気付いたクラスタ監視コ
ンポーネント42aは、クラスタ・サービス・プロセス48に通知する。これが
ノードダウン手順110の始まりであり(ステップ112)、図7に示されてい
る。ステップ114で、クラスタ・サービス・プロセス48がノードの全MON
2プロセス56に通知し、次に、故障ノードのテーブルからのプロセッサユニッ
トの識別子を消去することによって、関連する遷移テーブル86を更新する。
【0052】 図7のノードダウン手順の検討のために、ノードBが故障していると想定する
。ノードBの、最小の番号が付されたプロセッサユニット22(PU-4)にコーデ
ィネータ(MON2)プロセスがインストールされている。ステップ116でM
ON2プロセスがその遷移テーブルを更新する場合、最初に構成テーブル60を
チェックして故障ノードBのプロセッサユニット20の識別を決定する。故障ノ
ードがコーディネータ・プロセスを含んでいることが分ると、次のノード12の
最小の番号が付され、遷移テーブル86(つまりPU-0に関連したMON2)で示
されるプロセッサユニット20のMON2プロセス56が、コーディネータ・プ
ロセスの責任を引き継ぐ。全てのMON2プロセス56が遷移テーブルを更新し
て、故障ノードB(PU-4, PU-5)に関するプロセッサ識別子を消去し、取り除か
れたエントリの右側のプロセッサ識別子を、消去されたプロセッサユニットのエ
ントリの数だけ左側に移動する。
【0053】 例えば、図3DはノードBの故障の前の遷移テーブル86を示し、ノードBの
プロセッサユニット20(PU-4)がコーディネータ・プロセスをもっているよう
に識別する。ノードBの故障により、全てのMON2プロセス56をエントリ4
,5から取り除き、右側の全エントリ(図3Dに示される)が左側に2個のエン
トリ分だけ移動すると遷移テーブルは、図3Eで示される遷移テーブル86’と
なる。エントリ86a’の内容を用いて新しい遷移テーブル86’がノード/プ
ロセッサユニットを識別し、その結果、新しいコーディネータ・プロセスが存在
することになる。つまり、コーディネータ・プロセスを用いて先に存在していた
ノード12が故障したので、MON2プロセス56がコーディネータ状態を引き
継ぐことになる。
【0054】 ノードA(PU-0)の最小の番号が付されたプロセッサユニット20のMON2
プロセス56が、コーディネータ・プロセスの義務を引き継ぎ、故障ノードのプ
ロセッサユニット22に関する、CPUダウンオペレーションを逐次行う。従っ
て、まずプロセッサユニット20(PU-4)を取得して、コーディネータ・プロセ
スがP_TMPを伝達し、プロセッサユニット20(PU-4)による取引状態の所
有権を獲得することを告げる。記憶されているP_TMPが、各取引に関するT
CBをクラスタ内に保存し、さらに現在の取引状態を保存する。つまり、プロセ
ッサユニット20(PU-4)による取引状態の所有権を獲得するよう告げた場合、
P_TMPは取引を中断するか(つまり、他のどこかで開始されるよう最初に戻
る)、または、取引が進んで保存できない場合、P_TMPが取引を保存できる
【0055】 コーディネータ・プロセスはノードの連続的な各々のプロセッサユニット22
に対して同様のCPUダウンを行う。ここで、プロセッサユニット22(PU-5)
が残されている。 コーディネータ・プロセスが、故障ノードのプロセッサユニット20の各取引
に関するP_TMPに移動された所有権をもつ場合、ノードダウンオペレーショ
ンが終了される。
【0056】 故障ノードBがクラスタに戻ってくると仮定する。パワーアップの場合、NT
、クラスタ監視プロセス、クラスタ・サービス・プロセス44,46,46がノ
ードBに送り込まれる。クラスタ・サービス・プロセス48がIP52を生成し
、これは始動/再ロード手順70の最初のステップ72である。ステップ74( 図6の再ロードオペレーション90)において決して第1または最も古いノード
ではないIP52が、図6の再ロードオペレーション90に進む。再ロードオペ
レーション90は前記と同様に行われる。つまり、ステップ98で、コーディネ
ータが各プロセッサユニット20に関してMON2プロセス54を生成すること
で、再ロードオペレーションを完了する場合、プロセッサユニット20によって
先に開始された全ての取引が中断されずに、または保存されず残っていないか確
定するためにP_TMPに問い合わ、コーディネータ・プロセスは、P_TMP
に取引の所有権をプロセッサユニット20に戻すよう指示する。
【0057】 ノード12のプロセッサユニット20が、インストールされたMON2プロセ
スを有するノードBを立ち上げると、コーディネータ・プロセスが遷移テーブル
86をそれに応じて更新し、ノードBのIP52に、要求は問題なく完了したこ
とを戻し、ステップ100で、すでに述べたようにIP52が終了する。
【0058】 もちろん、故障ノード12がコーディネータ・プロセスを保有する唯一のもの
ではない場合には、連続的な変更は必要ない。しかし、この場合にもやはり説明
されたようにノードダウンオペレーションが実行される。
【図面の簡単な説明】
【図1】 本発明の説明のために簡略化されたクラスタシステムを示す。
【図2】 ローカルプロセッサ識別子とノード識別子を用いてプロセッサユニット識別子
とその関連を示している、構成テーブルを示す。
【図3A、図3B、図3C】 現在のコーディネータ・プロセスと、現在のコーディネータノードを機能させ
なくするプロセスコーディネータ・プロセスとの遷移位置の順番(プロセッサユ
ニット識別により)を含んでいる種々の遷移テーブルの構成を示す。
【図3D、図3E】 コーディネータ・プロセスが配置されている図1のノードの、故障の前と後の
完全な遷移テーブルを示す。
【図4】 本発明によりインストールされた図1の各プロセッサユニットで実行されるT
MFプロセスの概念図である。
【図5】 ノードの個々のプロセッサユニットを初期化するために使用される始動/再ロ ード手順のステップを示すフローチャートである。
【図6】 図5の対の始動/再ロード手順を構成する再ロードオペレーションのステップ を示すフローチャートである。
【図7】 クラスターイメージから、故障ノードのプロセッサユニットを取り除くための
ステップす示すフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カーリー ウィリアム ジェイ アメリカ合衆国 カリフォルニア州 95117 サン ホセ メイプルウッド ア ベニュー 457 Fターム(参考) 5B045 GG01 HH01 HH02 JJ45

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 通信可能に相互に接続されている複数のプロセッシングノー
    ドを含み、複数のプロセッシングノードの少なくとも幾つかは、2つまたはそれ
    以上のプロセッサユニットと共有メモリとを有する、対称プロセッシングシステ
    ムを備えるプロセッシングシステムにおいて、 a)前記複数のプロセッシングノードの順番を決定し、 b)前記複数のプロセッシングノードのうちの最初の順番のノードの第1プロセ
    ッシングユニットで初期化プロセスを開始し、 c)前記初期化プロセスは、前記第1プロセッシングユニットの第1監視(MO
    N)プロセスを開始し、さらに、前記第1プロセッシングユニットに関するMO
    Nプロセスの関連性を定め、 d)前記第1のMONプロセスは、 i)前記第1プロセッシングユニットに関して共有メモリ内に第1メモリセグ メントと ii)前記第1プロセッシングユニットで実行されるコーディネータプロセス とを生成し; e)前記初期化プロセスは、前記複数のノードの前記第1ノードに残りのプロセ
    ッサユニットがあればそこで第2のMONを開始させる再ロードプロセスを送り
    出し、 f)その後、前記複数のノードの他の各々に、その順番に応じて第2初期化プロ
    セスを生成し、前記複数のノードの他の各々の各プロセッサユニット関して、M
    ON、前記共有メモリ内の第2メモリセグメント、およびこのようなプロセッサ
    ユニットに関連性をもつMON2プロセスを生成する、 プロセッシングシステムに計算機能をインストールする方法。
  2. 【請求項2】 前記第1初期化プロセスは、MONおよびMON2プロセス
    が生成された後に終了する、請求項1に記載の方法。
  3. 【請求項3】 前記複数のノードの各々の前記第2初期化プロセスは、MO
    NおよびMON2プロセスがこのようなノードの各プロセッサユニットに関して
    生成された後に終了する、請求項2に記載の方法。
  4. 【請求項4】 通信可能に相互に接続されている複数のプロセッシングノー
    ドを含み、複数のプロセッシングノードの少なくとも幾つかは、2つまたはそれ
    以上のプロセッサユニットと共有メモリとを有する、対称プロセッシングシステ
    ムを備えるプロセッシングシステムにおいて、 a)前記複数のプロセッシングノードの順番を決定し; b)前記複数のプロセッシングノードの各々を逐次初期化するものであって、次
    の順番に従う、 1)前記複数のノードの第1ノードの第1プロセッサユニットに、第1の監視
    プロセスと、コーディネータプロセスとを生成し、前記第1の監視プロセスは、
    前記第1のプロセッサユニットに関する共有メモリ内にメモリセグメントを生成
    し、 2)前記第1ノードの全ての残りのプロセッサユニットの各々に、第2のMO
    Nプロセスと、前記第1ノードに関する共有メモリ内に第2のメモリセグメント
    とを生成し、さらに 3)あとに続くノードの各プロセッサユニットに、第2のMONプロセスと、
    前記第1ノードに関する共有メモリ内に第2のメモリセグメントとを生成する、
    プロセッシングシステムに計算機能をインストールする方法。
  5. 【請求項5】 前記コーディネータプロセスは、システムのプロセッサユニ
    ットの順番を識別する遷移テーブルを構築し、前記順番は各々あとに続くノード
    を示し、次の順番のプロセッサユニットは後継のコーディネータプロセスを生成
    し、前のコーディネータ・プロセスを機能させなくする請求項4に記載の方法。
JP2000514195A 1997-09-30 1998-09-30 多重ノードクラスタにおける多重プロセッサノードの逐次及び確実な始動及び/又は再ロード方法 Pending JP2001518660A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/940,348 US5964838A (en) 1997-09-30 1997-09-30 Method for sequential and consistent startup and/or reload of multiple processor nodes in a multiple node cluster
US08/940,348 1997-09-30
PCT/US1998/020393 WO1999017197A1 (en) 1997-09-30 1998-09-30 Method for sequential and consistent startup and/or reload of multiple processor nodes in a multiple node cluster

Publications (1)

Publication Number Publication Date
JP2001518660A true JP2001518660A (ja) 2001-10-16

Family

ID=25474674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000514195A Pending JP2001518660A (ja) 1997-09-30 1998-09-30 多重ノードクラスタにおける多重プロセッサノードの逐次及び確実な始動及び/又は再ロード方法

Country Status (5)

Country Link
US (1) US5964838A (ja)
EP (1) EP1019814B1 (ja)
JP (1) JP2001518660A (ja)
DE (1) DE69805826T2 (ja)
WO (1) WO1999017197A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309332A (ja) * 2005-04-26 2006-11-09 Nec Corp 計算機システム、メモリ初期化方法、および計算機システムのプログラム

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360303B1 (en) * 1997-09-30 2002-03-19 Compaq Computer Corporation Partitioning memory shared by multiple processors of a distributed processing system
US6243744B1 (en) * 1998-05-26 2001-06-05 Compaq Computer Corporation Computer network cluster generation indicator
US6311217B1 (en) * 1998-06-04 2001-10-30 Compaq Computer Corporation Method and apparatus for improved cluster administration
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6618377B1 (en) * 1999-03-30 2003-09-09 Cisco Technology, Inc. Flexible scheduling of network devices within redundant aggregate configurations
US7076783B1 (en) 1999-05-28 2006-07-11 Oracle International Corporation Providing figure of merit vote from application executing on a partitioned cluster
US6871222B1 (en) 1999-05-28 2005-03-22 Oracle International Corporation Quorumless cluster using disk-based messaging
US7020695B1 (en) * 1999-05-28 2006-03-28 Oracle International Corporation Using a cluster-wide shared repository to provide the latest consistent definition of the cluster (avoiding the partition-in time problem)
US7996843B2 (en) 1999-08-25 2011-08-09 Qnx Software Systems Gmbh & Co. Kg Symmetric multi-processor system
US6457102B1 (en) * 1999-11-05 2002-09-24 Emc Corporation Cache using multiple LRU's
US6412002B1 (en) * 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6658587B1 (en) 2000-01-10 2003-12-02 Sun Microsystems, Inc. Emulation of persistent group reservations
US6862613B1 (en) 2000-01-10 2005-03-01 Sun Microsystems, Inc. Method and apparatus for managing operations of clustered computer systems
US6748429B1 (en) 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
US6789213B2 (en) 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
US6769008B1 (en) 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
US6757836B1 (en) 2000-01-10 2004-06-29 Sun Microsystems, Inc. Method and apparatus for resolving partial connectivity in a clustered computing system
US7280529B1 (en) * 2000-05-20 2007-10-09 Ciena Corporation Providing network management access through user profiles
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US7185076B1 (en) * 2000-05-31 2007-02-27 International Business Machines Corporation Method, system and program products for managing a clustered computing environment
US6807557B1 (en) 2000-05-31 2004-10-19 International Business Machines Corporation Method, system and program products for providing clusters of a computing environment
US6973473B1 (en) 2000-05-31 2005-12-06 International Business Machines Corporation Method, system and program products for managing identifiers of components of a clustered environment
US6801937B1 (en) 2000-05-31 2004-10-05 International Business Machines Corporation Method, system and program products for defining nodes to a cluster
US6829765B1 (en) 2000-07-18 2004-12-07 International Business Machines Corporation Job scheduling based upon availability of real and/or virtual resources
EP1244016A1 (en) * 2001-03-23 2002-09-25 Hewlett-Packard Company User access pattern tracking of computer resources
CA2365729A1 (en) * 2001-12-20 2003-06-20 Platform Computing (Barbados) Inc. Topology aware scheduling for a multiprocessor system
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
US20040068667A1 (en) * 2002-10-03 2004-04-08 International Business Machines Corporation Method and apparatus for securing and managing cluster computing in a network data processing system
US8037169B2 (en) * 2005-05-18 2011-10-11 Oracle International Corporation Determining affinity in a cluster
US7493400B2 (en) * 2005-05-18 2009-02-17 Oracle International Corporation Creating and dissolving affinity relationships in a cluster
US7814065B2 (en) * 2005-08-16 2010-10-12 Oracle International Corporation Affinity-based recovery/failover in a cluster environment
US20070168507A1 (en) * 2005-11-15 2007-07-19 Microsoft Corporation Resource arbitration via persistent reservation
US7958513B2 (en) * 2005-11-17 2011-06-07 International Business Machines Corporation Method, system and program product for communicating among processes in a symmetric multi-processing cluster environment
US8452846B2 (en) * 2010-08-12 2013-05-28 Talari Networks Incorporated Adaptive private network asynchronous distributed shared memory services
US10203992B2 (en) * 2016-05-12 2019-02-12 Futurewei Technologies, Inc. Worker node rebuild for parallel processing system
CN107885608A (zh) * 2017-09-30 2018-04-06 惠州市德赛西威汽车电子股份有限公司 一种利于分析开机错误的方法
CN113294374A (zh) * 2021-07-27 2021-08-24 亿昇(天津)科技有限公司 一种多联机磁悬浮鼓风机控制方法及控制系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0398124A (ja) * 1989-09-11 1991-04-23 Nec Eng Ltd マイクロプログラムのダウンロード方式
JPH0713942A (ja) * 1993-06-25 1995-01-17 Hitachi Ltd 複数のプロセッサを備える処理装置
JPH0736529A (ja) * 1993-07-15 1995-02-07 Mitsubishi Electric Corp 数値制御装置の制御ソフトウェア実行システム
JPH07152695A (ja) * 1993-11-30 1995-06-16 Fujitsu Ltd 共有メモリアクセス方式
JPH0816534A (ja) * 1994-06-29 1996-01-19 Mitsubishi Electric Corp マルチプロセッサシステム
JPH09167146A (ja) * 1995-11-09 1997-06-24 Electron & Telecommun Res Inst クラスター基盤の並列処理コンピューターのための階層クロスバー相互連結網

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US5452415A (en) * 1992-03-26 1995-09-19 Alcatel Network Systems, Inc. Method and system for automatically displaying and configuring a network monitoring system
US5715463A (en) * 1992-03-31 1998-02-03 International Business Machines Corporation Installation utility for device drivers and utility programs
US5371852A (en) * 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5535403A (en) * 1993-04-12 1996-07-09 International Business Machines Corporation Method and apparatus for displaying clusters on a computer network
JP3526474B2 (ja) * 1994-07-06 2004-05-17 富士通株式会社 ネットワークにおける配布情報管理システム
US5612865A (en) * 1995-06-01 1997-03-18 Ncr Corporation Dynamic hashing method for optimal distribution of locks within a clustered system
US5666486A (en) * 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework
JP3698761B2 (ja) * 1995-07-19 2005-09-21 富士通株式会社 情報転送方法及び情報転送装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0398124A (ja) * 1989-09-11 1991-04-23 Nec Eng Ltd マイクロプログラムのダウンロード方式
JPH0713942A (ja) * 1993-06-25 1995-01-17 Hitachi Ltd 複数のプロセッサを備える処理装置
JPH0736529A (ja) * 1993-07-15 1995-02-07 Mitsubishi Electric Corp 数値制御装置の制御ソフトウェア実行システム
JPH07152695A (ja) * 1993-11-30 1995-06-16 Fujitsu Ltd 共有メモリアクセス方式
JPH0816534A (ja) * 1994-06-29 1996-01-19 Mitsubishi Electric Corp マルチプロセッサシステム
JPH09167146A (ja) * 1995-11-09 1997-06-24 Electron & Telecommun Res Inst クラスター基盤の並列処理コンピューターのための階層クロスバー相互連結網

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309332A (ja) * 2005-04-26 2006-11-09 Nec Corp 計算機システム、メモリ初期化方法、および計算機システムのプログラム
JP4569368B2 (ja) * 2005-04-26 2010-10-27 日本電気株式会社 計算機システム、メモリ初期化方法、および計算機システムのプログラム

Also Published As

Publication number Publication date
US5964838A (en) 1999-10-12
EP1019814B1 (en) 2002-06-05
WO1999017197A1 (en) 1999-04-08
DE69805826D1 (de) 2002-07-11
EP1019814A1 (en) 2000-07-19
DE69805826T2 (de) 2003-03-27

Similar Documents

Publication Publication Date Title
JP2001518660A (ja) 多重ノードクラスタにおける多重プロセッサノードの逐次及び確実な始動及び/又は再ロード方法
US6889253B2 (en) Cluster resource action in clustered computer system incorporation prepare operation
US6574749B1 (en) Reliable distributed shared memory
KR100326982B1 (ko) 높은 크기 조정 가능성을 갖는 고 가용성 클러스터 시스템 및 그 관리 방법
US7349970B2 (en) Workload management of stateful program entities
US6671704B1 (en) Method and apparatus for handling failures of resource managers in a clustered environment
KR101159322B1 (ko) 오동작 허용 분산 컴퓨팅 시스템에서의 레플리카 세트의효율적인 변경
US20050283658A1 (en) Method, apparatus and program storage device for providing failover for high availability in an N-way shared-nothing cluster system
EP0457116A2 (en) Optimization of commit procedures
US20030079093A1 (en) Server system operation control method
US7480816B1 (en) Failure chain detection and recovery in a group of cooperating systems
CN100359508C (zh) 用于处理集群计算机系统的合并协议的方法和装置
Fagg et al. Building and using a fault-tolerant MPI implementation
Hariri et al. Architectural support for designing fault-tolerant open distributed systems
CN112559174A (zh) 一种区块链并行交易处理方法及装置
Pandey et al. LIFT-A new linear two-phase commit protocol
KR100323255B1 (ko) 업무인계시스템
US11522966B2 (en) Methods, devices and systems for non-disruptive upgrades to a replicated state machine in a distributed computing environment
US8095826B1 (en) Method and apparatus for providing in-memory checkpoint services within a distributed transaction
Agrawal et al. A nonblocking quorum consensus protocol for replicated data
Schäfer et al. Replication schemes for highly available workflow engines
Spataru Decentralized and fault tolerant cloud service orchestration
Bhargava Resilient concurrency control in distributed database systems
CN118677899A (zh) 基于dns和ctdb的分布式负载均衡调度方法及装置
Hasebe et al. Self-stabilizing passive replication for internet service platforms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070723

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071217