JPH0528853B2 - - Google Patents

Info

Publication number
JPH0528853B2
JPH0528853B2 JP62231257A JP23125787A JPH0528853B2 JP H0528853 B2 JPH0528853 B2 JP H0528853B2 JP 62231257 A JP62231257 A JP 62231257A JP 23125787 A JP23125787 A JP 23125787A JP H0528853 B2 JPH0528853 B2 JP H0528853B2
Authority
JP
Japan
Prior art keywords
checkpoint
processor
references
data
work
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 - Lifetime
Application number
JP62231257A
Other languages
English (en)
Other versions
JPS63109541A (ja
Inventor
Patoritsuku Heneshii Jeemusu
Reo Ozusetsuku Deimian
Uiriamu Sei Sekando Josefu
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS63109541A publication Critical patent/JPS63109541A/ja
Publication of JPH0528853B2 publication Critical patent/JPH0528853B2/ja
Granted 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/466Transaction processing

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)

Description

【発明の詳細な説明】 A 産業上の利用分野 本考案は複数のコンピユータ・プロセツサを有
するマルチ・プロセシング・システムに、特にシ
ステム事象、例えばデータ・オブジエクトの参照
等の直列順序付けを管理するための直列化機構に
関する。
B 従来技術 マルチ・プロセシング・システムにおいては、
例えば共有されたデータ・オブジエクトの参照等
のシステム事象の直列順序付けを管理する直列化
機構がしばしば必要である。それらの機構は、例
えば共有データ・オブジェクトが破壊されるよう
な場合等に、データの保全性を保つために重要で
ある。
米国特許第3947823号は、要求時ページング及
び仮想アドレシングを使用したマルチ・プロセシ
ング・システムにおける独特の制御回路を開示し
ている。その回路は、全てのプロセッサにおける
全ての現行の命令に関する実行が完了するまで、
無効化されたページ・フレームのアドレス可能性
を維持する。この回路は、全てのプロセツサ中の
全ての現行の命令が完了するまで、無効化された
ページ・フレームを保持する事を保証するため
に、1対のアドレス可能レジスタ、それに付随す
る利用可能性制御トリガ及び他の回路要素を利用
する。
C 発明が解決しようとする問題点 本発明は、全面的にソフトウエアで実現可能で
あつて、専用レジスタ及び他のハードウエアが不
要な直列化機構を提供する。この発明はまた既存
の制御プログラムに最小限のオーバヘツドしか付
加しない。
さらに、従来の直列化は、典型的な場合、ロツ
クによつて実現されていた。しかしロツクはシス
テム制御プログラムにかなりのオーバーヘツドを
付加する。可能な場合、それを使用しない事が望
ましい。
従つて、本発明の目的は、例えばページ・フレ
ーム、テーブル等のデータ・オブジエクトの参照
に関する直列化機構であつて、ソフトウエアで全
面的に実現可能なものを提供する事である。本発
明の他の目的は、既存の制御プログラムに対して
最小限のオーバーヘツドしか付加しない方式で実
現できる直列化機構を提供する事である。本発明
の他の目的は、データ・オブジエクトに対する共
有アクセスしか必要としない動作に関する共有ロ
ツクを不要にする直列化機構を提供する事であ
る。
D 問題点を解決するための手段 上記問題点は、各CPUで実行される仕事、す
なわち、プロセスの間でデータが共有されるマル
チ・プロセシング・システムにおいて、データに
対して排他的アクセスを必要とする動作がプロセ
スにより行なわれる時に該データに対する無効な
参照が他のプロセスにより行なわれるのを阻止す
るようにプロセスによるデータの参照を直列化す
る方法であつて、システム中の全てのプロセスに
共通の制御プログラムの実行点であつてプロセス
の実行中に定期的に起き且つロツクを用いた参照
を除いてどのプロセスによつてもデータに対する
参照が上記実行点を横切つて維持されないような
実行点をモニタし、最後のシステム参照点以後
に、システム中の各プロセスが少なくとも1回上
記実行点を通過した後にシステム参照点を確立
し、選択されたデータに対する排他的アクセスを
必要とする動作を要求し、上記選択されたデータ
に対する他のプロセスによるその後の参照を阻止
し、上記システム参照点が2回起きるまで待機し
てから、上記要求された動作を実行するステツプ
を含むデータ参照制御方法によつて解決される。
E 実施例 本発明は、制御プログラムを有するマルチ・プ
ロセシング・システムにおいて、システム事象を
直列化するための方法を提供する。本発明によれ
ば、プロセスは、ある期間の実行の開始及び終了
を、それらの事象の明示的な表示なしに行なう事
が許される。プロセスの実行中に定期的に起き且
つそのような期間中に存在しない、全てのシステ
ム・プロセスに共通の制御プログラムの実行の時
点がシステムにおいてモニタされる。最後のシス
テム参照点以後に少なくとも1回システム中の各
プロセスがそのような実行点を通過した後にシス
テム参照点が確立される。
従つて本発明は例えば共有データ・オブジエク
トへのアクセスに対して応用性を有し、ロツクを
使用せずにデータ・オブジエクトへの共有された
アクセスを行なう事を可能にし、従つてそのよう
なロツクの使用による潜在的に非常に大きなオー
バーヘツドを取り去る。制御プログラムにおいて
本発明を実施する事によつて、共有方式でのデー
タ・オブジエクトへの参照が、ロツクを必要とす
る事なしに直列化される。プロセスによるデー
タ・オブジエクトの排他的アクセスが要求される
時、データ・オブジエクトへの無効な参照を避け
るために、そのような選択されたデータ・オブジ
エクトに対する排他的アクセスを要求する動作の
要求の後で本発明の実施例に従つて、選択された
データ・オブジエクトへの他のプロセスによるそ
の後の参照は阻止される。次にシステムはそのよ
うなシステム参照点のうち2つが起きるまで待機
し、その後でのみ要求された動作を実行する。こ
れは、システム内のプロセスによる全ての参照
(排他的アクセスを要求する動作によつて無効化
されているかもしれない)が、排他的アクセスを
要求する動作が実行を許される前に終了する事を
保証する。排他的アクセスを要求する動作の実行
に関係した付加的な動作時間は、多くのシステム
において、システムによる多くの他の動作におい
て共有ロツクをなしにすませる事によるオーバー
ヘツドの減少によつて充分に償われる。
本発明の良好な実施例を詳細に説明するため
に、以下、用語の定義を与える。
データ・オブジエクト−データ構造。例えば単
純な制御ブロツク、リスト、キユー、ペー
ジ・フレーム等。
データ操作−データ・オブジエクトに対する操
作。例えばスタツクに対するプツシユ及びポ
ツプ。
データ参照−オブジエクトのアドレス又はオブ
ジエクトへのポインタを有する事。(デー
タ・オブジエクトは、それに対する操作を実
行するためにプロセツサにより参照されなけ
ればならない)参照の期間は1以上の命令に
及ぶ事があり得る。
排他的アクセス−排他的アクセスを要求する操
作は、排他的ブロツクの機構により1時に1
つだけ実行する。
共有アクセス−共有アクセスを要求する操作
は、従来技術の共有ロツクの機構又は良好な
実施例のMP共有アクセスにより、並行して
実行する事が可能になる。
プロセス・チエツクポイント−各プロセス中に
生じた且つ比較的頻繁な、予め指定された実
行点。これはビツト等のブール変数をセツト
する事により記録される事象である。このブ
ール変数は「プロセス・チエツクポイント・
フラグ」と呼ばれる。
MP延期作業−延期が要求されて以後、全ての
プロセツサがプロセス・チエツクポイントを
通過するまで遅延される作業。
MPチエツクポイント−最後のMPチエツクポ
イント以後全てのプロセツサがそのプロセ
ス・チエツクポイントを通過したと判定され
た時に指定されるシステム処理中の参照点。
その判定は周期的に行なわれる。
以後しばしば「MP延期」と呼ぶ、良好な実施
例は、マルチ・プロセシング・システムにおいて
プロセツサによるオブジエクトへの参照を追跡す
る。これは、従来の直列化された参照、即ち直列
化のためのロツクに依存する参照を除いて、MP
共有アクセスを用いたプロセスによるいかなる参
照も許されない、制御プログラムの動作中の点を
モニタする事によつて行なわれる。これはプロセ
ス・チエツクポイントと呼ばれる。
一般に、本発明の応用は、ハードウエア・プロ
セツサ単独による参照をモニタする事に限定され
ない事を理解すべきである。プロセツサは、それ
自身、例えばマルチ・タスキング・オペレーテイ
ング・システム、仮想プロセツサ等におけるタス
クを含む広いカテゴリーの「プロセス」の一部で
ある。
本発明の実施例による共有アクセスを効果的に
するために、この機能により直列化されるべきオ
ブジエクトに対するプロセスによるどの参照も、
そのようなプロセス・チエツクポイントを横切つ
て維持されない事が要求される。これはまた、以
下の説明からより明らかになるように、排他的ア
クセスが要求される時に適当な直列化も保証す
る。
例えばデータ・オブジエクトの破壊等の排他的
アクセスを必要とする操作の場合、必要であれば
ロツクによりオブジエクトへの通常の排他的アク
セスを取得し、オブジエクトへのMP共有アクセ
ス(MP共有参照)を用いたプロセスによるその
後の参照を阻止する事が必要である。これは、オ
ブジエクトへのポインタを削除するか又はオブジ
エクトへのポインタをオブジエクトの他のコピー
へ変更する事によつて行なわれる。ポインタが他
のデータ・オブジエクトの一部かもしれない時、
このために通常のロツキング又は直列化を適用す
る必要があるかもしれない。この時、MP共有ア
クセスを用いた操作によるオブジエクトに対する
以前の参照が完了するまで、待機する必要があ
る。これは良好な実施例によればかなり容易に行
なう事ができ、以下詳細に説明する。次に、オブ
ジエクトに対する排他的アクセスを必要とする操
作を行なう事ができる。
データ・オブジエクトへのその後の参照を阻止
する方法の1つはオブジエクトの他のインスタン
スを置換する事なので、システム中で同時にデー
タ・オブジエクトの1つ以上のインスタンスを有
する事が可能である事に注意すべきである。
排他的アクセスを要求する動作に関して、オブ
ジエクトに対する以前の参照が終了するまで待機
する必要のある事を、以前に述べた。排他的ロツ
クの取得は、通常の型の他の参照がデータ・オブ
ジエクト上に残つていない事しか保証しない。そ
れは、MP共有参照がもはや存在しない事は保証
しない。従つてそのような参照がもはや存在しな
い事を保証するためにMPチエツクポイントの決
定を用いる必要がある。(また、データ・オブジ
エクトに対するその後のMP共有参照を阻止する
必要もある。)これは、作業の延期を必要とする。
そのように延期された作業はここでは「MP延期
された作業」と呼ぶ。
1単位のMP延期された作業は、2つのMPチ
エツクポイントが生じた後まで遅延される。これ
はMP延期された作業がスケジユールされてから
少なくとも1回、全てのプロセツサがプロセス・
チエツクポイントを通過する事、従つて、そのオ
ブジエクトに対するいかなる参照ももはや存在し
ない事を保証する。これは第1図に示されてい
る。この図に関して、MPチエツクポイントは累
積的な事象である事に注意されたい。それはプロ
セス・チエツクポイントにおける各々の関連した
プロセスのチエツク・インの結果である。全ての
プロセツサがこのようにしてチエツク・インされ
ると、MPチエツクポイントが宣言される。しか
し、プロセス・チエツクポイントを通過すると、
プロセツサは関係のあるデータ・オブジエクトに
対する参照を阻止されない。例えば、第1図で、
点Aで、プロセツサ1はプロセス・チエツクポイ
ント(「X」と表示)を通過する。点Bで(これ
は次のMPチエツクポイント10の前に生じる)、
プロセツサ1は、関係のあるデータ・オブジエク
トに対する参照(「O」と表示)を行なう。点C
では、その後のMP共通参照が阻止される。しか
し、点C以前のデータ参照が引き続いて継続して
いる可能性を考慮すると、次のMPチエツクポイ
ント10の通過後であつても、関係のあるデー
タ・オブジエクトに対して全てのプロセツサが参
照処理を行つていないという確証はない。もし、
他のプロセツサがそのデータ・オブジエクトを参
照している状態でプロセツサ1が参照・更新処理
を行つたならば、そのデータ・オブジエクトに結
果として矛盾が生じる可能性がある。従つて、プ
ロセツサ1のデータ・オブジエクトに対する処理
は全てのプロセツサがそのデータ・オブジエクト
に対しての参照処理を終了していることが保証さ
れた状態で行われることが望ましい。
ここで、本発明によればプロセス・チエツクポ
イントを越えていかなる参照処理も存在しないの
であり、かつ、全てのプロセツサについて少なく
とも一回プロセス・チエツクポイントを通過する
ことがMPチエツク・ポイントの発生条件であ
る。従つて、その次のMPチエツクポイント20
の後であれば、そのデータ・オブジエクトに対し
てはいかなる参照もされていないことが保証され
る。
一般に、本発明の良好な実施例は2つの動作で
実現される。即ち、(1)MP延期作業、及び(2)MP
チエツクポイント決定及び処理である。
MP延期作業 MP延期作業機能は、以前のMP共有参照が保
持されていない事を保証するために、2MPチエ
ツクポイントの期間、作業を延期するために起動
される。この機能は、MPチエツクポイント処理
機能によつて処理されるべき作業を待ち行列に入
れる。これについては、例示的アルゴリズムに関
連して下記に詳細に説明する。
MPチエツクポイント決定及び処理 MPチエツクポイントの決定は周期的に行なわ
れる。検査は、全てのプロセス・チエツクポイン
ト・フラグがセツトされているか否か、即ち最後
のMPチエツクポイント以降に全てのプロセツサ
がプロセス・チエツクポイントを通過したか否か
を見るために行なわれる。もしその通りであれ
ば、MPチエツクポイントが指定され、プロセ
ス・チエツクポイント・フラグがリセツトされ、
そして、2つのMPチエツクポイントを通過し
た、延期された作業が処理される。
2つのMPチエツクポイントが生じた作業の処
理及びプロセス・チエツクポイント・フラグのリ
セツトは特定の順序で生じる必要はないが、プロ
セス・チエツクポイント・フラグを最初にリセツ
トすると、次のMPチエツクポイントの決定の時
に別のMPチエツクポイントが生じる確率を増加
させる。
MPチエツクポイントは、以前のMPチエツク
ポイント以来少なくとも1回全てのプロセス・チ
エツクポイント・フラグがセツトされるように定
められているので、どれかのプロセス・チエツク
ポイント・フラグがリセツトされる前にMPチエ
ツクポイントが指定されなければならない。これ
はインプリメンテーシヨン上重要である。という
のはMPチエツクポイントが生じたことが認識さ
れる時点はMPチエツクポイントが指定される時
点と同一ではないからである。
本発明の良好な実施例は2つの方法のうちいず
れに従つても実現できる。最初の方法は2つのう
ちより単純且つ直接的である。2番目の方法は、
IBM VM/XAシステム機構リリース2に従つ
て実際に実現された。これはプロセス・チエツク
ポイントとして使用するのに便利なプロセス・ポ
イントを提供している既存のコードを利用した。
前述のようにMP延期されている作業は、その
延期が発生してから2回のMPチエツクポイント
を経過して初めて実行に移される。そして、本発
明の実施例によれば各MP延期作業についての
MPチエツクポイントを管理する必要が認められ
る。そこで、各MP延期項目ごとに生じるMPチ
エツクポイントの数を追跡するために、3つの延
期作業キユーを設けた。
方法 1 各MP延期項目毎に生じるMPチエツクポイン
トの数を追跡するために、3つの延期作業キユー
が存在する。
q0−0個のMPチエツクポイントが生じた作業 q1−1個のMPチエツクポイントが生じた作業 q2−2個のMPチエツクポイントが生じた作業 MPチエツクポイントが指定される時、0個の
MPチエツクポイントが生じた全てのMP延期作
業は、1個のMPチエツクポイントが生じたMP
延期作業になり、1個のMPチエツクポイントが
生じた全てのMP延期作業は、2個のMPチエツ
クポイントが生じたMP延期作業になる。この情
報はキユーの形で保持されるので、MPチエツク
ポイントはキユーを更新する事によつて明らかに
なる。
MP延期作業機能はq0へのキユー作業である。
MP 決定アルゴリズムは下記の通りである。
if 全てのプロセス・チエツクポイント・フラ
グがセツトthen キユーを更新する事により
MPチエツクポイントを指定する q1をq2に移す q0をq1に移す プロセス・チエツクポイント・フラグをリセ
ツトする q2に作業をデイスパツチする end if すなわち、全てのプロセスがチエツクポイント
を最後のMPチエツクポイント後に通過したこと
を条件んMPチエツクポイントは発生する。ま
た、それとともに各MP延期作業についてのMP
チエツクポイントを一つづつ増加させるととも
に、MPチエツクポイントが2つになつたものに
ついては作業の実行を行う。
方法 2 これは、プロセスをモニタし続ける何らかのプ
ロセスチエツクポイントが既に存在する場合に使
用するための、方法1の変型である。
各MP延期毎に生じるMPチエツクポイントの
数を追跡するために、4つの延期作業キユーが存
在する。
q0−0個のMPチエツクポイントが生じた作業 これは下記の2つの部分を有する q0a−能動 q0p−受動 q1−1個のMPチエツクポイントが生じた作業 q2−2個のMPチエツクポイントが生じた作業 MP 延期機能による直列化 MP 延期作業機能はq0aへのキユー作業 MP 決定アリゴリズムは下記の通りである。
q0aをq0pに移す事によつて試験的にMPチエツ
クポイントを指定する。
この場合は、実際のプロセス・チエツクポイン
トにカウンターとして作用させるのではなく、さ
らに、中間にカウンターとして実際のプロセス・
チエツクポイント・フラグのセツトによつてセツ
トされるようなカウンターを設定する。以下、こ
れをシヤドー・プロセス・チエツクポイントと呼
ぶ。
do 全部の実際のプロセス・チエツクポイン
ト・フラグに付き if 実際のプロセス・チ
エツクポイント・フラグがセツトthen 実際
のプロセス・チエツクポイント・フラグをリ
セツト シヤドー・プロセス・チエツクポイ
ント・フラグをセツト end if end do if 全てのシヤドー・プロセス・チエツクポイ
ント・フラグがセツトthen MPチエツクポ
イント発生 q1をq2に移す q0pをq1に移す シヤドー・プロセス・チエツクポイント・フラ
グをリセツトする q2に作業をデイスパツチする end if MPチエツクポイントが生じた事が決定される
ならば、MPチエツクポイントが生じた事が指定
される時、q2,q2及びq0pだけが延期作業を含ん
でいる。MPチエツクポイントはプロセス・チエ
ツクポイント・フラグがリセツトされる前に生じ
るという要求により、MPチエツクポイントは、
それが認識される時点よりも早く指定される。
q0aはMPチエツクポイント処理のキユーの調整
中に含まれない。というのはq0aは試験的なMP
チエツクポイントの指定時に空であり、もしそれ
が空でなければ、その内容はMPチエツクポイン
トの後に生じた延期だからである。
この方法によれば、プロセスチエツクポイント
がプロセス中に頻繁に存在する場合においても、
プロセスチエツクポイントを通過するたびにその
フラグをリセツトするので、全てのプロセスチエ
ツクポイントに対してシステムは何らかの反応を
行うことができる。
良好な実施例は、個々のUSERIDによりトレ
ースする事を可能にする「SET CPTRACE」コ
マンドを強化したVM/XA SF制御プログラム
に関連して実現された。この新しいコマンドはト
レース機構に関連して実現される。このインプリ
メンテーシヨンは、本発明をいかにして適用する
かを読者が理解するのを助けるために下記に詳細
に説明する。
背景として、トレース機構とは、所定の期間さ
かのぼつて特定の種類の事象を全て、制御プログ
ラムが継続的に追跡しそれらをテーブルに記憶す
る事を可能にする機構である。これはシステムが
突然故障した時(「クラツシユ」)何が悪いのかを
判定するための道具を提供する。クラツシユの
後、指定された事象が記録されたテーブルは、ク
ラツシユの直前の一定期間の間の事象の履歴を導
き出すために解析される。
トレース機構により記憶される事象情報の種類
の例は、どのVMDBK(仮想計算機記述子ブロツ
ク)がデイスパツチされるかに関する情報、どの
タスクがデイスパツチされるかに関する情報、及
びデイスパツチされる作業片のアドレスに関する
情報である。この情報は制御プログラムの「デイ
スパツチヤ」部分の履歴を提供する。トレース機
構により記憶される他の種類に情報は、システム
割込み、プログラム・チエツク、マシン・チエツ
ク及びI/O割込みである。
トレース機構により集収され記憶されるデータ
の種類は、ユーザにより各々調整できる。この選
択、又はフイルタリングを行なう手段はトレー
ス・コード、テーブルである。テーブル中のある
ビツトをオン又はオフにセツトする事により、事
情に応じて、選択されたデータが記憶されたり又
はされなかつたりする。従つてトレース・コー
ド・テーブルは、特定の仮想計算機に関連した選
択基準を実現するデータ・ブロツクである。トレ
ース機構及びトレース・コード・テーブルに関す
るより詳細な情報は、IBM社から入手可能な、
IBMVM/XAシステム機構リリース2に関す
る、IBM System/370Extended Architecture,
Principles of Operation,the CP Commands
Manual,the Diagnosis Guide,及びCP
Diagnosis Reference Manual Vol.I and
(SA22−7085,GC19−6215−3,LY27−8044−
1,LY27−8045及びLY27−8046)に見い出され
る。
本発明の良好な実施例にとつて重要な点は、ト
レース・コード・テーブルがSET CPTRACEコ
マンドにより指定される通りに、共有テーブル又
は専用テーブルであり得るという事実である。共
有のトレース・コード・テーブルは、殆んどのシ
ステム・ユーザに関する共有のトレース設定とし
て用いられるトレース基準の集まりである。専用
のトレース・コード・テーブルは、特定のユーザ
がそのユーザに特有のトレース情報を収集するた
めのトレース設定として使われるトレース基準の
特別の集まりである。専用テーブルは
SETCPTRACEコマンドにより形成され破棄さ
れる。共有テーブルが恒久的なテーブルであつて
形成も破棄されない。
専用トレース・コード・テーブルが破棄される
時、特定のユーザに関するトレース動作は共有ト
レース・コード・テーブルを使用するようにリセ
ツトされるので、専用トレース・コード・テーブ
ルに関して続行中の動作の無効化を避けるために
専用トレース・コード・テーブルへの排他的アク
セスを有する必要がある。本発明の良好な実施例
は専用トレース・コード・テーブルに対するこの
排他的アクセスを生じさせる。
さらに、トレース・テーブルのエントリの形成
中、ユーザがトレース・コード・テーブルに対す
る共有アクセスを有する必要がある。本発明の良
好な実施例はこの共有アクセスも達成する。
トレース・コード・テーブルに対する排他的ア
クセスの必要性を生じさせる環境が第2図〜第4
図に示されている。第2図は2人のユーザを有す
るシステムの状況を示している。各ユーザはシス
テム内で各々VMDBK1及び2により表現され
ている。各ユーザのVMDBK中には、共有
TTABK、トレース・コード・テーブルへのポ
インタを含むフイールドが存在する。
システム操作員、ユーザ2に関して別個のトレ
ース基準を有したいと彼に思わせる関心事を有す
ることがあるかもしれない。従つてシステム操作
員は別個の専用のトレース・コード・テーブルを
形成するコマンドを実行する。このコマンドの実
行に続くシステム状況は、第3図に示されてい
る。TTABKへのユーザ2のVMDBKポイン
タ・フイールドは、ちようど形成された専用
TTABKを指す値を含んでいる。
ここで、もしシステム操作員がユーザ2のため
の別個のトレース基準の使用を止めたいと望み、
ユーザ2のための特別のトレースをリセツトし、
第4図に示すように、ユーザ2を共有TTABK
の使用に戻す場合、記憶資源をシステムに戻すた
めに専用TTABKを破棄する必要がある。
それが破棄される時に(ユーザ2のVMDBK
を用いた)そのテーブルへの参照が進行中ではな
い事を保証するために、専用テーブルの破棄を直
列化する必要がある。この直列化を与えるために
従来のロツクを用いると、かなりの量のオーバー
ヘツドを要する。トレース・コード・テーブルへ
の参照は余りにも頻繁であり、トレース・テーブ
ル・エントリを形成するためにトレース・コー
ド・テーブルが参照される毎に共有アクセスを行
なうために従来のロツクを適用し解放すると、そ
れに関係した命令の実行でシステムの動きが取れ
なくなる。
本発明の良好な実施例を適用する事により、こ
の潜在的に巨大な余分のオーバーヘツドが効果的
に除去される事が明らかである。
VM/XAにおける良好な実施例の実現時に、
デイスパツチヤへのエントリ及びその中のフラグ
の設定はプロセス・チエツクポイントと考えられ
る。
MPチエツクポイントの決定は、非応答プロセ
ツサ、即ち適時にプロセス・チエツクポイントを
セツトしないものを検出するためにプロセス・チ
エツクポイントを検査する非応答プロセツサ検
出、タイマ駆動ルーチン中で行なわれる。
MP延期作業は、CPEBK、1単位の作業をMP
延期キユー上に置く新しいルーチンである。
本発明を良好な実施例を用いて説明したが、本
発明の範囲内で種々の変更が可能である。例え
ば、共有データ・オブジエクトの参照に関連して
本発明を説明したが、本発明はコンピユータ・シ
ステムの事象の直列化が必要か又は望ましい他の
例に適用してもよい。例えば、割込みのためにプ
ロセツサがデイスエーブルされるコードの区間を
直列化する事が望まれるかもしれない。言い換え
ると、作業がスケジユールされてから全てのプロ
セツサが割込みに関してエネーブルされるまで1
つの作業を延期する事が望まれるかもしれない。
本発明はこの所望の直列化を達成するための効率
的且つ有効な機構を提供する。同様に他の応用も
当業者にとつては容易であろう。
F 発明の効果 本発明を用いると、マルチプロセシング・シス
テムにおいてデータの参照の排他制御を僅かのオ
ーバーヘツドで行なう事ができる。
【図面の簡単な説明】
第1図は4個のプロセツサを含むマルチプロセ
シング・システムにおける一連のシステム事象を
示すタンミング図、第2図〜第4図はマルチプロ
セツサ・システムにおける仮想計算機制御ブロツ
クとデータ・ブロツクの関係を示す図である。

Claims (1)

  1. 【特許請求の範囲】 1 システム中の全てのプロセスに共通の制御プ
    ログラム下で動作し、データ・オブジエクトが各
    プロセツサによつて実行されるプロセス間で共有
    され、ロツクなしに前記データ・オブジエクトに
    対する参照が許されているマルチプロセツシン
    グ・システムにおいて、データに対して一のプロ
    セツサによつて排他的アクセスが必要とされる場
    合にその後の他のプロセツサによる参照が行われ
    るのを阻止する方法であつて、 制御プログラムに存在し、プロセスの実行中に
    検出されるような実行点であつて、ロツクによる
    参照以外の全ての参照が前記実行点を横切つては
    維持されないような実行点を各プロセツサがモニ
    タするステツプと、 最後のシステム参照点以降にシステム中の全て
    のプロセスが少なくとも1回前記実行点を通過し
    たことを条件として、全てのプロセツサにおいて
    共通なシステム参照点を確立するステツプと、 前記一のプロセツサが選択されたデータに対す
    る排他的アクセスを必要とする動作を要求するス
    テツプと、 システムが前記選択されたデータに対する前記
    他のプロセツサによるその後の参照を阻止するス
    テツプと、 前記システム参照点が前記一のプロセツサの動
    作の要求時点から2回確立された後に、前記一の
    プロセツサが要求した動作を実行するステツプ
    と、 を含むデータ参照制御方法。
JP62231257A 1986-10-17 1987-09-17 データ参照制御方法 Granted JPS63109541A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US920002 1986-10-17
US06/920,002 US4809168A (en) 1986-10-17 1986-10-17 Passive serialization in a multitasking environment

Publications (2)

Publication Number Publication Date
JPS63109541A JPS63109541A (ja) 1988-05-14
JPH0528853B2 true JPH0528853B2 (ja) 1993-04-27

Family

ID=25443000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62231257A Granted JPS63109541A (ja) 1986-10-17 1987-09-17 データ参照制御方法

Country Status (4)

Country Link
US (1) US4809168A (ja)
EP (1) EP0264568B1 (ja)
JP (1) JPS63109541A (ja)
DE (1) DE3775332D1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062039A (en) * 1988-09-07 1991-10-29 International Business Machines Corp. Sharing of workspaces in interactive processing using workspace name tables for linking of workspaces
US5129084A (en) * 1989-06-29 1992-07-07 Digital Equipment Corporation Object container transfer system and method in an object based computer operating system
US5029169A (en) * 1989-07-11 1991-07-02 Bell Communications Research, Inc. Methods and apparatus for fault detection
US5261099A (en) * 1989-08-24 1993-11-09 International Business Machines Corp. Synchronous communications scheduler allowing transient computing overloads using a request buffer
JPH07101410B2 (ja) * 1990-01-17 1995-11-01 インターナショナル、ビジネス、マシーンズ、コーポレーション データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
US5247672A (en) * 1990-02-15 1993-09-21 International Business Machines Corporation Transaction processing system and method with reduced locking
US5280619A (en) * 1990-05-17 1994-01-18 Texas Instruments Incorporated System for accessing shared data using a serialization graph constructed from a history file showing completed locking dependencies between transactions
US5109512A (en) * 1990-05-31 1992-04-28 International Business Machines Corporation Process for dispatching tasks among multiple information processors
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
US5287473A (en) * 1990-12-14 1994-02-15 International Business Machines Corporation Non-blocking serialization for removing data from a shared cache
US5276835A (en) * 1990-12-14 1994-01-04 International Business Machines Corporation Non-blocking serialization for caching data in a shared cache
JPH07191944A (ja) * 1991-09-11 1995-07-28 Internatl Business Mach Corp <Ibm> 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法
US5430860A (en) * 1991-09-17 1995-07-04 International Business Machines Inc. Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence
JP2781092B2 (ja) * 1991-11-06 1998-07-30 富士通株式会社 システム間排他制御方式
US5640563A (en) * 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method
US5388266A (en) * 1992-03-30 1995-02-07 International Business Machines Corporation Management of data objects used intain state information for shared data at a local complex
US5392433A (en) * 1992-09-25 1995-02-21 International Business Machines Corporation Method and apparatus for intraprocess locking of a shared resource in a computer system
US5675796A (en) * 1994-04-08 1997-10-07 Microsoft Corporation Concurrency management component for use by a computer program during the transfer of a message
US5560018A (en) * 1994-12-16 1996-09-24 International Business Machines Corporation Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment
US6182108B1 (en) 1995-01-31 2001-01-30 Microsoft Corporation Method and system for multi-threaded processing
US6247039B1 (en) * 1996-05-17 2001-06-12 Sun Microsystems, Inc. Method and apparatus for disposing of objects in a multi-threaded environment
AU3805997A (en) * 1996-07-22 1998-02-10 Cabletron Systems, Inc. Method and apparatus for coordinated management of a shared object
JPH10320205A (ja) 1997-05-20 1998-12-04 Fujitsu Ltd 情報処理装置
US6026401A (en) * 1997-10-14 2000-02-15 International Business Machines Corporation Locking tool data objects in a framework environment
US6119219A (en) * 1998-04-30 2000-09-12 International Business Machines Corporation System serialization with early release of individual processor
US6079013A (en) * 1998-04-30 2000-06-20 International Business Machines Corporation Multiprocessor serialization with early release of processors
US6356946B1 (en) 1998-09-02 2002-03-12 Sybase Inc. System and method for serializing Java objects in a tubular data stream
US6295602B1 (en) * 1998-12-30 2001-09-25 Spyrus, Inc. Event-driven serialization of access to shared resources
US6438559B1 (en) 1999-04-02 2002-08-20 Sybase, Inc. System and method for improved serialization of Java objects
GB2348718A (en) * 1999-04-07 2000-10-11 Ibm Data processing system having a centralised trace facility with dynamic tracing
US6487622B1 (en) 1999-10-28 2002-11-26 Ncr Corporation Quorum arbitrator for a high availability system
US7472230B2 (en) * 2001-09-14 2008-12-30 Hewlett-Packard Development Company, L.P. Preemptive write back controller
US9311673B2 (en) * 2002-06-05 2016-04-12 Nasdaq, Inc. Security transaction matching
US8244622B2 (en) * 2002-06-05 2012-08-14 The Nasdaq Omx Group, Inc. Order matching process and method
US7895112B2 (en) * 2002-06-05 2011-02-22 The Nasdaq Omx Group, Inc. Order book process and method
US8849767B1 (en) 2005-04-13 2014-09-30 Netapp, Inc. Method and apparatus for identifying and eliminating duplicate data blocks and sharing data blocks in a storage system
US20070067770A1 (en) * 2005-09-16 2007-03-22 Thomasson Christopher M System and method for reduced overhead in multithreaded programs
JP2009025939A (ja) * 2007-07-18 2009-02-05 Renesas Technology Corp タスク制御方法及び半導体集積回路
US10262365B2 (en) 2012-04-16 2019-04-16 Nasdaq Technology Ab Method and a computerized exchange system for processing trade orders
US10877992B2 (en) 2017-11-30 2020-12-29 International Business Machines Corporation Updating a database
US11175802B2 (en) * 2018-09-21 2021-11-16 Sap Se Configuration object deletion manager

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58169659A (ja) * 1982-03-30 1983-10-06 Fujitsu Ltd 共用ロツク制御方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573736A (en) * 1968-01-15 1971-04-06 Ibm Interruption and interlock arrangement
US3947823A (en) * 1973-12-26 1976-03-30 International Business Machines Corp. Means for coordinating asynchronous main store accesses in a multiprocessing system using virtual storage
US4318174A (en) * 1975-12-04 1982-03-02 Tokyo Shibaura Electric Co., Ltd. Multi-processor system employing job-swapping between different priority processors
US4224664A (en) * 1976-05-07 1980-09-23 Honeywell Information Systems Inc. Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system
US4189771A (en) * 1977-10-11 1980-02-19 International Business Machines Corporation Method and means for the detection of deadlock among waiting tasks in a multiprocessing, multiprogramming CPU environment
US4354227A (en) * 1979-11-19 1982-10-12 International Business Machines Corp. Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles
US4384324A (en) * 1980-05-06 1983-05-17 Burroughs Corporation Microprogrammed digital data processing system employing tasking at a microinstruction level
JPS6079460A (ja) * 1983-10-07 1985-05-07 Nec Corp 密結合多重演算装置における制御方式
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58169659A (ja) * 1982-03-30 1983-10-06 Fujitsu Ltd 共用ロツク制御方式

Also Published As

Publication number Publication date
DE3775332D1 (de) 1992-01-30
EP0264568A2 (en) 1988-04-27
EP0264568A3 (en) 1988-09-21
JPS63109541A (ja) 1988-05-14
EP0264568B1 (en) 1991-12-18
US4809168A (en) 1989-02-28

Similar Documents

Publication Publication Date Title
JPH0528853B2 (ja)
US5623670A (en) Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system
US7472228B2 (en) Read-copy update method
US5664088A (en) Method for deadlock recovery using consistent global checkpoints
US6983461B2 (en) Method and system for deadlock detection and avoidance
US5630136A (en) Method and apparatus for serializing access to multithreading unsafe resources
US5305455A (en) Per thread exception management for multitasking multithreaded operating system
US6256637B1 (en) Transactional virtual machine architecture
US5321841A (en) System for determining the rights of object access for a server process by combining them with the rights of the client process
US5742785A (en) Posting multiple reservations with a conditional store atomic operations in a multiprocessing environment
US7653791B2 (en) Realtime-safe read copy update with per-processor read/write locks
EP0735475B1 (en) Method and apparatus for managing objects in a distributed object operating environment
JP2514299B2 (ja) プロセスレベルプログラミングのための割込み処理の直列化方法
US5966543A (en) Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system
KR19990077481A (ko) 세마포어연산을수행하기위한방법및장치
JPH0465414B2 (ja)
JPH0833863B2 (ja) データベース管理装置及び方法
JPH1115793A (ja) 資源の保全性を保護する方法
US7174404B2 (en) Updating spin counters for spin latches
Michael et al. Relative performance of preemption-safe locking and non-blocking synchronization on multiprogrammed shared memory multiprocessors
US6976107B2 (en) Adaptive spin latches
US6973590B1 (en) Terminating a child process without risk of data corruption to a shared resource for subsequent processes
Barton et al. Beyond Threads: Resource Sharing in UNIX.
Min et al. Polling Based Per-core Workqueue Management in XFS Journaling
JP3764282B2 (ja) プログラム制御システムの制御装置