JP3108042B2 - マルチノード情報処理システムにおけるチケット分配方法 - Google Patents

マルチノード情報処理システムにおけるチケット分配方法

Info

Publication number
JP3108042B2
JP3108042B2 JP09207663A JP20766397A JP3108042B2 JP 3108042 B2 JP3108042 B2 JP 3108042B2 JP 09207663 A JP09207663 A JP 09207663A JP 20766397 A JP20766397 A JP 20766397A JP 3108042 B2 JP3108042 B2 JP 3108042B2
Authority
JP
Japan
Prior art keywords
ticket
node
register
generator
tick
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.)
Expired - Fee Related
Application number
JP09207663A
Other languages
English (en)
Other versions
JPH1078940A (ja
Inventor
アラン・ブドウ
クリスチヤン・ビヤール
ダニエル・ドレ
Original Assignee
ブル・エス・アー
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 ブル・エス・アー filed Critical ブル・エス・アー
Publication of JPH1078940A publication Critical patent/JPH1078940A/ja
Application granted granted Critical
Publication of JP3108042B2 publication Critical patent/JP3108042B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • 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/468Specific access rights for resources, e.g. using capability register

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチノード情報
処理システムにおけるチケットの分配方法を対象とす
る。マルチノード情報処理システムは、電気式または光
学式伝送線によって相互接続されているノードと呼ばれ
る遠隔情報処理システムから構成されている。
【0002】本発明は特に、ノードが各々固有のオペレ
ーティングシステムを実行、及び/又は各々がマルチプ
ロセッサのノードシステムを構成する複数のプロセッサ
を有し、及び/又はリンクがこれらのノード間の通信専
用である、マルチノード情報処理システムに適する。リ
ンクは、直列のビット列(直列リンク)の形であれ、並
列に配置された連続する区分(並列リンク)の形であれ
メッセージを運ぶことができる。
【0003】本発明はまた、必然的に、この方法を実施
するマルチノード情報処理システムと、この方法または
該情報処理システムを利用するための情報処理ノードな
らびに集積回路を対象とする。
【0004】マルチタスクアプリケーションプログラム
の必要性から、動的に一つの識別子を一つのタスクに割
当てる、あるいは一つのタイミングラベルを一つの事象
に割当てることが必要となる。
【0005】一つのタスクを他のタスクから識別するた
めに、タスクの識別子はシステム中では唯一のものでな
ければならないことがわかる。同様に、事象の時間的な
連続における一つの事象の位置を識別するために、ラベ
ルを順序付けしなければならない。
【0006】識別子及びラベルは、システムが提供する
メカニズムによって得ることができる。このメカニズム
は、一つの識別子または一つのラベルの要求に応答し
て、いかなるエラーも防ぐために十分な時間的間隔及び
空間中で唯一つの数字を与える機能を有している。この
数字は一つの番号に対応しており、チケットと呼ばれ、
またメカニズムは、チケットの分配サービスを提供す
る。チケットは、通常、定められた順序で分配され、チ
ケットの要求の時間的順序に応じて単調に増減する。チ
ケットの分配は、通常はソフトウェアエアのコンポーネ
ントによって行われる。
【0007】ソフトウェアエアのコンポーネントは、チ
ケットの分配を集中的に管理する。この集中化は、チケ
ットを要求する操作ソフトウェアとチケットの分配ソフ
トウェアのコンポーネントとの間の通信を必要とする。
したがってこれは、プロトコルの実行を行い、データの
物理的伝達を生じさせるノード間通信のソフトウェア及
びハードウェアのメカニズムを前提としている。実際
に、ノード間通信管理のソフトウェアによる実行は、シ
ステムの動作ソフトウェアを複雑にし、チケットの分配
を遅らせる。
【0008】さらに、現在では、稼働率が高いマルチノ
ード情報処理システムに対する要求が増大している。こ
の品質は、ハードウェアまたはソフトウェアの故障、さ
らにはシステムの一部の損失が生じた場合でも、システ
ムがその機能性を保つことができなければならないこと
を意味している。したがって、この場合、チケット分配
もその機能性を保たねばならない。ソフトウェアの解決
策は、ノード中に分配サービスを分配する、あるいはサ
ービスを二重化することである。これら二つの解決策
は、システム全体においてチケットの分配の一貫性を確
立するために補足的なノード間通信を必要とする。これ
は、システムの動作ソフトウェアを一層複雑にする。さ
らに、ノード間通信の数を増大させることによって、ソ
フトウェアはチケットの分配を著しく遅らせる。
【0009】
【発明が解決しようとする課題】本発明は、マルチノー
ド情報処理システムの操作ソフトウェアの負担を軽減す
るチケットの分配を目的とする。
【0010】他の目的は、ノード間通信の数または時間
あるいはその両方を著しく減少させることにより、チケ
ットの分配性能を改善することにある。このとき、分配
は、少ない待ち時間と大きなスループットで行うことが
できる。
【0011】他の目的は、高稼働率タイプのマルチノー
ドシステム中で上記の利点を保つことにある。
【0012】他の目的は、チケットの分配方法及びその
利用を簡素化することにある。
【0013】本発明は、マルチノード情報処理システム
において、タスクまたは事象を識別するチケットの分配
方法であって、システムのノードの中からチケットの分
配のマスタノードを決定し、チケット発生ハードウェア
手段をそこに組込み、前記ノード中にチケットジェネレ
ータのアドレスを保存し、さらに、前記ノードのいずれ
か一つがチケットを要求する際に、要求側ノード中で前
記アドレスを読取り、チケットジェネレータにアクセス
することを特徴とするチケットの分配方法を対象とす
る。
【0014】この結果として、システム中のタスクまた
は事象を識別するチケットの分配メカニズムを有するマ
ルチノード情報処理システムであって、該メカニズム
が、システムのノードとして、各チケットの分配セルに
分散配置されており、マスタノード中にチケット発生ハ
ードウェア手段を有し、各ノード中にチケットジェネレ
ータのアドレスを記憶する手段と、対応するノードの記
憶手段とマスタノードのチケットのジェネレータとへの
アクセス制御手段とを有する、ことを特徴とするマルチ
ノード情報処理システムが得られる。
【0015】本発明は、以上に定義されたシステムまた
は方法を利用するためのチケットの分配セルを組み込ん
だ集積回路と情報処理ノードも対象とする。
【0016】添付の図面を参照して、以下に本発明の特
徴と利点を説明する。
【0017】
【発明の実施の形態】図1に示す情報処理システムSY
Sは、各々固有のオペレーティングシステムを有し、そ
の結果互いに独立して動作する複数の処理ノードN(N
x、Ny、…)を備えている。ノードNは、リンクLに
よって互いに接続されている。ここに示されている例に
おいては、リンクLは、双方向直列データリンクであ
り、たとえば、LxyがノードNxとNyをつなぐリン
クを表しているように、参照番号として、それぞれのリ
ンクがつないでいる二つのノードの番号が記されてい
る。直列によるデータのノード間伝送リンクの使用は、
従来の並列データ伝送リンクに比べて、接続に場所をと
らない。したがって、他のノードとともにより多くの2
地点間接続数の使用と、より多くの同時通信の伝送が可
能になる。
【0018】各ノードは、複数のプロセッサPを備えて
おり、その参照番号はノードの番号を示し、場合によっ
ては、ノード中のプロセッサの命令番号を示している。
すなわち、Pxmは、命令mのノードNxのプロセッサ
を指している。本実施形態のシステムSYSは、各々6
個のプロセッサをもつ八個のノードを備えている。ここ
で示す例では、各プロセッサPは、プロセッサと同じ集
積回路中に組込むことができる一つのキャッシュメモリ
CMに接続されているものとする。各ノードはまた、キ
ャッシュメモリCMと、メモリMと、入出力サブシステ
ムIOSと、ノード間通信モジュールISL(Inte
r System Link)に接続されているシステ
ムバスSBを備えている。ここに示されているノードN
xとNyにおけるこれらのコンポーネントの各々には、
対応するノードのインデックスxまたはyが付されてい
る。システムの他のあらゆるモジュールと同様に、モジ
ュールISLxは、ノードNxのシステムバスSBxと
の内部インターフェースを有し、さらに、ノードNxを
七個の他のシステムノードにつなぎ、リンクLxyを含
むリンクLとの外部インターフェースを示す。ここに示
されている各モジュールISLは、集積回路IC中に含
めることが好ましい。
【0019】図2は、必要ではないが有利な例として示
したシステムSYSの特徴を示している。この特徴によ
れば、システムSYS中には、2種類のアドレッシング
空間、つまりメモリ空間MSと入出力空間ISLIOが
存在する。メモリ空間は、通常メモリによって形成され
る空間であり、これに対して、入出力空間ISLIO
は、モジュールの集合ISLが含んでいるレジスタのた
めに使用可能なアドレッシング空間である。これら二つ
の空間には、システムバスSBにおける要求ビットTの
二つの状態が表しているそれぞれの二つのタイプのアク
セスが対応している。要求ビットT=0は、メモリ空間
MS中のアクセスに対応しており、T=1はISLIO
中のアクセスに対応している。説明を分かりやすくする
ために、システムバスによって伝達され、それぞれ二つ
の空間に関連した要求は、ここでは異なる名称がつけら
れている。メモリ空間用の要求Read/Write
と、ISLIO空間用のプログラミングされた入出力要
求PIO Load及びPIO Storeである。
【0020】モジュールISL中のアドレス空間ISL
IOは、アクセスが要求ビットT=1を有するベンチマ
ークによって行われるアドレス空間に対応していること
がわかった。この空間のアドレッシング容量は、たとえ
ば4ギガバイトである。空間ISLIOは、物理的にす
べてのノード中に分布している。図2はまた、図1に示
されているノードNxとNyとの間のこの分布を示して
いる。各ノードは、ここではそれぞれのシステムバスS
Bx、SBy、それぞれのメモリ空間MSx、MSy、
さらにそれぞれのモジュールISLx、ISLy中に物
理的に存在している空間の部分ISLIOによって概略
的に示されている。図2に概略的及び部分的に示されて
いる空間ISLIOは、モジュールISL中のアドレス
空間に関するものであり、ローカル空間LSPとグロー
バル空間GSPに分けられる。図2に斜線で示されてい
るローカル空間LSPは、モジュールISLが属してい
るノードによってのみアクセス可能なレジスタを含んで
いる。モジュールの同一のレジスタISLは、ノードが
いかなるものであれ、レジスタが属しているノードのプ
ロセッサPによって、同一アドレスにアクセスされる。
したがって、ローカル空間LSPのアドレスへの要求
は、決してリンクLを通して伝達されない。要するに、
空間LSPは、ノードにおけるプライベート空間であ
る。これは、破線で表されているISLIO空間中への
ローカル空間LSPxとLSPyのキャリーが、ISL
IO空間の同一のローカル空間LSP中で行われるとい
う事実によって、図2に概略的に示されている。図2で
示されているグローバル空間GSPは、あらゆるノード
システムSYSによってアドレスできるレジスタを含ん
でいる。グローバル空間GSPは、それぞれのノードの
モジュールISL中に物理的に配置された部分の数に分
割される。たとえば、図2の破線で表されているよう
に、空間ISLIOのグローバル空間GSPxとGSP
yは、モジュールISLxとISLy中に物理的に配置
される。したがって、グローバル空間GSPは、分割さ
れ物理的に分配されるアドレス空間である。たとえば、
アドレスビットのフィールドは、このアドレスに関連す
るレジスタが属するノードの識別を行うことができる。
【0021】ここに示されている例においては、モジュ
ールISLは、ハードウェアリソース、たとえば、アド
レスが空間ISLIOに属しているレジスタを有してい
る。ここで本実施形態では、要求側プロセッサは命令セ
ットを実行し、その間、LOADが、命令を実行するプ
ロセッサへの入力に対応する読取り命令を指定する一方
で、STOREがプロセッサの外への出力に対応する書
込み命令を指定する。命令LOADとSTOREがモジ
ュールISLのレジスタを対象とするとき、該レジスタ
のアドレスを含む要求PIO LoadまたはPIO
Storeは、発信プロセッサに対応するシステムバス
SB上に送られる。このレジスタを有するモジュールI
SLは、要求PIO LoadとPIO Storeを
受取り、それらを解釈する。要求PIO Loadは、
要求側プロセッサに伝達するためのモジュールISLの
レジスタの内容の読取り要求である。PIO Stor
e要求は、モジュールISLのレジスタ中では、要求側
プロセッサ中に存在し、システムバスSB上を経由する
データの書込み要求である。
【0022】プロセッサによる命令LOADとSTOR
Eの実行は、そのプロセッサが、送信した要求PIO
LoadとPIO Storeへの応答をシステムバス
から受取ると終了する。要求PIO Loadへの応答
はデータで構成されるのに対して、要求PIO Sto
reへの応答は、ACKで行われる。その一方で、各モ
ジュールISLは、モジュール内部のコンポーネントの
状態を変化させるためまたはそこで特定のアクションを
開始させるために制御することができる。この場合、制
御は、特定のアドレスへのPIO LoadまたはPI
O Store動作の形態をとる。こうして、たとえ
ば、PIO Store動作によって、アドレスは、と
るべきアクションを指定するのに対して、データは制御
をパラメータ化することができる。
【0023】図3は、PIO Addと記されたPIO
アドレスの一例を示している。ここに示されているアド
レスPIO Addは32ビットをもち、空間識別フィ
ールドSPACE_IDとリソース識別フィールドRE
S_IDの二つの主要部分を含んでいる。SPACE_
IDは、高位ビット、ここでは8ビット4:11からな
り、ISLIO空間中でコード化された識別を表し、た
とえば値0が空間ISLIOのローカル空間LSPを指
定し、値1−8は、N1−N8のそれぞれのノードに関
連するグローバル空間GSPを識別する。リソースの識
別フィールドRES_IDは、低位ビット20:31か
らなり、動作の対象とされるリソースのコード化された
識別、たとえばレジスタを与える。
【0024】アドレスPIOのデコードの原理は以下の
通りである。空間識別フィールドSPACE_IDが値
0をとる場合には、レジスタは空間ISLIOのローカ
ル空間LSP中にあり、要求はプログラミングされた入
出力の実行ローカルブロックLEXxに伝達される。こ
のローカルブロックは、対象となるノードNxのモジュ
ールISLx中に位置するハードウェアエレメントであ
り、図1に示されている。空間の識別フィールドSPA
CE_IDが、ノードNxのNODE_IDと記された
識別子に対応する場合には、要求はまた実行ローカルブ
ロックLEXcに伝達される。さもなければ、要求は、
このノードのブロックLEXyによって遠隔ノードNy
上で実行される。したがって、要求は、リンクLxyに
よって伝達され、応答は、システムバスSBx上を要求
側プロセッサまで伝達されるためにリンクLxyによっ
てノードNxに戻される。
【0025】図1はまた、ブロック図の形で、システム
SYSのモジュールISLの内部構造の一例を示してい
る。たとえば、モジュールISLxは、集積回路IC中
に含まれ、システムバスSBxに接続されているデコー
ダDECxと、リンクLとデコーダDECxに接続され
ているノード間リンクコントローラCTRxと、デコー
ダDECxに接続されている実行ローカルブロックLE
Xxを備えている。デコーダDECxはシステムバスS
BxとコントローラCTRxの信号を受取り、特にそれ
らの目的地であるノードを知り、その目的地に向かわせ
ることができるようにそれらの信号をデコードする。た
とえば、プロセッサPxmから発生し、デコーダDEC
xによってシステムバスSBxから受取った要求は、ノ
ードのアドレスがノードNxのアドレスに対応している
場合にはブロックLEXxに向かって、あるいハードウ
ェアレスが遠隔ノードNyを指定する場合にはコントロ
ーラCTRxに向かって案内される。相互に、リンクL
xyによって伝達され、コントローラCTRxによって
受取られた応答は、デコーダDECxによってシステム
バスSBxに向かってあるいはそこで処理されるために
ブロックLEXxに向かって案内される。
【0026】図1はまた、システムSYS中で利用され
る本発明によるチケット分配メカニズムMECの一例を
概略的及び部分的に示している。メカニズムMECは、
システムのノードにおいては、チケット分配のそれぞれ
のセルDISに分散されている。以下の説明を簡単にす
るために、システムの各ノードは、一つのセルDISを
含んでいると想定する。つまり、ここに示されているメ
カニズムMECは、システムSYSの八個のノードN中
に含まれている八個のセルDIS(DISx、DIS
y、…)で形成されている。
【0027】図4は、本発明によるチケットの分配セル
DISの好ましい構造の一例を概略的に示している。こ
の例によれば、セルDISは、各ノードN中で同じであ
り、対応するノードの通信モジュールISLの実行ロー
カルブロックLEX中に含まれている。セルは、基準レ
ジスタREFと、チケットジェネレータTICKと、カ
ウンタCOMPと制御装置CTLを備えている。制御装
置CTLは、カウンタCOMPとレジスタREFとチケ
ットジェネレータTICKに接続されている。チケット
ジェネレータTICKはまた、カウンタCOMPに接続
され、ここで示されている例においてはチケットレジス
タと呼ばれるレジスタで形成されている。制御装置CT
Lもまた、ブロックLEXの外側でノードのデコーダD
ECに接続されている。このように、レジスタREFと
TICKは、制御装置CTLを介して読取り及び書込み
にアクセス可能である。特定のノード(たとえばNx)
において、セル及びそのエレメントの指定には、そのノ
ードの番号が含まれる(DISx、CTLx、…)。
【0028】図5は、基準レジスタREFのフォーマッ
トの一例を示している。これは、チケットのアドレスフ
ィールドTICK_IDを含む4バイトのレジスタであ
る。フィールドTICK_IDは、チケットレジスタT
ICKの物理的なグローバルアドレスを表しており、こ
のレジスタへのアクセス経路を与える。基準レジスタR
EFは、空間ISLIOの二つのアドレスによって管理
され、REF−LOCAL−ADD及びREF−GLO
BAL−ADDと呼ばれる。ローカル空間LSPのロー
カルアドレスREF−LOCAL−ADDは、チケット
レジスタTICKへのアクセスを得るために読取り動作
PIO中で使用される。グローバル空間GSPのグロー
バルアドレスREF−GLOBAL−ADDは、後述す
るように、PIO Load動作中ではチケット分配器
の移動手順を要求するために、またPIO Store
動作中ではチケットレジスタへのアクセス経路TICK
を変更するために使用される。
【0029】図6は、チケットのレジスタTICKのフ
ォーマットの一例を示している。これは、三つのフィー
ルドを含む8バイトのレジスタベンチである。三つのフ
ィールドとは、チケットの有効性を表し、一つのビット
(およそ0ビット)で形成される有効性フィールドVA
Lと、セッション番号を表し、最初の二つのバイトの残
りのビット(ビット1:15)で形成されるセッション
フィールドSESSと、カウンタCOMPの値を表し、
続く6バイト(ビット:16−63)で形成されるカウ
ントフィールドCOUNTである。チケットレジスタT
ICKは、グローバル空間GSP中でアクセス可能であ
る。動作時には、基準レジスタREFのフィールドTI
CK_IDによって表されるアドレスで行われる読取り
動作PIO Loadが、チケットレジスタTICKの
内容を与え、カウンタCOMP及びチケットレジスタT
ICKの関連フィールドCOUNTを増分する。同一ア
ドレスにおける書込み動作PIO Storeは、フィ
ールドSESSとVAL中にデータを記録し、カウンタ
COMPをゼロにリセットする。セッションフィールド
SESSとカウントフィールドCOUNTは、チケット
番号を形成する。カウントフィールドCOUNTは、フ
ィールドSESSに示されたセッションと結びつく。フ
ィールドSESSは、システムSYS中の有効チケット
の唯一のレジスタへのアクセスの順序により各時間間隔
を識別する。したがって、フィールドSESSは、マス
タノード中でチケットジェネレータによるチケット分配
の連続する期間を表す。マスタノードが予め設定された
ノードである場合には、フィールドSESSは、ノード
あるいはチケットの分配メカニズムの障害と相次いで起
きる初期化を受けて次第に変化する。マスタノードを変
えられる場合には、フィールドSESSは、マスタノー
ドが変わるたびにまたはマスタノードの初期化のたび
に、もしくはその両方で次第に変化する。有効チケット
を発行するレジスタTICKのカウントフィールドCO
UNTは、フィールドSESSによって識別された時間
間隔中に進行しているアクセスを識別する。したがっ
て、このフィールドは、フィールドSESSによって識
別されたセッション中に、一つのチケットを得るために
このジェネレータにアクセスする時点で、マスタノード
のチケットジェネレータへのアクセス数を識別する。こ
れは、フィールドTICK_IDによって示されたアド
レスで行われる動作PIO Storeの時にゼロにリ
セットされることはすでに述べた。アクセスの順番は、
フィールドSESSとCOUNTの増分によって、増え
る方向で変化し、有効化はビットVAL=1によって表
されると想定できる。もちろん、減る方向にも変化でき
る。
【0030】制御装置CTLは、属しているセルDIS
のレジスタへ、または他のノードのセルDISのレジス
タへの読取りまたは書込みによるアクセスを実行する。
読取りアクセスによって、制御装置CTLは、セルDI
Sのレジスタの内容を獲得するのに対して書込みアクセ
スはそこにデータを記録する。制御装置CTLは、属し
ているノード番号とレジスタのアドレスREF及びTI
CKを知る。ノードの一つまたは複数のプロセッサによ
るアドレスREF−LOCAL−ADDへのレジスタR
EFの読取りアクセスは、チケットの要求であり、制御
装置CTLのアクションを開始させる。このアクション
は、読取りアクセスに応答してチケットを与えるために
チケットを獲得することである。チケットの単一性は、
いつでも唯一つの有効なチケットレジスタTICKしか
存在しないという事実に基づいている。この唯一の有効
なチケットレジスタを含むノードはマスタノードと呼ば
れ、有効チケットの分配セルDISはチケット分配器と
呼ばれる。したがって、マスタレジスタTICKだけが
そのフィールドVAL=1を有する。
【0031】本発明によるチケットの分配方法は、ここ
で対象となる例においては、それぞれ図7、8、9のフ
ローチャートに示されているように、チケットの獲得手
順TICK−GETと、誤り処理手順TICK−MIS
Sと、初期化手順INITを有している。
【0032】図10は、図7と8を参照して説明された
手順に関連するシステムSYSの四つのノード中に分布
されるチケットの分配メカニズムMECを概略的かつ部
分的に示す図である。図10は、対応するセルのレジス
タREFとTICKと、チケットの獲得TICK−GE
T及び誤り処理TICK−MISS手順の時にこれらの
レジスタがとる状態を表している。左側部分は手順TI
CK−GETに関連し、マスタノードがノードNyであ
り、チケットの要求ノードがノードNxであるものとす
る。右側部分は手順TICK−MISSに関連してい
る。
【0033】図7は、チケットの獲得手順TICK−G
ET手順段階を表すのに対して、この手順の間のレジス
タREFとTICKの状態は、図10に表されているノ
ードの左側部分に示されている。
【0034】段階1においては、システムSYSにおい
ては、ノードNx上で実行されるソフトウェアがチケッ
トを得ようとしている。この時、このソフトウェアを実
行するノードNxのプロセッサPxmは、空間ISLI
Oのローカル空間LSPのアドレスREF−LOCAL
−ADDにおいてレジスタREFxの読取り命令を処理
する。その結果、ノードNxのセルDISxのレジスタ
REFxの読取り要求REQx(要求PIO Loa
d)が生じる。デコーダDECxは、要求REQxを受
取り、それをデコードして、制御装置CTLxに伝達す
る。
【0035】段階2においては、制御装置CTLxは、
レジスタREFxを読取り、システムSYS中にチケッ
ト分配器DISのチケットレジスタのアドレスTICK
を与えるレジスタREFxのフィールドTICK_ID
を分析する。このレジスタはチケットのマスタレジスタ
と呼ばれる。
【0036】段階3では、制御装置CTLが、チケット
のマスタレジスタがノードNxのレジスタTICKxで
あるかどうかをチェックする。
【0037】ノードNxがマスタノードである場合には
段階4が行われる。この場合、レジスタREFxの内容
TICK_IDは、レジスタTICKxのアドレス(T
ICK_ID=TICKx_ADD)に対応する。この
段階は図10には示されていない。制御装置CTLx
は、チケットのレジスタTICKxを読取り、プロセッ
サPxmにその内容を伝達する。したがって、有効なチ
ケットレジスタTICKxへのアクセスの現セッション
が値Bを有し、このセッションにおけるこのレジスタへ
のアクセス数をpとすると、プロセッサPxmは、受取
ったチケットの内容を表すレジスタTICKxの以下の
内容を受取る・ TICKx:VALx=1、SESSx=B、COUN
Tx=p 次に、この同じ段階において、制御装置CTLxは、カ
ウンタCOMPxを一単位だけ増分する。したがって、
レジスタTICKxの新しいカウントフィールドCOU
NTもまた一単位だけ増分する(COUNTx=p+
1)。こうして、次のチケットの番号はB、p+1とな
る。
【0038】基準レジスタREFxによって与えられた
アドレスTICK_IDが、チケットのマスタレジスタ
が一つの遠隔ノード、たとえばノードNy、つまりマス
タノード中にあることを示している場合には段階5が行
われる(TICK_ID=TICKy_ADD)。制御
装置CTLxは、ノードNyのチケットレジスタTIC
Kyの読取りコマンドを送る。このコマンドは、デコー
ダDECxと、コントローラCTRxとリンクLxyと
コントローラCTRyとデコーダDECyとチケット分
配器DISyの制御装置CTLyを含むアクセス経路を
経由する。
【0039】この時、マスタレジスタTICKyがCT
Lxによってアクセス可能であるかどうかが問題とな
る。レジスタTICKyは、ノードNyの障害によっ
て、あるいは、マスタレジスタTICKyへのアクセス
経路中では、たとえばリンクLxyの障害によってアク
セスできなくなる。
【0040】マスタレジスタTICKyがアクセス可能
である場合には段階6が行われる。この時、制御装置C
TLyは、このレジスタの内容を読取り、その要求への
応答として要求側ノードNxにそれを送る。したがっ
て、レジスタTICKy中で読取られ、ノードNxに送
られたチケット番号は、SESSy=BとCOUNTy
=qとなる。ノードNxのモジュールISLxのコント
ローラCTRxは、応答を受取り、制御装置CTLxに
それを送る。レジスタTICKyの読取りに続いて、制
御装置CTLyは、カウンタCOMPyを増分し、その
結果レジスタTICKyのカウントフィールドCOUN
Tyも増分される(COUNTy=COUNTy+
1)。
【0041】段階7では、制御装置CTLxが、レジス
タの内容TICKyが有効であるかどうかをチェックす
る。有効性は、フィールドVALの値によって示され
(VAL=1)、レジスタTICKyがシステムSYS
中ではチケットのマスタレジスタであることを意味す
る。レジスタTICKyの内容が有効である場合には、
要求されたチケットが構成される。
【0042】マスタレジスタTICKyの内容が有効で
ある場合には段階8が行われる。したがって、制御装置
CTLxは、基準レジスタREFxの読取り要求REQ
xへの応答として要求側プロセッサPxmにチケットを
伝達する。
【0043】チケットレジスタTICKyはアクセス可
能であるが、その内容が有効でない場合には段階9が行
われる。このことは、レジスタTICKyを読取る時点
で、ノードNyがもはやマスタノードではなく、段階2
における基準レジスタREFxの読取りの瞬間から、レ
ジスタREFxによって指定されたマスタレジスタTI
CKyの読取りの瞬間までの間に、メカニズムMEC
が、マスタレジスタTICKyを無効にしながらも、別
のマスタレジスタを指定しそれを有効にしたことを意味
している。マスタレジスタの変化に対応する動作は、チ
ケットのマスタレジスタの移動またはチケット分配器の
移動と呼ばれるが、それについては以下に説明する。段
階9は、段階2に戻ることからなる。移動が終了した
ら、ノードNxは、新しいマスタノードからチケットを
受取る。さもなければ、このサイクルの繰り返しによ
り、ノードが、要求されたチケットを受取ることが可能
となる。
【0044】マスタレジスタTICKyがアクセス可能
でない場合には段階10が実行される。要求側ノードN
xの制御装置CTLxは、その要求に対して否定的な返
答を受取る。したがって、この段階は、障害の結果とし
てプロセッサPxmによって行われるチケット要求に対
する誤りを表している。この応答は、チケット分配手順
の誤り処理手順TICK−MISSを開始させる。
【0045】段階11は、図8中に示されているような
誤り処理続きTICK−MISSが、マスタレジスタの
移動手順P2を有すると仮定している。この時、手順T
ICK−GETの段階11は、段階9と同様の手順で、
段階2に戻りながら、チケットの要求を繰り返す。
【0046】図8は、誤り処理手順TICK−MISS
の一例を示している。この手順は、チケット獲得手順T
ICK−GETの段階10において開始される。
【0047】手順TICK−MISSは、システムSY
Sの性質によって条件付けられる。誤り処理は、システ
ムが、ハードウェアによって補強される高稼働率(high
availability)タイプかどうかによって異なる。
【0048】システムが高稼働率タイプでない場合に
は、誤り処理の手順P1が行われる。要求側ノードNx
の制御装置CTLxは、たとえば、プロセッサPxmの
要求REQxへの応答として、チケットレジスタTIC
Kxの無効な内容(VAL.=0)を送り返すことがで
きる。したがって、プロセッサPxmの進行中のタスク
は続行することができない。このタスクは終了あるいは
中断され、メッセージが、ノードNyの障害が原因で、
あるいは制御装置CTLxとチケットレジスタTICK
yとの間の経路で誤りが起きたことを知らせる。マスタ
ノードNyが再び有効になるまたはレジスタTICKy
が再びアクセス可能になる、あるいはまた、別のマスタ
レジスタが起動され、チケット分配メカニズムが再び初
期化されない限り、プロセッサPxmはこのタスクを新
たに実行することはできない。
【0049】システムがハードウェアによって強化され
る高稼働率タイプである場合には、手順P2が行われ
る。手順P2は、予備ノードNsに向けたアクセス不能
のチケットマスタレジスタTICKyの自動移動手順T
ICK−MIGと呼ばれる。手順P2の説明を行う前
に、初期化手順INITの説明が必要である。
【0050】チケット獲得手順TICK−GETが通常
に行われるためには、システムSYSのあらゆるノード
中に分散しているチケット分配メカニズムMECのレジ
スタREFとTICKのグループが、メカニズムMEC
の再始動の時に正確に初期化されなければならない。そ
のためには、初期化のソフトウェアルーチンが、第一の
マスタノード、この場合にはNyとなるために選択され
たノード中で実行される。
【0051】図9は、初期化手順INITを表すアルゴ
リズムの一例を示している。この手順では、すべて書込
み動作に対応する以下の段階が実行される。
【0052】段階1では、マスタノードNyが指定さ
れ、そのレジスタREFyとTICKyが初期化され
る。レジスタTICKyにおいては、フィールドVAL
が有効化され(VALy=1)、セッションフィールド
SESSyは、たとえば最初は数1でもよい予め設定さ
れた最初の値Aをとり、カウンタCOMPはゼロにセッ
トされる。ここからCOUNTy=0となる。レジスタ
REFyにおいては、フィールドTICK_ID中にレ
ジスタTICKyのアドレスが書込まれる(TICK_
ID=TICKy_ID)。
【0053】上述の手順TICK−GETが初期化の後
すぐに行われていれば、チケットは初期化においてTI
CKy番号をもっていたはずである。しかしながら、こ
こで説明し、図10に示した番号は、値qの別のセッシ
ョンBと別のカウントCOUNTを想定している。
【0054】初期化手順の段階2においては、予備ノー
ドNsが指定される。これは、システムの設計段階で選
択された単純な規則によって決定することができる。こ
こに示されている例においては、システムSYSは、予
備ノードNsとして、次の順番の番号を有するノード
(Ns=Ny+1)を指定する。この時、予備ノードの
レジスタは初期化される。チケットの予備レジスタTI
CKsにおいて、フィールドVALが無効になり(VA
Ls=0)、フィールドSESSsは、一つの単位だけ
増分されたマスタレジスタの最初の値Aをとり(SES
Ss=A+1)、カウンタCOMPはゼロにセットされ
る(COUNTs=0)。基準予備レジスタREFsに
おいては、フィールドTICK_ID中にレジスタのア
ドレスTICKyが書込まれる。
【0055】特に、ここに示された例においては、予備
チケットのレジスタTICKsが、そのセッションのフ
ィールド中に、そのレジスタがマスタになる次のセッシ
ョンの番号を書込み、そのフィールドCOUNTをゼロ
にセットすることによって指定される。初期化後を表し
ている図7と10を参照して説明されている手順TIC
K−GETの状態においては、セッションが番号Bを有
していたとみなされる。したがって、マスタレジスタN
yが有効である場合には、予備レジスタTICKsは以
下の内容をもつ。
【0056】TICKs:VALs=0、SESSs=
B+1及びCOUNTs=0 したがって、これは図10に示されているこの内容であ
る。
【0057】初期化手順の段階3では、他のあらゆるノ
ードのレジスタが修正され、ノードNxは例のように選
択される。レジスタTICKxにおいては、フィールド
VALが無効になり(VALx=0)、フィールドSE
SSはゼロの値をとり(SESSx=0)、カウンタC
OMPはゼロにリセットされる(ここからCOUNTx
=0となる)。レジスタREFxにおいては、フィール
ドTICK_IDはレジスタTICKyのアドレスをと
る。この段階では、チケット分配サービスのあらゆるコ
ンポーネントが初期化され、チケット獲得手順TICK
−GETを開始し、繰り返し実行することができる。
【0058】図8は、移動TICK−MIGの手順P2
の一例の段階を示している。図10は、チケットのマス
タレジスタの移動に起因するレジスタREFとTICK
の状態の変化を示している。
【0059】手順TICK−MIGは、予備ノードNs
を起動させ、マスタノードNyを動作停止させることか
らなる。ここで示されている例においては、チケット分
配器の移動を開始するのは予備ノードNsである。手順
TICK−MIGは、その制御装置CTLsによって、
またはこの制御装置から生じ割り込みによって始動され
たソフトウェアエアルーチンによって、予備ノード中で
実行することができる。移動が終了すると、予備ノード
Nsは新しいマスタノードになり、新しい予備ノードN
tは、新しいマスタレジスタTICKsへのアクセスミ
スの場合にチケット分配の継続性を確保する準備が整
う。
【0060】手順TICK−MIGの段階1は、予備ノ
ードNsの起動からなる。故障したノードが予備ノード
である場合には、この段階が直接実行される。この場合
には、Ns=Nxとなる。ノードNxは、その基準レジ
スタREFxのフィールドTICK_IDが、マスタノ
ードNyは値Nx−1を有していることを示しているこ
とから、あるいはセッションフィールドSESSxがゼ
ロでないことから、それが予備ノードでないことを知っ
ている。図10にはこの場合については示されていな
い。
【0061】予備ノードNsが要求側ノードNxでない
場合には段階2が行われる。セルDISxの制御装置C
TLxは、予備ノードのレジスタREFsのアドレスR
EF−GLOBAL−ADDへの読取りアクセス行いな
がら、予備ノードNsに向かってチケット分配器を移動
することを要求する。この段階が、チケット分配器DI
Ssの起動段階1を導く。
【0062】段階3では、有効なチケットをもはや分配
できないようにするためのマスタノードNyのラッチを
要求する。この動作は、ノードNyが実際に故障してし
まった場合には効果がない。反対に、たとえばミスの原
因がリンクLxyの障害にある場合には、チケットのマ
スタレジスタTICKyは、要求側ノードNxについて
アクセス不能であり、それに対して、システムの他のノ
ードに対しては、有効なチケットを発行することができ
るままになる。したがって、段階4は、発行されるチケ
ットが唯一のものであることを保証するための安全装置
である。したがって、レジスタTICKyの新しい内容
はTICKy:VALy=0、SESSy=0及びCO
UNTy=0となる。
【0063】段階4では、新しい予備ノードNtを選
ぶ。したがって、レジスタTICKtのフィールドSE
SSt中に、次のセッションの番号、SESSt=SE
SSs+1=B+2が書込まれる。
【0064】段階5では、予備ノードNsが新しいマス
タになるので、その結果、そのレジスタTICKsのフ
ィールドVALsは有効になる(VALs=1)。
【0065】段階6では、システムSYSのあらゆるノ
ードが、有効なチケットTICKsの新しいジェネレー
タへのアクセス経路を受取る。このことは、あらゆるノ
ードのレジスタREFのフィールドTICK_ID中
に、チケットの新しいマスタレジスタのアドレスTIC
Ksを書込むことによって行われる(TICK_ID=
TICKs_ADD)。この段階で、移動手順TICK
−MIGが終了する。図7に表されている手順TICK
−GETの段階11に従って制御装置CTLxによって
チケットの要求が繰り返されると、チケットのマスタレ
ジスタTICKsの新しいアドレスTICKs_ADD
を読取り、有効なチケットを得る。
【0066】またこの説明から、本発明による方法の好
ましい例は、チケットの分配セル中で、制御装置CTL
において相対的に複雑な動作を要求することがわかる。
一般に、セルDISの動作を軽減するために複数の解決
策が可能である。しかしながら、本発明の方法の実行が
簡単になるにつれて、本発明によるチケットの分配方法
の性能がそれに比例して低下する。
【0067】第一の例によって、移動手順TICK−M
IGは、ここに示されているように制御装置CTLによ
っては実行されないが、ソフトウェアエアルーチンによ
って全面的に実行される。その場合、制御装置CTLの
機能は、ノードのプロセッサPによって、あるいはここ
で示されている例においてはモジュールISLのような
レジスタREF及びTICKにアクセスするモジュール
中に組込まれたマイクロプロセッサまたはマイクロコン
トローラによって実行される。制御装置CTLによって
ハードウェアの形で実行されるものと、ソフトウェアの
形で実行されるものとの間で選択された分担にしたがっ
て様々な変形例も存在する。
【0068】第二の例においては、関連する各ノードの
プロセッサによって、あるいはここで示されている例に
おいてはモジュールISLのようなレジスタREF及び
TICKにアクセスするモジュールに含まれるマイクロ
プロセッサまたはマイクロコントローラによって、手順
TICK−GETの一部または全部を処理することによ
って、より大きな簡略化を得ることができる。
【0069】ここに示されている例において、当業者に
は他の変形例も明らかであろう。たとえば、本開示の理
解を容易にするために、チケット分配メカニズムMEC
がシステムSYSのあらゆるノード中に分散されるとも
のとした。しかしながら、システムのあらゆるノード
は、チケットを必要としないですみ、その結果、チケッ
トの分配メカニズムはノードの一部、少なくとも二つし
か必要としない。その一方で、各ノードは、いくらかの
数のプロセッサを有し、ノード間リンクLは、直列また
は並列のリンクとなることができる。それに加えて、ノ
ード間リンクのモジュールISLは、ノードの入出力サ
ブシステムIOSのエレメントとみなされ、そこに組み
込むことができる。
【0070】また、チケット分配メカニズムMECの上
記説明により、関連する各ノードは、チケットのマスタ
レジスタのアドレスTICK_IDをもっていなければ
ならないことがわかる。しかしながら、このアドレス
は、ここに示されている基準レジスタREFとは別の手
段中に保存することができる。この手段は、たとえばノ
ードのメモリMとすることができ、ここでハードウェア
レスTICK_IDがこのメモリの場所に保存される。
この場合、この場所へのアクセスは、ノードのプロセッ
サP全体によって迅速に行うことができる。ここに示さ
れている制御装置CTLに接続することができる場合、
あるいはすでに述べたように、プロセッサが手順TIC
K−GET全体及び/又は手順TICK−MIG全体を
実行することを防ぐマイクロプロセッサまたはマイクロ
コントローラに接続することができる場合には、レジス
タREFを使用することが好ましい。
【0071】その一方で、各ノードがチケットレジスタ
TICKを含むことは必要でない。マスタノードだけ
が、システム中にチケットジェネレータTICKを有す
ることができる。また、ここに示されている誤り処理手
順TICK−MIG中で行われているように、予備の役
割を果たすためにチケットレジスタTICKを含む少な
くとも一つのノードを設けることができる。少数のノー
ドを有するシステムにおいては、各ノードが一つのチケ
ットレジスタTICKを有することが望ましい。しか
し、多数の関連ノードを有するシステムにおいては、協
働するノードのみが、一つのチケットレジスタTICK
を保持することができる。その一方で、チケットジェネ
レータハードウェア手段としてのチケットレジスタTI
CKの上記の説明は、可能な例の一つを示しているにす
ぎない。簡略化された形態においては、チケットジェネ
レータTICKは単純に、カウンタCOMPのようなカ
ウンタとすることができる。レジスタTICKの利点は
フィールドCOUNT以外のフィールドを含むことがで
きることである。唯一つのノードがチケットのジェネレ
ータを有している場合には、有効化フィールドVALは
必要でない。たとえば、唯一つのノードが一つのチケッ
トジェネレータを有する場合には、セッションフィール
ドSESSについても同様であり、このレジスタへのア
クセス数は、常に、二つのチケット間の対立が存在しな
いことを保証するような長時間におけるチケットの単一
性を保つことができるように、ノードの障害とは無関係
に数えることができる。
【0072】したがって一般的に、本発明は、マルチノ
ード情報処理システムSYSにおいて、タスクあるいは
事象を識別するチケットの分配方法を対象にしており、
該方法では、システムのノードの中から、チケット分配
のマスタノードNyを決定し、そこに、チケットジェネ
レータハードウェア手段TICKを含み、前記ノードに
チケットジェネレータのアドレスTICK_IDを保存
し、さらに前記ノードのいずれか一つが一つのチケット
を要求する場合には、要求側ノード中の前記アドレスを
読み込み、チケットジェネレータにアクセスする。
【0073】ここに示されている第一の改善方法によれ
ば、各チケットは、マスタノードのチケットジェネレー
タによってチケット分配の継続時間を表す第一のフィー
ルドSESSと、この時間中に前記チケット要求に対応
するアクセスの時点ですでに行われたチケットジェネレ
ータへのアクセス数を表す第二のフィールドCOUNT
とによって識別される。一つのセッションから他のセッ
ションへの移行は、チケットジェネレータの場所の変更
あるいはマスタノードの障害に対応することもあるとい
うことはすでに述べた。それはまた、チケットの単一性
を保ちながら、カウントのフィールドCOUNTを再び
初期化することを可能にする。
【0074】唯一つのノードがチケットジェネレータハ
ードウェア手段を持つことができるにもかかわらず、こ
こに示された第二の改善方法は、システムの少なくとも
二つのノードにチケットジェネレータハードウェア手段
を組み入れ、マスタノードのチケットジェネレータのみ
を有効にすることからなる。これは、マスタノードを交
換できるという利点を提供する。考えられる交換の原因
の一つは、マスタノードまたはチケットのマスタジェネ
レータへのアクセス経路の障害である。ここで示されて
いる例においては、チケットの分配メカニズムは、マス
タノードの交換のための予備ノードNsを決定する。予
備ノードの指定は、ここに示されているものとは別の方
法で行うことができる。交換はまた、さまざまな形態に
よって、特にシステムがハードウェアによって補強され
る高稼働率タイプであるかどうかにしたがって行うこと
ができる。いいかえれば、システムは、さまざまな度合
いで故障を許容することができる。そうであれば、例と
して説明されたオプションは、移動手順TICK−MI
Gと呼ばれる自動交換手順を利用することによって性能
を著しく改善することができる。
【0075】移動手順は、チケットの単一性と分配の継
続性を確保できるように、関連する全てのノードで、一
貫して、チケットジェネレータTICKと基準レジスタ
REFを更新する。この更新は、できれば、その一貫性
を損なう恐れがあるメカニズムMEC中のあらゆるコン
フリクトを防ぐことができるように、ここに示されてい
るように、連続する書込みによって行われることが望ま
しい。この手順によって、予備ノードは、有効なチケッ
トジェネレータの新しいホストノードとなる。この結
果、チケットのジェネレータのアドレスTICK_ID
は、あらゆる基準レジスタREF中で変更される。さら
に、一つ前のマスタノードのチケットジェネレータは無
効にされる。ここに示されている例は、任意であるが好
都合なその他の特徴を有している。まず第一に、予備ノ
ードは、交換を引き受ける、すなわちここでは移動手順
の実行を引き受ける。次に、チケットの要求側ノードが
マスタノードのチケットのジェネレータにアクセスでき
ない場合、またそれが予備ノードである場合には、移動
が実行される。チケットの要求側ノードが予備ノードで
ない場合には、予備ノードに対して、マスタノードの交
換が要求される。この要求は、予備ノードのセルDIS
のレジスタへの特定のアクセス手段を用いて行われ、こ
の場合アクセスは、予備ノードのレジスタREFの遠隔
読取りによるものである。これら両者の場合において、
チケットの要求側ノードは、新しいマスタジェネレータ
にアクセスするためにはチケットの要求を繰り返しさえ
すればよい。新しいマスタジェネレータにアクセスでき
るようにするために、一つ前の要求がマスタノードの交
換時間中に生じているときには、チケットの要求がまた
繰り返される。もちろん、他の可能性も与えられる。
【0076】これにより、システムのノードにチケット
分配メカニズムMECを備えたマルチノード情報処理シ
ステムSYSが得られる。チケットはこのシステムでの
タスクまたは事象を識別し、該メカニズムは、マスタノ
ードにチケットジェネレータハードウェア手段を有し、
さらに前記ノードの各々に、チケットジェネレータのア
ドレスTICK_IDの記憶手段REFと、対応するノ
ードの記憶手段とマスタノードのチケットジェネレータ
とへのアクセス制御手段(P、CTL)を有している。
【0077】この定義は、プロセスの定義に基づくもの
であり、ここに示されているメカニズムのチケット分配
セルDISの概念を含んでいない。しかしながら、この
ようなセルの定義は広げることができる。記憶手段は一
つのメモリあるいはメモリの場所とすることができると
言われている。同様に、記憶手段REFとチケットジェ
ネレータTICKへのアクセス制御手段は、装置CTL
の代わりにノードのプロセッサとすることもできる。本
発明による定義は、セルの概念中にプロセッサを含んで
いる。
【0078】本発明によるマルチノード情報処理システ
ムSYSは、チケット分配メカニズムMECを有してお
り、チケットがシステム中のタスクまたは事象を識別す
る。該メカニズムは、各チケット分配セルDISに分散
配置されており、マスタノード中に、チケットジェネレ
ータハードウェア手段を有し、また前記ノードの各々
に、チケットジェネレータのアドレス(TICK_I
D)の記憶手段(REF)と、対応するノードの記憶手
段とマスタノードのチケットジェネレータとへのアクセ
スを制御する手段(P、CTL)とを有する。
【0079】ここに示されている例の変形例によれば、
少なくとも二つのノードのセルは、各々、一つのチケッ
トジェネレータハードウェア手段TICKを含んでお
り、メカニズムMECは、マスタノードのチケットジェ
ネレータの有効化手段(CTL、VAL)を有してい
る。
【0080】アクセスを制御する手段は、二つのアクセ
スについて同一であるかまたは、アクセスが記憶手段R
EFに対するものかあるいはチケットジェネレータに対
するものかによって異なり得る。たとえば、記憶手段へ
のアクセスは、プロセッサPによって制御し、チケット
ジェネレータへのアクセスは、マイクロプロセッサのよ
うな異なる手段によって制御することができる。選択さ
れた有利なオプションによれば、制御手段は二つのアク
セスに対して共通であり、プロセッサではない。それ
は、ここに示されている制御装置CTLのように、プロ
セッサとレジスタREF、可能であればノードのレジス
タTICKとの間の仲介手段である。この制御手段は、
ノードの記憶手段の中のチケットジェネレータのアドレ
スTICK_IDを読取り、チケットを得るためにこの
ジェネレータにアクセスし、要求への応答として要求側
プロセッサに該チケットを送るために、ノードのプロセ
ッサによってチケットの要求に反応することはすでに述
べた。言い換えれば、一般的に、ノード内のプロセッサ
以外の制御手段は、該ノードの少なくとも1つのプロセ
ッサに接続されている。
【0081】別の有利なオプションによれば、チケット
分配メカニズムMECは、記憶手段REF及び/又はセ
ルのチケットジェネレータDISに書き込む手段を含ん
でいる。ここで示されている手段は、セル中に組み入れ
られている制御装置CTL中に含まれている。レジスタ
REF中への書き込みは、このレジスタ中に含まれるア
ドレスが、特にマスタノードの障害の場合には変更でき
ることを想定している。この場合、システムのあらゆる
レジスタREFにチケットのマスタレジスタTICKの
新しいアドレスTICK_IDを書込むことができる。
その一方で、ここに示されているシステムにおいては、
フィールドSESSとCOUNTでチケット番号を変え
るために、またはマスタノード及び予備ノードでセッシ
ョン番号を修正するために、あるいはまたフィールドV
AL中でチケットを有効にするために、チケットジェネ
レータへの書込みが行われる。
【0082】ここに示されているシステムSYSでは、
一つのノードのチケット分配の各セルDISは、可能で
あれば集積回路ICに組込まれるノード間通信モジュー
ルISL中に含まれる。このとき、セルは、モジュール
ISLで、バスSBへのリンク及びノード間リンクのコ
ントローラCTRをという利用するという利点を有す
る。モジュールISLは、直接システムバスSBには接
続できないが、たとえばPCIバス(周辺コンポーネン
ト相互接続)といった入出力バスのような別のバスに接
続できる。その一方で、セルは、モジュールISLから
隔てて、ノードのバスに接続された別の集積回路に入れ
ることができる。この場合、この集積回路は、システム
バス、即ち、ここに示されているシステムバスSBある
いは別のバスに接続しなければならず、プロセッサとモ
ジュールISLとの交換は、このバスを経由しなければ
ならない。ただし、一般的には、ノードの記憶手段とマ
スタノードのチケットジェネレータへのアクセス経路
は、バスを含むことはできない。さらにまた、制御装置
CTLの機能は、専用の論理回路、あるいは、たとえば
モジュールISLを含む集積回路内に集積されたマイク
ロプロセッサまたはマイクロコントローラへのプログラ
ミングできる、あるいはまたノードのプロセッサによっ
て実行することができることはすでに述べた。
【0083】したがって、本発明は、たとえば、以上に
定義したシステムまたは方法を利用するために、少なく
ともプロセッサPxmと、メモリMxと、バスSBxと
チケット分配セルDISを有する情報処理ノードたとえ
ばNxを対象とする。
【0084】本発明はまた、以上に記載したシステムま
たは方法を利用するためにチケット分配セルDISを組
み込む集積回路ICを対象としている。
【図面の簡単な説明】
【図1】本発明によるマルチノード情報処理システムの
構造を示すブロック図である。
【図2】図1に表されているシステムのアドレッシング
空間の構造の概略図である。
【図3】図1に表されているシステムで利用されるレジ
スタのプログラミングされた入出力アドレスの構造の概
略図である。
【図4】図1に表されているシステムで利用される本発
明によるチケット分配メカニズムのセルの構造の一例の
概略図であり、ここに示されているセルは、システムの
各ノード中に含まれているノード間通信モジュールのプ
ログラミングされた入力ローカル実行モジュールに含ま
れている。
【図5】図4に表されているチケット分配装置の基準レ
ジスタの構造の概略図である。
【図6】図4に表されているチケット分配装置のチケッ
トレジスタの構造の概略図である。
【図7】図1に表されているシステム中でチケット分配
方法を利用するためのチケット獲得方法の一例の段階を
示しているフローチャートである。
【図8】図1に表されているシステムでチケット分配方
法を利用するための図7に示された誤り処理手順の一例
の段階を示すフローチャートである。
【図9】図1に表されているシステムでチケット分配方
法を利用するための初期化手順の一例の段階を示すフロ
ーチャートである。
【図10】図1に表されているシステムで、図7と8に
表されているアルゴリズムを参照して説明した手順に組
込まれた四つのノードの、図4に表されているようなセ
ル中に組み入れられた二つのレジスタの状態を示す図で
ある。
フロントページの続き (72)発明者 ダニエル・ドレ フランス国、92290・シヤトネ−マラブ リー、シユマン・ドウ・ラ・バレ・オ・ ルー、47 (56)参考文献 特開 平8−329022(JP,A) 特開 平2−93972(JP,A) LAI,W.K.HWANG,C. C.「ticket circulat ion protocol:A sim ple access protoco l for dual bus arc hitecture」1998 Inf.S ci.VOL.109,NO.1/4 p 1−20 (58)調査した分野(Int.Cl.7,DB名) G06F 15/177 672 G06F 15/173 EPAT(QUESTEL) INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 マルチノード情報処理システム(SY
    S)において、タスクまたは事象を識別するチケットの
    分配方法であって、システムのノードの中からチケット
    分配のマスタノード(Ny)を決定し、そこにチケット
    発生ハードウェア手段(TICK)を組み込み、前記ノ
    ードにチケットのジェネレータのアドレス(TICK_
    ID)を保存し、前記ノードのいずれか一つがチケット
    を要求する時、要求側ノード中で前記アドレスを読み取
    り、チケットジェネレータにアクセスすることを特徴と
    するマルチノード情報処理システムにおけるチケット分
    配方法。
  2. 【請求項2】 マスタノードにおいて、チケットジェネ
    レータによるチケット分配の継続時間を表す第一のフィ
    ールド(SESS)と、前記時間中に、チケット要求に
    対応するアクセスの時点で前記チケットジェネレータへ
    のアクセス数を表す第二のフィールド(COUNT)と
    によって各チケットを識別することを特徴とする請求項
    1に記載の方法。
  3. 【請求項3】 システムの少なくとも二つのノードに前
    記チケットジェネレータを組み入れ、マスタノードのチ
    ケットジェネレータのみを有効にする(VALy=1)
    ことを特徴とする請求項1または2に記載の方法。
  4. 【請求項4】 マスタノードを交換するために予備ノー
    ド(Ns)を決定することを特徴とする請求項3に記載
    の方法。
  5. 【請求項5】 マスタジェネレータが予備ノードに交換
    される時、全てのノード中でチケットジェネレータの前
    記アドレス(TICK_ID)を変更することを特徴と
    する請求項4に記載の方法。
  6. 【請求項6】 チケットの要求側ノードが、マスタノー
    ドのチケットジェネレータにアクセスできない時には、
    マスタノードの交換を要求し、あるいはそれが予備ノー
    ドである場合にはこの交換を行い、さらに新しいマスタ
    ジェネレータにアクセスするためにチケットの要求をや
    り直すことを特徴とする請求項4または5に記載の方
    法。
  7. 【請求項7】 システム中のタスクまたは事象を識別す
    るチケットの分配メカニズム(MEC)を備えたマルチ
    ノード情報処理システム(SYS)であって、該メカニ
    ズムがシステムのノードとして、各チケットの分配セル
    (DIS)に分散配置されており、マスタノード中にチ
    ケット発生ハードウェア手段を備え、各ノードに、チケ
    ットジェネレータのアドレス(TICK_ID)を記憶
    する手段と、対応するノードの記憶手段とマスタノード
    のチケットジェネレータとへのアクセスを制御する手段
    (P、CTL)とを有することを特徴とするマルチノー
    ド情報処理システム。
  8. 【請求項8】 前記少なくとも二つのノードが各々、チ
    ケット発生ハードウェア手段を含み、前記メカニズム
    が、マスタノードのチケットジェネレータを有効化する
    手段(CTL、VAL)を備えていることを特徴とする
    請求項7に記載のシステム。
  9. 【請求項9】 前記制御手段(CTL)が少なくとも一
    つのプロセッサ(P)に接続されていることを特徴とす
    る請求項7または8に記載のシステム。
  10. 【請求項10】 前記制御手段が、さらに、記憶手段及
    び/又はチケットジェネレータに書き込み手段を備えて
    いることを特徴する請求項7から9のいずれか一項に記
    載のシステム。
  11. 【請求項11】 チケットジェネレータ(TICK)
    が、カウンタ(COMP)を含み、オプションとしてカ
    ウンタに接続されたレジスタを含むことを特徴とする請
    求項7から10のいずれか一項に記載のシステム。
  12. 【請求項12】 記憶手段がレジスタ(REF)である
    ことを特徴とする請求項7から11のいずれか一項に記
    載のシステム。
  13. 【請求項13】 ノード間通信モジュール(ISL)を
    含むノードにおいて、セル(DIS)が該モジュールに
    含まれることを特徴とする請求項7から12のいずれか
    一項に記載のシステム。
  14. 【請求項14】 少なくとも一つのプロセッサ(Px
    m)とメモリ(Mx)とバス(SBx)とを有する情報
    処理ノード(Nx)であって、請求項1から6のいずれ
    か一項に記載の方法または請求項7から13のいずれか
    一項に記載のシステム(SYS)を利用するためのチケ
    ット分配セル(DISx)を備えることを特徴とする情
    報処理ノード。
  15. 【請求項15】 請求項1から6のいずれか一項に記載
    の方法または請求項7から13のいずれか一項に記載の
    システム(SYS)を利用するためにチケット分配回路
    (DIS)を含むことを特徴とする集積回路(IC)。
JP09207663A 1996-08-01 1997-08-01 マルチノード情報処理システムにおけるチケット分配方法 Expired - Fee Related JP3108042B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9609750A FR2752125B1 (fr) 1996-08-01 1996-08-01 Distribution de tickets dans un systeme informatique multinodal
FR9609750 1996-08-01

Publications (2)

Publication Number Publication Date
JPH1078940A JPH1078940A (ja) 1998-03-24
JP3108042B2 true JP3108042B2 (ja) 2000-11-13

Family

ID=9494748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09207663A Expired - Fee Related JP3108042B2 (ja) 1996-08-01 1997-08-01 マルチノード情報処理システムにおけるチケット分配方法

Country Status (5)

Country Link
US (1) US6018795A (ja)
EP (1) EP0822495B1 (ja)
JP (1) JP3108042B2 (ja)
DE (1) DE69712998T2 (ja)
FR (1) FR2752125B1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374285B1 (en) * 1998-05-15 2002-04-16 Compaq Computer Corporation Method for mutual exclusion of locks in a remote-write globally ordered network of processors
US6493777B1 (en) * 1999-09-15 2002-12-10 Lucent Technologies Inc. Method for dynamically reconfiguring data bus control
JP4355124B2 (ja) 2002-01-31 2009-10-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 入出場管理システム、入出場管理方法、入出場管理を実行するためのプログラムおよび、該プログラムを記録した記録媒体
KR101557269B1 (ko) 2007-04-19 2015-10-06 쿠리타 고교 가부시키가이샤 아니온 교환 수지의 제조 방법, 아니온 교환 수지, 카티온 교환 수지의 제조 방법, 카티온 교환 수지, 혼상 수지 및 전자 부품·재료 세정용 초순수의 제조 방법
CN111091429B (zh) * 2019-03-06 2024-03-22 深圳市智税链科技有限公司 电子票据标识分配方法及装置、电子票据生成系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU556499B2 (en) * 1981-05-22 1986-11-06 Data General Corporation Data processing system
US4608631A (en) * 1982-09-03 1986-08-26 Sequoia Systems, Inc. Modular computer system
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US5005122A (en) * 1987-09-08 1991-04-02 Digital Equipment Corporation Arrangement with cooperating management server node and network service node
CA1322422C (en) * 1988-07-18 1993-09-21 James P. Emmond Single-keyed indexed file for tp queue repository
JPH0769842B2 (ja) * 1989-02-13 1995-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 資源の相互排他制御方法及びシステム
EP0394172A3 (en) * 1989-04-21 1992-11-19 International Business Machines Corporation Method of performing file services given partial file names
US5027297A (en) * 1989-09-29 1991-06-25 Abb Power T & D Company Inc. System for time stamping events using a remote master clock
JP3169597B2 (ja) * 1990-05-16 2001-05-28 エヌイーシーソフト株式会社 マルチタスク実行時間アカウント方法とその機構
US5418937A (en) * 1990-11-30 1995-05-23 Kabushiki Kaisha Toshiba Master-slave type multi-processing system with multicast and fault detection operations having improved reliability
US5745693A (en) * 1992-07-01 1998-04-28 Mci Corporation System for gathering and reporting real time data from an IDNX communications network
US5684993A (en) * 1993-01-04 1997-11-04 Microsoft Corporation Segregation of thread-specific information from shared task information
EP0661634A3 (en) * 1993-12-28 1996-08-28 Ibm Label server.
US5717869A (en) * 1995-11-03 1998-02-10 Xerox Corporation Computer controlled display system using a timeline to control playback of temporal data representing collaborative activities

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LAI,W.K.HWANG,C.C.「ticket circulation protocol:A simple access protocol for dual bus architecture」1998 Inf.Sci.VOL.109,NO.1/4 p1−20

Also Published As

Publication number Publication date
US6018795A (en) 2000-01-25
EP0822495A1 (fr) 1998-02-04
FR2752125A1 (fr) 1998-02-06
JPH1078940A (ja) 1998-03-24
DE69712998D1 (de) 2002-07-11
DE69712998T2 (de) 2003-01-02
FR2752125B1 (fr) 1998-09-11
EP0822495B1 (fr) 2002-06-05

Similar Documents

Publication Publication Date Title
JP6089349B2 (ja) マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム
JP3645281B2 (ja) 共用メモリを有するマルチプロセッサ・システム
JPS63238634A (ja) 分散多重処理トランザクション処理システム
JP2016508647A5 (ja)
JPH02236735A (ja) データ処理方法及び装置
JPH05242060A (ja) マルチプロセッサ及びデータ同一化方法
JPH03222057A (ja) データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
JPH07306838A (ja) 計算機間の排他制御装置
US5410650A (en) Message control system for data communication system
CN101216781B (zh) 一种多处理器系统、装置及方法
US5727151A (en) Message control system specifying message storage buffer for data communication system with general purpose and arbitrary form buffers
JP3108042B2 (ja) マルチノード情報処理システムにおけるチケット分配方法
JP3490002B2 (ja) マルチクラスタシステムを構成する計算機
JP2009282917A (ja) サーバ間通信機構及びコンピュータシステム
US20130339591A1 (en) Relaying apparatus, relay history recording method, and data processing apparatus
JP2877095B2 (ja) マルチプロセッサシステム
CN117687835A (zh) 数据处理系统、内存镜像方法、装置和计算设备
JPH04291660A (ja) プロセッサ間通信方法およびそのための並列プロセッサ
JP3375649B2 (ja) 並列計算機
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
CN100356363C (zh) 用于共享互连分区的动态分区管理的方法和系统
JPS599767A (ja) マルチプロセツサ装置
JPH0544238B2 (ja)
JP2004246779A (ja) マルチプロセッサシステム及びデバイス共有方法
JP3141948B2 (ja) 計算機システム

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20070908

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080908

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090908

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120908

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120908

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130908

Year of fee payment: 13

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees