JPH061466B2 - ロック排他制御方式 - Google Patents

ロック排他制御方式

Info

Publication number
JPH061466B2
JPH061466B2 JP8900288A JP8900288A JPH061466B2 JP H061466 B2 JPH061466 B2 JP H061466B2 JP 8900288 A JP8900288 A JP 8900288A JP 8900288 A JP8900288 A JP 8900288A JP H061466 B2 JPH061466 B2 JP H061466B2
Authority
JP
Japan
Prior art keywords
lock
state
secured
task
processor
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
JP8900288A
Other languages
English (en)
Other versions
JPH01261771A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8900288A priority Critical patent/JPH061466B2/ja
Publication of JPH01261771A publication Critical patent/JPH01261771A/ja
Publication of JPH061466B2 publication Critical patent/JPH061466B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
〔産業上の利用分野〕 本発明は特にマルチプロセサ・コンピュータ・システム
におけるプロセサの並行処理速度向上を実現するに好適
なロック排他制御方法に関する。 〔従来の技術〕 コンピュータシステムでは複数の処理が並行して実施さ
れ、各処理はタスクと呼ばれる。マルチプロセサ・コン
ピュータ・システムでは各プロセサ毎に別々のタスクが
処理を同時に実行する処理形態となる。この時、タスク
間で共通に使用する主記憶上のテーブル,データ等を排
他使用し、一時的には1個のタスクのみが目的とするテ
ーブル,データの参照,更新できるようにする制御が必
要であり、プロセサ間での同期した排他制御(ロック制
御)を行うための命令(LOCK)が用意されている。 従来、この排他制御命令で制御されるロック状態と、ロ
ック確保者(タスク)の動作状態を関連管理していない
ため、「ロック確保済」「ロック未確保」の2状態のロ
ック状態管理となっていた。 なお、この種の技術は例えば、特開昭59-154563号公報
に示される。 〔発明が解決しようとする課題〕 上記従来技術では、あるタスクがロックを確保しようと
した時、目的のロックが他のタスクで確保済の場合の待
合せの仕方として次の2種を一般に採用している。 (1)リトライ・タイプ 目的のロックが解放されるまでその場で待合せる。 (ロック確保をくり返し試みる) (2)待合せタイプ 目的のロックが解放されるまで処理を中断しそのプロセ
サは他に処理すべき事象があればその実行に移る。中断
された処理はロックが解放された時点で再開される。 マルチプロセサ システムでの並行処理速度を向上させ
るためには、ロックの確保から解放までの処理ステップ
数が小さいことが望ましい。このため(1)のリトライ・
タイプによるロック確保待合せが望ましいが、ロック確
保実行中のタスクが外部割込などにより処理中断が起る
と、予想外にロック確保待ちが長時間かかる、或いはデ
ッドロックが発生するといった問題があり、ごく限られ
た範囲でのみ使用されている。 (2)の待合せ方法は、リトライ・タイプに特有の問題は
解消されるが、タスクの待合せ、再開始に必要なオーバ
ヘッドが余分に必要となり、ロック競合時の性能低下の
主因となっている。 本発明の目的はかかる問題を解決するために、ロック競
合(ロック確保待合せ)が発生した時、ロック確保済タ
スクの状態に応じて、リトライ・タイプと、待合せタイ
プの2方式を取捨選択し、効率的なプロセサ間のロック
排他制御方法を提供することにある。 〔課題を解決するための手段〕 上記目的は、ロック状態管理に次の3種を設けこの状態
を制御することにより達成される。 ロック未確保 ロック目的処理実行中 ロック目的処理中断 〔作用〕 あるタスクがロックを確保しようとしたとき、目的のロ
ックが未確保の状態にあれば、ロックを確保し、目的の
処理が実行できる。 ロックが他タスクにより確保済で「ロック目的処理実行
中」のときリトライタイプの待合せにより、他タスクが
ロックを解放するまで待合せる。「ロック目的処理中断
状態」にあるとき、待合せタイプを採用する。 〔実施例〕 以下、本発明の一実施例として、2台のプロセサ間での
本ロック制御方法の適用例を図面により詳細に説明す
る。 第1図は、プロセサ4,5間で共有される共有メモリ1
中にロック管理テーブル2と実行中のタスクの状態を管
理するタスク管理テーブル3が存在することを示してい
る。 ロック管理テーブル2には、そのロックが確保済か未確
保かの状態と、ロック確保済の時には、ロック確保タス
クの識別子が格納される。 タスク管理テーブル3には、当該タスクが処理実行中で
あるか、外部割込み等による処理中断中であるかの識別
子が格納される。 ロック管理テーブル2とタスク管理テーブル3の状態の
組合せによりロック状態管理は次の状態にあると認識す
ることができる。 「ロック未確保」:「ロック管理テーブル=未確保」
「ロック目的処理実行中」:「ロック管理テーブル=確
保済」かつ「ロック確保済タスク管理テーブル=処理実
行中」 「ロック目的処理中断」:「ロック管理テーブル=確保
済」かつ「ロック確保済タスク管理テーブル=処理中断
中」 次に、第2図はロック確保失敗時、リトライ・タイプの
ロック確保くり返し再試行により、ロックが確保できた
場合の制御の流れを説明したものである。 第3図は、プロセサ1にてタスクaがロックを確保し目
的処理実行中に、外部割込み等が発生し、プロセサ2で
のタスクbがリトライタイプのロック確保待ち方法を待
合せ方法のロック確保待ち方法に変えた場合の制御の流
れであり、以下、その動作例を図面に従って説明する。 310でタスクaはロックを確保する。このとき320
でプロセサ2(タスクb)より同一ロックを確保しよう
とするが、ロック状態が「目的処理実行中」であるた
め、リトライタイプによりロック確保をくり返し再試行
する。この再試行中、330にてプロセサ1にて外部割
込みが発生し、タスクaの処理は中断される。このため
ロックの状態は「ロック目的処理中断」となる。タスク
bはリトライタイプ ロック確保再試行中にも常時監視
しており、340の時点にて状態変遷を検知し、待合せ
タイプロック確保待ち方法に移る。 350のタイミングで外部割込処理が完了すると、タス
クaは処理を再開するとともに、ロック状態は「ロック
目的処理実行中」に戻る。事象の処理が終了した360
の時点でロックの状態は「未確保」となる。このとき、
タスクbはロック解放待合せの状態にあるため、プロセ
サ1または2のいずれかが空いた時点でタスクbの処理
が再開されロック確保の後、事象の処理が実行され
る。 〔発明の効果〕 本発明によれば、ロックを確保したタスクがロック目的
処理実行中に割込/処理中断の発生がなかった時には、
そのロック目的処理実行中にロックを競合確保しようと
した他プロセサはリトライ・タイプにより待合せること
により少ないオーバヘッドでのロック確保ができ、か
つ、まれに発生するロック目的処理実行中の外部割込等
による処理中断が発生した時にはロックを競合確保しよ
うとする他プロセサがロック状態の変化を検知して、待
合せタイプのロック確保に移行することが可能となり、
マルチ・プロセサ・システムにおける性能向上が実現で
きる効果がある。
【図面の簡単な構成】
第1図は各プロセサと共有メモリ,ロック監理テーブ
ル,タスク管理テーブルの関連を説明するための図,第
2図は、リトライタイプのロック確保待合せが成功した
場合の制御の流れを示す図,第3図はリトライタイプの
ロック確保待合せが失敗した場合の制御の流れを示す図
である。 1…共有メモリ、 2…ロック管理テーブル、 3…タスク管理テーブル、 4,5…プロセッサ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数台の演算処理装置(プロセサ)より構
    成され、プロセサ間での共通資源(リソース)を排他制
    御するためのロック制御命令機構を有するマルチプロセ
    サ・コンピュータシステムにおいて、 ロック確保状態に、ロック未確保を示す第1の状態と、
    ロック確保済かつロック目的処理実行中を示す第2の状
    態と、ロック確保済かつロック目的処理中断を示す第3
    の状態を設け、 第2の状態で処理中のプロセサに外部割込による処理中
    断が発生すると、第3の状態に移行し、 あるプロセサで排他制御のためのロックを確保しようと
    する際、 目的とするロックの状態が第2の状態にあれば、そのロ
    ックが開放されるまでくり返し確保を試み、 ロックの状態が第3の状態にあるときは、ロックが開放
    されるまで当該プロセサの使用を別処理目的に開放する ことを特徴とするロック排他制御方法。
JP8900288A 1988-04-13 1988-04-13 ロック排他制御方式 Expired - Lifetime JPH061466B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8900288A JPH061466B2 (ja) 1988-04-13 1988-04-13 ロック排他制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8900288A JPH061466B2 (ja) 1988-04-13 1988-04-13 ロック排他制御方式

Publications (2)

Publication Number Publication Date
JPH01261771A JPH01261771A (ja) 1989-10-18
JPH061466B2 true JPH061466B2 (ja) 1994-01-05

Family

ID=13958605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8900288A Expired - Lifetime JPH061466B2 (ja) 1988-04-13 1988-04-13 ロック排他制御方式

Country Status (1)

Country Link
JP (1) JPH061466B2 (ja)

Also Published As

Publication number Publication date
JPH01261771A (ja) 1989-10-18

Similar Documents

Publication Publication Date Title
US4663709A (en) Control system for tightly-coupled multiprocessing units
JP2650965B2 (ja) 計算機システムおよびそのタスクスケジュール方法
JP2514299B2 (ja) プロセスレベルプログラミングのための割込み処理の直列化方法
JPH0640324B2 (ja) マルチプロセッサ・システムおよびそのプロセス同期方法
JP4056465B2 (ja) マルチスレッド・アプリケーションにおけるスレッド実行を管理するための方法及び装置
JPS60128537A (ja) 多重プログラミング・システム
JPH10283243A (ja) データベース管理システム
US5367680A (en) Rendering context manager for display adapters supporting multiple domains
JP2636722B2 (ja) マルチタスク実行管理方式
JPH061466B2 (ja) ロック排他制御方式
JPH05120039A (ja) タスクスケジユーリング方式
JPH05324569A (ja) 割り込み制御方式
JP2010026575A (ja) スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム
JPH0644234B2 (ja) タスク管理装置
JPH09160790A (ja) タスクスケジュール装置及びタスクスケジュール方法
JPH11306038A (ja) 並列演算処理装置およびその方法
JPS6125249A (ja) 排他制御方式
JPS60181934A (ja) タスク優先度制御方式
JPH0981526A (ja) マルチプロセッサシステム
JPH02244371A (ja) マルチプロセツサシステムの排他制御方法
JPS63265336A (ja) 共有資源の優先割り当て制御方式
JPH06214811A (ja) スケジューリング方式
JPH02113363A (ja) マルチプロセッサシステムにおけるタイムスライス制御方式
JPH03182945A (ja) 主記憶内データ転送方式
JP2000029850A (ja) オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080105

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20080105

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20090105

Year of fee payment: 15

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 15

Free format text: PAYMENT UNTIL: 20090105