JPH0782444B2 - タスクスケジユ−ル方式 - Google Patents

タスクスケジユ−ル方式

Info

Publication number
JPH0782444B2
JPH0782444B2 JP25821086A JP25821086A JPH0782444B2 JP H0782444 B2 JPH0782444 B2 JP H0782444B2 JP 25821086 A JP25821086 A JP 25821086A JP 25821086 A JP25821086 A JP 25821086A JP H0782444 B2 JPH0782444 B2 JP H0782444B2
Authority
JP
Japan
Prior art keywords
task
resource
overhead
ratio
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 - Fee Related
Application number
JP25821086A
Other languages
English (en)
Other versions
JPS63113738A (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 JP25821086A priority Critical patent/JPH0782444B2/ja
Publication of JPS63113738A publication Critical patent/JPS63113738A/ja
Publication of JPH0782444B2 publication Critical patent/JPH0782444B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はメモリを共用するマルチプロセッサシステムに
おけるタスクのスケジューリング方式に関するものであ
る。
〔従来の技術〕
タスクスケジューリング方式において、従来は先入れ先
出し方式、プライオリティによる方式、プロセッサ使用
時間の長いタスクよりI/Oの多いタスクを優先する方
式、処理時間の目標値を守るように処理順序を変える方
式等があった。これら方式では、タスクのリソース使用
状況および要求状況は考慮されていなかった。また、特
願昭61−133641号に示すようにタスク切り換えオーバー
ヘッドが十分小の場合はプライオリティを無視してリソ
ースを使用するタスクをいずれかのプロセッサで必ず処
理していることにより将来のリソースネックを防止して
スループットを向上させることができる。
〔発明が解決しようとする問題点〕
従来の方式においては、タスクがリソースを解放する都
度タスクの再スケジュールを行っていた。この方式では
タスク切り換えのオーバーヘッドが小さい場合は最大の
スループットを実現できるが、オーバーヘッドの大きい
場合処理能力が低下してしまう。
〔問題を解決するための手段〕
本発明は上記の目的のため、従来のタスクキューの他に
リソース待ちキューを追加する。リソース競合時は、リ
ソース待ちキューにタスクを入れる。タスクスケジュー
ル時に、リソースが使用中かどうかを調べ、リソース未
使用ならリソース待ちキュー中のタスクをまずスケジュ
ールする。また、タスクがリソースを解放した場合、他
にリソース待ちをしているタスクがあればタスク切り換
えを行うべきかをあらかじめ設定したフラグによって決
定する。このフラグをタスク切り換えオーバーヘッドと
タスクのリソース占有解放の一周期のオーバーヘッドの
比較によって設定する手段を持つ。
〔作用〕
本発明の作用は、メモリを共用するプロセッサ上のタス
クスケジューラにおいてタスクが複数の排他リソースを
高い割合で使用する場合、これらリソースを待っている
タスクがある時に、タスクがリソースを解放した場合に
リソース待ちをしているタスクに切り換えるかどうか
を、タスク切り換えオーバーヘッドを考慮して決めるこ
とにより、将来発生し得るプロセッサのアイドルを防止
しつつ、タスク切り換えオーバーヘッドによる性能の低
下を防止する。
〔実施例〕
以下、本発明の一実施例を説明する。第1図は、本発明
のタスクスケジューラの概要図である。タスクスケジュ
ーラ1.は、各タスクの終了時リソースの占有解放時ある
いは入出力要求時などに、次に処理するタスクを選択し
起動するために起動される。本実施例ではリソースとし
て以下の条件を満足するものを想定する。リソースの要
求はプロセッサを割り当てられているタスクからのみ行
う。タスクの入出力要求時などタスクがプロセッサを割
り当て可能でない状態になる時は必ずリソースを解放す
ることにより、リソースは現在プロセッサを割り当てら
れている、あるいは割り当て可能で中断されているタス
クのみが占有している。
タスクの状態遷移は第2図に示すように行われる。タス
クは生成されるとレディ状態10.に入り、リソース非占
有実行状態11.で終了する(この処理は図示せず)。レ
ディ状態10.のタスクはタスクスケジューラによりリソ
ース非占有実行状態11.に入る。リソース非占有実行状
態11.のタスクがリソースを使用する時、リソース占有
処理が成功した場合はリソース占有実行状態12.に、失
敗した場合はリソース待ち状態13.に入る。リソース占
有実行状態12.でリソース解放時は、リソース解放処理
により他にリソース待ちタスクで使用可能なものがある
場合でディパッチフラグ20.がオンならレディ状態10.
に、そうでなければリソース非占有実行状態11.に入
る。リソース待ち状態13.のタスクはタスクスケジュー
ラにより選択された場合にリソース占有実行状態12.と
なる。リソース非占有実行状態11.、およびリソース占
有実行状態12.でタスク中断が発生した場合、中断処理
によりそれぞれレディ状態10.、およびリソース占有中
断状態14.に入る。リソース占有中断状態14.のタスクは
タスクスケジューラに選択された場合、リソース占有実
行状態12.に戻る。なお、第1図ではリソース占有中断
状態のタスクはリソース待ちキューの先頭に置かれる。
第3図に処理の流れを示すように、タスクスケジューラ
1.は、まず、リソース使用中フラグ2.を見て他のプロセ
ッサが当該リソースを使用中でなければリソース待ちキ
ュー3.の先頭のタスクを取り出しスケジュールする。ス
ケジュールすべきタスクがなければ、レディキュー4.よ
りタスクをスケジュールする。
タスクからリソースの占有解放を行う場合次のようにす
る。第4図に示すように占有要求時、リソース使用中フ
ラグがONならリソース待ちキュー3.へ入る。そしてタス
クスケジューラへ行く。
解放時は第5図に示すように、ディスパッチフラグ20.
がONで他のリソース待ちキュー中のタスクがあるならば
自タスクを中断し、そのタスクを起動するためタスクス
ケジューラへ行く。
タスク中断処理は第6図に示すように、タスクがリソー
スを使用中であればリソース待ちキューの先頭に、そう
でなければレディキューに入れる。
第7図はディスパッチフラグ20.の設定処理を示す。あ
らかじめ与えられたディスパッチ一回当たりのダイナミ
ックステップ数と、タスクの一回当たりのリソース占有
処理ステップ数+リソース非占有処理ステップ数の比
が、あらかじめ定められた比例定数よりも大きければデ
ィパッチフラグをオフに設定し、小さければオンに設定
する。
〔発明の効果〕
本発明によれば、ディスパッチオーバーヘッドの小さい
時、リソースの競合による性能の低下を防止し、ディス
パッチオーバーヘッドの大きな時、逆にディスパッチを
防止することにより、システムのタスク処理能力を最大
にすることを可能にした。
【図面の簡単な説明】
第1図は本発明の一実施例によるタスクスケジューラの
処理概要図、第2図はタスクの状態遷移図、第3図はタ
スクスケジューラの処理の流れ図、第4図はリソース占
有時の処理の流れ図、第5図はリソース解放時の処理の
流れ図、第6図はタスク中断処理の流れ図、第7図はデ
ィスパッチフラッグ設定の処理の流れ図である。 〔符号の説明〕 1.タスクスケジューラ、2.リソース使用中フラグ、3.リ
ソース待ちキュー、4.レディキュー、5.リソーステーブ
ル、10.レディ状態、11.リソース非占有実行状態、12.
リソース占有実行状態、13.リソース待ち状態、14.リソ
ース占有中断状態、20.ディスパッチフラグ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】主メモリを共用する複数のプロセッサを有
    するマルチプロセッサシステム上で、共通のリソースを
    交互に排他使用する複数のタスクをスケジュールするた
    めのタスクスケジュール方法において、プロセッサ上で
    実行中のタスクが前記リソースの使用を終了したことに
    応じて、タスク切り替えのオーバヘッドとタスクのリソ
    ース占有、開放の一周期の処理のオーバヘッドとの比が
    予め与えられた値を越えるか否か判定し、該判定の結
    果、前記オーバヘッドの比が前記予め与えられた比より
    も大きい場合に、前記リソースを開放したタスクを継続
    して前記プロセッサ上で実行させ、前記オーバヘッドの
    比が前記予め与えられた比よりも小さい場合に、前記タ
    スクの実行を中断し、他のタスクを実行させることを特
    徴とするタスクスケジュール方式。
  2. 【請求項2】前記リソースの使用待ちの状態にあるタス
    クが存在する場合、前記他のタスクとして、前記リソー
    ス待ちのタスクを優先的に割り当てることを特徴とする
    特許請求の範囲第1項記載のタスクスケジュール方式。
JP25821086A 1986-10-31 1986-10-31 タスクスケジユ−ル方式 Expired - Fee Related JPH0782444B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25821086A JPH0782444B2 (ja) 1986-10-31 1986-10-31 タスクスケジユ−ル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25821086A JPH0782444B2 (ja) 1986-10-31 1986-10-31 タスクスケジユ−ル方式

Publications (2)

Publication Number Publication Date
JPS63113738A JPS63113738A (ja) 1988-05-18
JPH0782444B2 true JPH0782444B2 (ja) 1995-09-06

Family

ID=17317044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25821086A Expired - Fee Related JPH0782444B2 (ja) 1986-10-31 1986-10-31 タスクスケジユ−ル方式

Country Status (1)

Country Link
JP (1) JPH0782444B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12487849B2 (en) 2022-05-17 2025-12-02 Toyota Jidosha Kabushiki Kaisha Resource management device, method, and computer program for resource management

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN121411409B (zh) * 2025-12-26 2026-03-13 大连致胜科技有限公司 一种车载域控的智能测试设备协同控制系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12487849B2 (en) 2022-05-17 2025-12-02 Toyota Jidosha Kabushiki Kaisha Resource management device, method, and computer program for resource management

Also Published As

Publication number Publication date
JPS63113738A (ja) 1988-05-18

Similar Documents

Publication Publication Date Title
JP3678414B2 (ja) 多重プロセッサ・システム
US6779182B1 (en) Real time thread dispatcher for multiprocessor applications
JP2005508550A (ja) ダイナミックランダムアクセスメモリデバイスへの要求をスケジュールする方法及び装置
JPH0782444B2 (ja) タスクスケジユ−ル方式
JP2667575B2 (ja) タスクスケジューリング方式
JPH0644234B2 (ja) タスク管理装置
JPS636655A (ja) タスクスケジユ−ル方式
JPS62290958A (ja) タスクスケジユ−ル方式
JPH0640315B2 (ja) 中央処理装置割り当て制御方式
JPH1074150A (ja) プロセススケジューリング方法ならびにそのためのプロセススケジューリング装置およびプログラム記憶媒体
JPS63300326A (ja) トランザクション実行スケジュ−ル方式
JPS6316775B2 (ja)
JPH0612394A (ja) プロセススケジュール方式
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
JPH0586574B2 (ja)
WO1992003783A1 (en) Method of implementing kernel functions
JPH03182937A (ja) マルチタスクシステムのタスク管理機構
JPS63301332A (ja) ジョブ実行方式
JPH09282185A (ja) リアルタイムシステムおよびその資源管理方法
WO1992003784A1 (en) Scheduling method for a multiprocessing operating system
JPS62271147A (ja) タスク制御方法
JPS5924349A (ja) マルチタスク計算機システムのタスクスケジユ−ル方式
JPH0128418B2 (ja)
JPS6079461A (ja) 負荷分散方式
JPH08272728A (ja) 中央処理装置の使用権配分最適化方法及び中央処理装置の使用権配分最適化システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees