JP2815095B2 - マルチプロセッサにおけるタスク割り当て制御方法 - Google Patents

マルチプロセッサにおけるタスク割り当て制御方法

Info

Publication number
JP2815095B2
JP2815095B2 JP1180977A JP18097789A JP2815095B2 JP 2815095 B2 JP2815095 B2 JP 2815095B2 JP 1180977 A JP1180977 A JP 1180977A JP 18097789 A JP18097789 A JP 18097789A JP 2815095 B2 JP2815095 B2 JP 2815095B2
Authority
JP
Japan
Prior art keywords
task
processing unit
time
interruption
processing
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
JP1180977A
Other languages
English (en)
Other versions
JPH0344742A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP1180977A priority Critical patent/JP2815095B2/ja
Publication of JPH0344742A publication Critical patent/JPH0344742A/ja
Application granted granted Critical
Publication of JP2815095B2 publication Critical patent/JP2815095B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、マルチプロセッサにおいて、次に実行す
るタスクを選択するためのタスク割り当て制御方法に関
するものである。
「従来の技術」 第3図はマルチプロセッサ情報処理方式を示す。複数
の処理ユニット1,2,3がシステムバス4に接続され、こ
のシステムバス4にメインメモリ5、およびシステムの
現在時刻を示すタイマ6が接続される。処理ユニット1,
2,3はそれぞれプロセッサ10,20,30およびキャッシュメ
モリ11,21,31を有する。
このように複数の処理ユニットがメインメモリを共有
して使用するマルチプロセッサシステムにおいては、各
処理ユニット、メインメモリ等のシステム資源の有効利
用を図るために、実行中のタスク(プログラム)が一時
的に休止した時、他のタスクの実行に処理ユニットを切
り替えて別の処理を行なうマルチプログラミングという
形態で複数の仕事を並行に処理している。このため、処
理ユニットは特定の処理に長時間無制限に使われること
無く、予め定められた手続きに従って計画的に時間を割
り当てられる。
タスクの割り当ては以下のように行なわれる。特定の
タスクが一定時間処理ユニットを占有すると、強制的に
処理ユニットは処理中のタスクから取り上げられて、処
理ユニットは、処理待ち状態のタスクに割り当てられ
る。また、実行中のタスクがメインメモリ資源の割り当
てを受けたり、外部から特定の情報を得るまで処理を進
めることができなくなった場合、そのタスクは自ら処理
ユニットを放棄し、他の実行待ち状態のタスクに処理ユ
ニットが割り当てられる。
一方、キャッシュメモリには、一般に、以下に示す動
作特性がある。タスクの処理を処理ユニットで初めて行
なう場合、処理ユニットにおいては、プロセッサが要求
するメインメモリ上のブロックは自処理ユニットのキャ
ッシュメモリに存在せず、プロセッサが要求するブロッ
クはシステムバスを介してメインメモリから転送(初期
ブロック転送)され、同時にキャッシュメモリにも格納
される。実行開始から一定時間が経過すると、プロセッ
サから要求されるほとんどのブロックは、キャッシュメ
モリに存在するようになり、そのキャッシュメモリのブ
ロックを利用するため、メインメモリからのブロック転
送回数はタスクの実行を開始した当初より減少する。第
4図に初めてタスクが実行された場合のメインメモリか
らキャッシュメモリへのブロック転送回数と時間との関
係を示す。タスクの処理が開始された時点では、タスク
が使用するほとんどのブロックがキャッシュメモリに格
納されていないため、ブロック転送回数が多い。しか
し、時間が経過するに伴い、タスクが使用するブロック
はキャッシュメモリ内に存在するようになるため、ブロ
ック転送回数は減少する。
プロセッサで実行されるタスクが使用するブロック
が、その処理ユニットのキャッシュメモリ内に存在しな
い場合、当該ブロックをシステムバスを介してメインメ
モリから転送する必要がある。メインメモリからのブロ
ックの読み出し時間はキャッシュメモリからの読み出し
時間に比べて長く、タスクの処理が遅くなる。また、第
3図に示すようなマルチプロセッサシステムにおいて
は、メインメモリから各処理ユニットへのブロック転送
回数が増加すると、システムバスの使用率が高くなり、
システムバスでの競合により、メインメモリからキャッ
シュメモリへのブロック転送時間がさらに長くなる。こ
のことより、メインメモリからキャッシュメモリへのブ
ロック転送回数を少なくすることが望ましい。
「発明が解決しようとする課題」 従来のタスク割り当て制御方式では、予めタスクに与
えられた優先順位が高く、最も古く実行待ち状態となっ
た(最も待ち時間が長い)タスクに優先して処理ユニッ
トが割り付けられるため、処理ユニットの数が増加する
程、再開したタスクが中断前に実行していた処理ユニッ
トと異なる処理ユニットに割り当てられることが多く、
再開したタスクが中断前に実行していた処理ユニットと
異なる処理ユニットに割り当てられた場合、メインメモ
リからの初期ブロック転送を行なう必要があるために、
メインメモリからのブロック転送回数が増加する欠点が
あった。
この発明の目的はこれらの欠点を除去するために、再
開するタスクを中断前に実行していた処理ユニットに優
先して割り当て、メインメモリからキャッシュメモリへ
のブロック転送回数を減少させ、システムバスの使用率
を減少させることができるマルチプロセッサにおけるタ
スク割り当て制御方法を提供することにある。
「課題を解決するための手段」 この発明によれば処理ユニットUが、実行中のタスク
が中断または終了し、実行を待っているタスクの中から
次に実行するタスクを選択する時に、それぞれの処理ユ
ニットがタスクの処理を中断した時に記録した自己の識
別子と中断した時の時刻とを読み出して、中断前に実行
していた処理ユニットがUであるタスク、または中断時
間があらかじめ定めた時間以上であるタスク、あるいは
初めて実行されるタスクを選択する。
「実施例」 マルチプログラミングにより複数のタスクを並列に処
理するために、各タスクごとにタスクコントロールブロ
ック(TCB)が設けられ、タスクの処理が中断した時
に、処理ユニットはそのタスクのTCBに中断した処理を
再開させるための情報を格納している。
この発明において処理ユニットUが次に実行するタス
クを選択する時に、中断前に実行していた処理ユニット
がUであるタスク、または中断時間があらかじめ定めた
時間以上であるタスクを選択するが、このためにタスク
の処理が中断した時に、処理ユニットは第1図に示すよ
うにタスクコントロールブロック(TCB)に、中断前に
タスクを実行していた処理ユニットの識別子と、タスク
が中断された時刻も格納させる。なおタスクが初めて実
行される場合は中断された時刻には値「0」が格納され
る。また初めて処理ユニットに割り付けられるタスクの
場合は、中断前にタスクを実行していた処理ユニットの
識別子の代りに他の値が格納される。
中断されたタスクのTCBは、タスクが中断される原因
が解消し、処理ユニットを割り当てられることにより実
行が可能な状態となった時、処理待ちタスクのTCBリス
トに追加される。
タスクの処理を中断もしくは終了した処理ユニットU
は、第2図に示す一連の処理を行い、処理待ちタスクの
TCBリストから次に実行するタスクのTCBを選択する。ま
ずステップ41において、処理ユニットUは、処理待ち状
態にあるタスクのTCBリストからあらかじめ定めた手続
きに従い1つのTCBを選択する。
次にステップ42において、ステップ41で選択したタス
クのTCBに格納されている中断された時刻が「0」であ
れば(初めて実行されるタスクであれば)、ステップ47
に分岐し、ステップ41で選択したタスクのTCBを処理待
ち状態にあるタスクのTCBリストから削除し、その選択
したタスクの実行を開始する。ステップ41で選択したタ
スクのTCBに格納されている中断された時刻が「0」で
なければ、ステップ43を実行する。
ステップ43においては、中断時間(=現在時刻−中断
された時刻)が予め定めた値以上であるか、またはステ
ップ41で選択したタスクを中断前に実行していた処理ユ
ニットがUであれば、ステップ47に分岐し、ステップ41
で選択したタスクのTCBを処理待ち状態にあるタスクのT
CBリストから削除し、その選択したタスクの実行を開始
する。他方、中断時間(=現在時刻−中断された時刻)
が予め定めた値より小さくかつステップ41で選択したタ
スクを中断前に実行していた処理ユニットがUでなけれ
ば、ステップ44を実行する。ステップ44では処理待ち状
態にあるタスクのTCBリストから予め定められた手続き
に従い選択されていない1つのTCBを選択する。次のス
テップ45ではステップ44で選択する前の状態において、
処理待ち状態にあるタスクのTCBリストに選択されてな
いタスクが存在すればステップ42に戻り、ステップ44で
選択したTCBについてステップ42,43を実行する。ステッ
プ44で選択する前の状態で処理待ち状態にあるタスクの
TCBリストに選択されていないタスクが存在しなければ
ステップ46を実行する。
ステップ46においては、以上の処理から、初めて実行
されるタスク、あるいは中断時間(=現在時刻−中断さ
れた時刻)が予め定めた値以上であるタスク、または中
断前に実行していた処理ユニットがUであるタスクが、
処理待ち状態にあるタスクのTCBリストに存在しないの
で、処理待ち状態にあるタスクのTCBリストからあらか
じめ定めた手続きに従い1つのTCBを選択し、ステップ4
7を実行する。ステップ47においては、ステップ46で選
択したタスクのTCBを処理待ち状態にあるタスクのTCBリ
ストから削除し、ステップ46で選択したタスクの実行を
開始する。
以上のようにこの発明により、処理待ち状態のタスク
から次に実行するタスクを選択する際、中断されていた
タスクを中断前に実行していた処理ユニットに優先して
割り当てることができ、メインメモリからキャッシュメ
モリへのブロック転送回数を減少させることが可能とな
る。
また、この発明の方式では、単純に、中断されたタス
クを中断される前の処理ユニットに割り当てるだけでな
く、タスクの中断時間が予め定めた時間を越えた場合に
は、任意の処理ユニットに割り付けるようにしている。
これは、タスクが中断されている間、中断前の処理ユニ
ットで他のタスクのブロック転送が行なわれることによ
り、中断される以前の転送したブロックがキャッシュメ
モリに存在しなくなった場合、中断されたタスクは、中
断前の処理ユニットで実行される必要性がなくなるから
である。中断時間が予め定めた時間を越えたタスクを任
意の処理ユニットに割り付けることにより、中断された
タスクが中断前に実行された処理ユニットに割り当てら
れるまで、長い時間待つことがなくなり、タスクの実行
を行なっていない処理ユニットを有効に活用することが
可能となる。
「発明の効果」 以上説明したように、この発明により、処理待ち状態
のタスクは、中断される前に実行されていた処理ユニッ
トに優先的に割り付けられ、中断前にメインメモリから
キャッシュメモリに格納したブロックをタスクの再開後
も使用することが可能となり、再開後のメインメモリか
らキャッシュメモリへのブロック転送回数を減少させる
ことが可能となる。
また、キャッシュメモリに格納されているブロックを
書き換えた場合、これと同一のブロックが格納されてい
る他のキャッシュメモリについてもそのブロックを書き
換えてこれら各キャッシュメモリ間で対応ブロックを一
致させる必要がある。この発明ではタスクが同一の処理
ユニットで実行されることにより、各キャッシュメモリ
に共通に格納されるブロックの数が減少するため、キャ
ッシュメモリに格納されているブロックを書き換えた場
合、各キャッシュメモリ間で対応ブロックを一致させる
ための処理の回数が減少する利点もある。
【図面の簡単な説明】
第1図はこの発明に用いられるタスクコントロールブロ
ック(TCB)を示す図、第2図はこの発明の実施例の動
作例を示す流れ図、第3図はマルチプロセッサ情報処理
方式を示すブロック図、第4図はメインメモリからキャ
ッシュメモリへのブロック転送回数と時間との関係を示
す図である。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】メインメモリと複数の処理ユニットとがシ
    ステムバスで接続され、各処理ユニットはそれぞれプロ
    セッサおよびキャッシュメモリから成り、タスクの実行
    の際に必要とするメインメモリの内容を自己のキャッシ
    ュメモリから読み出し、キャッシュメモリにその内容が
    ない場合はその内容を上記メインメモリから読み出すと
    共にその読み出した内容を自己のキャッシュメモリに格
    納するするマルチ プロセッサ情報処理方式において、 それぞれの処理ユニットはタスクの処理を中断した時
    に、自己の識別子と中断した時の時刻を、中断したタス
    ク毎に記録し、 処理ユニットUは、実行中のタスクが中断または終了
    し、実行を待っているタスクの中から次に実行するタス
    クを選択する時、上記記録を読み出して、中断前に実行
    していた処理ユニットがUであるタスクまたは、中断時
    間があらかじめ定めた時間以上であるタスク、あるいは
    初めて実行されるタスクを選択することを特徴とするマ
    ルチプロセッサにおけるタスク割り当て制御方法。
JP1180977A 1989-07-12 1989-07-12 マルチプロセッサにおけるタスク割り当て制御方法 Expired - Fee Related JP2815095B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1180977A JP2815095B2 (ja) 1989-07-12 1989-07-12 マルチプロセッサにおけるタスク割り当て制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1180977A JP2815095B2 (ja) 1989-07-12 1989-07-12 マルチプロセッサにおけるタスク割り当て制御方法

Publications (2)

Publication Number Publication Date
JPH0344742A JPH0344742A (ja) 1991-02-26
JP2815095B2 true JP2815095B2 (ja) 1998-10-27

Family

ID=16092589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1180977A Expired - Fee Related JP2815095B2 (ja) 1989-07-12 1989-07-12 マルチプロセッサにおけるタスク割り当て制御方法

Country Status (1)

Country Link
JP (1) JP2815095B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007017932A1 (ja) * 2005-08-09 2007-02-15 Fujitsu Limited スケジュール制御プログラム及びスケジュール制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5447545A (en) * 1977-09-22 1979-04-14 Nec Corp Multiple processor system
JPS603229B2 (ja) * 1978-12-21 1985-01-26 株式会社東芝 情報処理方式
JPS62115567A (ja) * 1985-11-15 1987-05-27 Nec Corp 多重プロセサシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007017932A1 (ja) * 2005-08-09 2007-02-15 Fujitsu Limited スケジュール制御プログラム及びスケジュール制御方法

Also Published As

Publication number Publication date
JPH0344742A (ja) 1991-02-26

Similar Documents

Publication Publication Date Title
EP0384635B1 (en) Adaptive job scheduling for multiprocessing systems
JP3557947B2 (ja) 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体
US4914570A (en) Process distribution and sharing system for multiple processor computer system
EP1503292B1 (en) DMA controller with bus occupation time limitation and sets of DMA parameters for a plurality of logical processors
JP2000215099A (ja) 情報処理装置の資源管理装置、及び情報処理システムにおける資源管理方法
JP2815095B2 (ja) マルチプロセッサにおけるタスク割り当て制御方法
JP3524961B2 (ja) マルチプロセッサシステムおよび同システムにおけるタスクスケジューリング方法
JPS63636A (ja) タスク制御方式
JPH06318191A (ja) マルチスレッド処理方式
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
JPH0532771B2 (ja)
JP3005397B2 (ja) デッドロック多発自動回避方式
JP2988427B2 (ja) ジョブ操作方式、ジョブ操作方法およびジョブ操作プログラムを記録した記録媒体
JPH02113363A (ja) マルチプロセッサシステムにおけるタイムスライス制御方式
JP3022848B2 (ja) マルチタスクのタスク切り替え方法とリアルタイム・オペレーティング・システム
JPS58115569A (ja) マルチプロセツサ方式
JPS62226236A (ja) トランザクシヨン処理システムにおける資源待ちの状態の中断と再開始処理方式
JPH03116335A (ja) 非特権cpuから特権cpuヘの乗り移り方式
JPS635790B2 (ja)
JPS6227413B2 (ja)
JPS58142451A (ja) 割込制御方式
JPS63220380A (ja) デ−タ収集制御方式
JPH0351918A (ja) タスク実行レベルによる有効ローディング方式
JPH07200283A (ja) 常駐ロードモジュールの入れ換えシステム
JPH02171834A (ja) 密結合マルチプロセツサにおけるタスクスケジュール方式

Legal Events

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