JPH02501515A - プロセッサブロッキングの影響の減少 - Google Patents
プロセッサブロッキングの影響の減少Info
- Publication number
- JPH02501515A JPH02501515A JP50504489A JP50504489A JPH02501515A JP H02501515 A JPH02501515 A JP H02501515A JP 50504489 A JP50504489 A JP 50504489A JP 50504489 A JP50504489 A JP 50504489A JP H02501515 A JPH02501515 A JP H02501515A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- priority level
- blocked
- tasks
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program 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)
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
プロセッサブロッキングの影響の減少
発明の背景
本発明はあるプロセッサの作業が他のプロセッサの作業と衝突し一時的にブロッ
ク(阻止)された時、そのプロセッサにおいて実行可能なタスクの供給を制御す
ることに関する。このようなブロッキングは、例えば、あるプロセンサが他のプ
ロセッサが作業しているコードの臨界領域にはいろうとする時に起こる(臨界領
域は2つ以上のプロセッサによる衝突アクセスに対して共存メモリに記憶されて
いるデータを保護する為に設置されている)0通常bn界領域はあるプロセッサ
がこの領域で作業を行う場合セントされ、そうでない場合にクリアされる共有メ
モリ中のフラグによって保護される。プロセッサは常にその領域にはいる前に前
記フラグをチェックし、もしこのフラッグがセントされて11泪z、別のプロセ
ッサがその領域から外れるまで待機する。
あるシステムにおいて、その待機プロセッサはその臨界領域が開放するまで他の
タスクと作業するように割り当てられる。このような他のタスクへの切り替えは
、その切り替えタスクが実行されるごとに現在のコンテスト情報が記憶再生され
る必要があり、時間を浪費する。
他の公知の解決方法は以下の長所を有している。即ち、あるコンピュータ(例え
ば、ディジタル・イクイプメント社のVAX)において、各タスクは、例えばそ
れの相対的緊急度およびそれらを実行する相対的オーバヘッド・コストに応じて
順位づけされる32通りの割り込み優先レベルの1つに剖り当てられる。一般的
に、あるプロセッサが所与の割り込み優先レベルを有するある臨界領域でその作
業がブロックされた時、そのブロックされたプロセッサはより高次の割り込み優
先レベルを有する他のタスクのみを作業することができる。
発明の概要
本発明の一般的特長はブロックされて待機しているプロセンサによって実行可能
なタスクの供給を、それ以上でタスクの実行が許容される最小レベルにまで割り
込み優先を一時的に下げることによって増加させる点にある。
本発明の好適な実施例は以下の特長を有する。あるプロセッサが他のプロセッサ
が作業しているコードの臨界領域からブロックされる結果として衝突が生じると
、そのブロックされたプロセッサの優先レベルが臨界領域の優先レベル以下に低
下される。但し、その優先レベルは、(異なった優先レベルに対するコンテスト
切り替えオーバヘッドに基づく)ある所定の優先レベルよりも低くはなく、また
衝突が生じる前にそのブロックされるプロセッサが有していた優先レベルよりも
低くはない。
その結果、そのブロックされたプロセッサは衝突が終了するのを待機する間にさ
らにタスクを実行できる。その時、不合理な簀のコンチクスト切替えオーバヘッ
ドを招くことがな(、またそのブロックされたプロセッサの元の優先レベルより
低い優先レベルのタスクは除外される。この手法は容易に実行でき、その応用に
柔軟性がある。
他の長所と特長は以下に述べる実施例と請求の範囲によって明らかにされる。
好適な実施例の説明
先ず図面について簡単に説明する。
第1図は多重プロセッサ・コンピューターの部分プロ、り図である。
第2図は劃り込み優先レベルのチャートである。
第3図はプロセッサに対する最小側り込み優先レベルの調整に関するフロー・チ
ャートである。
盪−虞
第1図の対称多重プロセッサ(SMP)システム10において、プロセッサ11
(1)〜11(N)の数Nはバス14を介して共通メモリ12を共有する。その
メモリ12には他の物と供に、データ16、同期優先テーブル18および(臨界
領域22、各種割り込みタスク24およびセマホア・ルーチン26を含む)操作
システム・応用コード20が記憶されている。
その同期優先テーブルにおける各エントリ28は臨界領域の1つに対応し、2つ
以上のプロセッサが対応臨界領域にはいるのを防止するように作用する。フラッ
グ・フィールド30(PL)は1つのプロセッサが臨界領域で操作しているかど
うかを示す、もし、操作している場合には、そのプロセッサは、PROC・ID
・フィールド32において識別される。同期優先レベル(S P L)フィール
ド34はそのテーブル・エントリに随伴される臨界領域の割り込み優先レベルに
対応する値を含む。
第2図のVAXにおいて、32通りの割り込み優先レベル36が示される。その
内、低次の16通りのレベルはソフトウェア割り込み38であり、高次の16通
りのレベルは例えば応用プログラムからのサービス要求を含むハードウェア割り
込み40である。
プロセッサが3以上のレベルニおける剖り込みに応答すると、コンチクスト切替
えはプログラム・カウンタ(P C)およびプログラム・ステータス・ロングワ
ード(P S L)のみの保存を要求する。
一方、そのプロセッサがレベル3未満の割り込みタスクに応答すると、そのコン
チクスト切換えはすべてのレジスタが保存されることを要求する。
所定の割り込み優先レベル、例えばレベル27において数多くの臨界領域42が
存在する。同期優先テーブルにおいて与えられたエントリに対するSPLフィー
ルドは対応臨界領域の割り込み優先レベルに設定される。
第1図において、各プロセッサはそのプロセッサに対してSPL値を保持するハ
ードウェア・レジスタ44を有する。プロセッサはその割り込み優先レベルがそ
の現在のSPLより低いいかなるタスクも実行できない。
■−立
プロセッサが臨界領域にはいろうとする時、セマホア・ルーチン26が実行され
るよう制御される。
第3図に示すように、そのセマホア・ルーチンはまずプロセッサのSPLを記憶
しく50)、それから臨界領域に対応する周期優先テーブル・エントリ28を考
慮し、そのプロセッサSPLをそのテーブル・エントリ28のSPLフィールド
中の割り込み優先レベルに設定する(52)。そのセマホア・ルーチンはそれか
らフラグ・フィールド検査しセントする(54)、もし、そのフラグが予めセン
トされていなければ、その臨界e1Mは専有されていないからそのプロセッサの
みに使用できる。そしてそのプロセッサのIDがPROC・ID・フィールドに
入力され(56)、そのプロセッサがその臨界領域にはいるよう制御される(6
0)。
臨界領域の端部において、フラグはクリアされ(62)、その結果、その臨界領
域は潜在的に他のプロセッサに利用可能である。
ことを見出した時には、そのプロセッサのSPLを3又は(ステップ50に記憶
されている)そのプロセッサの元の5PLO内の大きい方の新しいSPLに低下
させる(66)、そしてそのプロセッサは、割り込み優先レベルが新しいSPL
よりも高くかつ(潜在的に)I)W界領域よりも低いようなタスクの割り込みに
自由に応答できる。各割り込みタスクを実行したi (68) 、そのプロセッ
サはセマホア・ルーチンに復帰し、再びフラグを検査する(70)。もし、その
臨界領域が占有されたままの場合はそのプロセッサは再び他の割り込みタスクを
自由に実行する(68)。
さもなければ、そのセマホア・ルーチンはそのプロセッサのSPLをテーブル・
エントリSPLに再記憶しく52)、ステップ54に進む。
そのプロセッサのSPLを低下すると、その9n界領域のSPLより高い割り込
み優先レベルを有するタスクの付与を制限することなく、また2又はそれ以下の
割り込み優先レベルのタスクへののコンチクスト切換えのオーバヘッド・コスト
を増加させることなく、実行可能なタスクの供給を増大することができる。
プロセッサの元の値以下にSPLを低下させないので、そのプロセッサは、その
臨界領域に到達する以前のレベルよりも低い優先レベルのタスクを実行すること
がないことが保証される。
他の実施例は以下の請求の範囲に示される0例えば、プロセッサがブロックされ
た時、そのプロセッサのSPLが低下する優先レベルを決定するのに別の方法を
使用することができる。
FIG /
国際調査報告
mI@+n+°owl Asmt″”” PCT/IJS ε9101586
Claims (5)
- 1.あるプロセッサの作業が他のプロセッサの作業と衝突し一時的にブロックさ れた時、そのプロセッサによって実行可能なタスクの供給を制御する方法であっ て、 優先順位におけるタスクを順位づける段階と、各プロセッサが作業を行うことを 許容されるタスクの最低優先レベルを示すそのプロセッサの優先レベルを保持す る段階と、あるプロセッサが他のプロセッサと衝突し一時的にブロックされる時 、その優先値を一時的に低下させて、ブロックされたままで実行可能なタスクの 供給を増大させる段階とから成ることを特徴とする方法。
- 2.1つのプロセッサが他のプロセッサが作業しているコードの臨界領域への入 力をブロックされる時に前記衝突が生じ、そのプロセッサの優先レベルがその臨 界領域の優先レベル以下に低下されることを特徴とする請求の範囲第1項記載の 方法。
- 3.プロセッサの優先レベルが、所定の優先レベル以下に低下しないことを特徴 とする請求の範囲第2項記載の方法。
- 4.前記所定の優先レベルが、異なった前記優先レベルで生じるコンテクスト切 換えオーバヘッドに基づいて決定されることを特徴とする請求の範囲第2項記載 の方法。
- 5.プロセッサの優先レベルが、その衝突が生じる直前に存在するブロックされ たプロセッサの優先レベル未満に低下しないことを特徴とする請求の範囲第2項 記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18163788A | 1988-04-14 | 1988-04-14 | |
US181,637 | 1988-04-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02501515A true JPH02501515A (ja) | 1990-05-24 |
JP2676034B2 JP2676034B2 (ja) | 1997-11-12 |
Family
ID=22665135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1505044A Expired - Lifetime JP2676034B2 (ja) | 1988-04-14 | 1989-04-14 | プロセッサブロッキングの影響を減少する装置 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0367816B1 (ja) |
JP (1) | JP2676034B2 (ja) |
CA (1) | CA1321033C (ja) |
DE (1) | DE68915937T2 (ja) |
WO (1) | WO1989009964A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012014287A1 (ja) * | 2010-07-27 | 2012-02-02 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
JP2014038656A (ja) * | 2013-10-24 | 2014-02-27 | Fujitsu Ltd | マルチプロセッサシステム、制御プログラム、および制御方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
-
1989
- 1989-04-13 CA CA000596573A patent/CA1321033C/en not_active Expired - Fee Related
- 1989-04-14 EP EP89905310A patent/EP0367816B1/en not_active Expired - Lifetime
- 1989-04-14 WO PCT/US1989/001586 patent/WO1989009964A1/en active IP Right Grant
- 1989-04-14 DE DE68915937T patent/DE68915937T2/de not_active Expired - Fee Related
- 1989-04-14 JP JP1505044A patent/JP2676034B2/ja not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
IBM TECHNICAL DISCLOSURE BULLETIN=1979 * |
IBM TECHNICAL DISCLOSURE BULLETIN=1983 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012014287A1 (ja) * | 2010-07-27 | 2012-02-02 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
JP5397546B2 (ja) * | 2010-07-27 | 2014-01-22 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
JP2014038656A (ja) * | 2013-10-24 | 2014-02-27 | Fujitsu Ltd | マルチプロセッサシステム、制御プログラム、および制御方法 |
Also Published As
Publication number | Publication date |
---|---|
DE68915937D1 (de) | 1994-07-14 |
EP0367816B1 (en) | 1994-06-08 |
WO1989009964A1 (en) | 1989-10-19 |
EP0367816A1 (en) | 1990-05-16 |
JP2676034B2 (ja) | 1997-11-12 |
CA1321033C (en) | 1993-08-03 |
DE68915937T2 (de) | 1995-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8230430B2 (en) | Scheduling threads in a multiprocessor computer | |
US8190864B1 (en) | APIC implementation for a highly-threaded x86 processor | |
EP1012715B1 (en) | Hardware assisted method of context switching | |
US5325536A (en) | Linking microprocessor interrupts arranged by processing requirements into separate queues into one interrupt processing routine for execution as one routine | |
US8959515B2 (en) | Task scheduling policy for limited memory systems | |
US5161226A (en) | Microprocessor inverse processor state usage | |
US7689749B2 (en) | Interrupt control function adapted to control the execution of interrupt requests of differing criticality | |
EP0783734B1 (en) | System and method for providing cooperative interrupts in a preemptive task scheduling environment | |
KR920000035A (ko) | 인터페이스 시스템 및 데이타 전송 제어방법 | |
JPH077379B2 (ja) | 多重処理システムの割込み選択方式 | |
EP0287295A2 (en) | Multiple I/O bus virtual broadcast of programmed I/O instructions | |
US20120226842A1 (en) | Enhanced prioritising and unifying interrupt controller | |
US5202991A (en) | Reducing the effect processor blocking | |
EP2495656B1 (en) | Enhanced prioritising and unifying interrupt controller | |
CN113377517A (zh) | 基于实时操作系统的线程调度方法及系统 | |
JPH02501515A (ja) | プロセッサブロッキングの影響の減少 | |
US20030204639A1 (en) | Task dispatch in priority pre-emptive real-time operating systems | |
JPH07311686A (ja) | コンピュータシステム、およびその中でシステム管理割込を発生し処理するための方法 | |
KR970706540A (ko) | 데이터의 프로세싱을 위한 시스템 및 방법과 이러한 시스템을 사용하는 통신 시스템(system and method for processing of data and a communications system with such a system) | |
JP2513811B2 (ja) | 入出力制御方式 | |
JPH1196022A (ja) | リアルタイム処理計算機 | |
KR940015818A (ko) | 다중처리 시스템에서 프로세스 디스패치 방법 | |
JPH04284555A (ja) | 外部リング遷移を行う処理装置および方法 | |
KR920009447B1 (ko) | 다중처리 시스템에서의 입출력 전담 처리장치. | |
JPH02187841A (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: 20080725 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090725 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090725 Year of fee payment: 12 |