JPH06259395A - プロセススケジューリング方式 - Google Patents

プロセススケジューリング方式

Info

Publication number
JPH06259395A
JPH06259395A JP5041471A JP4147193A JPH06259395A JP H06259395 A JPH06259395 A JP H06259395A JP 5041471 A JP5041471 A JP 5041471A JP 4147193 A JP4147193 A JP 4147193A JP H06259395 A JPH06259395 A JP H06259395A
Authority
JP
Japan
Prior art keywords
processor
scheduling
bus
processors
traffic
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.)
Pending
Application number
JP5041471A
Other languages
English (en)
Inventor
Toshiki Kitsu
俊樹 岐津
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP5041471A priority Critical patent/JPH06259395A/ja
Publication of JPH06259395A publication Critical patent/JPH06259395A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】マルチプロセッサシステムにおいて、プロセス
のスケジューリングを適切に行うことにより、バスのト
ラフィックを低下させ効率のよいプロセスの実行を実現
することを目的とする。 【構成】バストラフィック監視装置によりバスのトラフ
ィックを監視し、プロセッサにバスのトラフィックおよ
びプロセスのスケジューリングに関する情報を通知す
る。バスのトラフィックがあるしきい値を越えている場
合にあプロセッサ間でのプロセスの移動を抑止するよう
なプロセスのスケジューリングを行い、下回った場合に
は、任意のプロセッサ間でのプロセスの移動を許すよう
なプロセスのスケジューリングを行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、マルチプロセッサシ
ステムにおけるプロセス実行の高速化を実現するための
プロセススケジューリング方式に関する。
【0002】
【従来の技術】マルチプロセッサシステムにおいては、
プロセスを各プロセッサに割り当てるためのスケジュー
リングが必要となる。従来のマルチプロセッサシステム
では、アイドル状態になったプロセッサにプロセスを適
宜割り当てて行くため、プロセッサ間でのプロセスの移
動が煩雑に起こり、そのためプロセス間でのキャッシュ
のスヌープ処理が煩雑に起こり、バスのトラフィックが
増大し、システム性能を悪化させる一因となっていた。
【0003】
【発明が解決しようとする課題】このように従来のマル
チプロセッサシステムでは、プロセスのスケジューリン
グの際にバスのトラフィックを考慮していないため、プ
ロセスのプロセッサ間での移動が煩雑に起こり、そのた
めプロセッサ間でのキャッシュのスヌープ処理が煩雑に
起こり、バスのトラフィックが増大し、システム性能が
悪化するという問題があった。
【0004】この発明の目的は、上記従来技術の欠点を
除去し、プロセスのスケジューリングを適切に行うこと
により、バスのトラフィックを低下させ効率の良いプロ
セスの実行を実現するプロセススケジューリング方式を
提供することである。
【0005】
【課題を解決するための手段および作用】上記目的を達
成するため、この発明によれば、複数のプロセッサがバ
スを介して結合されたマルチプロセッサシステムにおい
て、バスのトラフィック量を監視する手段と; プロセ
ッサにバスのトラフィックおよびプロセスのスケジュー
リングに関する情報を通知する手段と;バスのトラフィ
ック量があるしきい値を越えている場合にプロセッサ間
でのプロセスの移動を抑止するようなプロセスのスケジ
ューリングを行う手段と;バスのトラフィック量がある
しきい値を下回った場合に任意のプロセッサ間でのプロ
セスの移動を許すようなプロセスのスケジューリングを
行う手段とを備えている。
【0006】この発明によれば、バスのトラフィックが
あるしきい値を越えている場合には、プロセッサ間での
プロセスの移動を抑止するようなスケジューリングを行
い、この結果プロセッサ間でのキャッシュのスヌープ処
理が抑制され、バスのトラフィックが減少し、プロセス
の効率良い実行が可能となる。
【0007】
【実施例】図1は、この発明のプロセススケジューリン
グ方式が適用されるマルチプロセッサシステムの一実施
例を示すブロック図である。このマルチプロセッサシス
テムは複数のプロセッサが各々個別にキャッシュメモリ
を持つ主記憶共有型マルチプロセッサシステムである。
複数のプロセッサ11a,11b,11c,11dがバ
ス16を介して結合されている。各プロセッサ11a,
11b,11c,11dはそれぞれキャッシュメモリ1
8a,18b,18c,18dを有している。さらに前
記バス16には、バストラフィック監視装置12および
共有メモリ13が接続される。各プロセッサ11a,1
1b,...11dは、プロセスを実行する際に共有メ
モリ13上にあるディスパッチキュー14を見に行き、
そこから順次プロセスを実行していく。この時、各プロ
セス情報格納用領域15a,15b,...15e中の
実行プロセッサフィールド17a,17b,...17
eにそのプロセスがどのプロセッサで格納されるべきか
を格納しておく。通常はこの領域には”−1”を書いて
おき、どのプロセッサで実行されても良いことを示す。
一方バストラフィック監視装置12は常にバス16のト
ラフィックを監視し、トラフィックがあるしきい値を越
えると、バス16を介してすべてのプロセッサ11a、
11b,11c,11dに信号を送るとともに、トラフ
ィックがしきい値を越えたことを記憶する。この記憶す
る領域は、共有メモリ上に確保してもよいし、バストラ
フィック監視装置内にメモリを設け、格納してもよい。
各プロセッサはこの信号を受け取ると、現在実行中のプ
ロセスについて、プロセス情報格納用領域15a,15
b,...15e中の実行プロセッサIDフィールド1
7a,17b,...17eにそのプロセッサIDを書
き込み、以後そのプロセスが特定のプロセッサのみで実
行されるようにする。また、各プロセッサは新たにプロ
セスを実行する際には、プロセス情報格納用領域15
a,15b,...15e中の実行プロセッサIDフィ
ールド17a,17b,...17eの値を読み取り、
その値が自分のプロセッサIDと一致するか、あるいは
その値が”−1”の場合にのみそのプロセスを実行す
る。実行プロセッサIDフィールド17a,17
b,...17eの値が”−1”の場合には、そのプロ
セッサIDを書き込むことにより、各プロセスが特定の
プロセッサ上でのみ実行されるようにする。ただし、あ
るプロセッサが実行できるプロセスがなくなった場合に
は、ディスパッチキューを見に行き、そこが空でない場
合には、他の実行プロセッサIDフィールドを変更す
る。このようにして、プロセスが特定プロセッサ上での
み実行されるような制御を行うことにより、プロセッサ
間でのキャッシュのスヌープ処理を抑制し、バスのトラ
フィックを減少させることができる。
【0008】このようにしてバス16のトラフィックが
減少していき、トラフィックがあるしきい値より下がっ
た場合には、バストラフィック監視装置はバス16を介
してすべてのプロセッサに信号を送るとともに、トラフ
ィックがしきい値より下がったことを記憶する。各プロ
セッサ11a,11b,11c,11dはこの信号を受
け取ると、現在実行中のプロセスについて、そのプロセ
スのプロセス情報格納用領域15a,15b,...1
5e中の実行プロセッサIDフィールド17a,17
b,...17eに”−1”を書き込み、以後どのプロ
セッサ11a,11b,11c,11dがそのプロセス
を実行してもよいことを示す。また各プロセッサ11
a,11b,11c,11dは新たにプロセスを実行す
るたびに、そのプロセスのプロセス情報格納用領域15
a,15b,...15e中の実行プロセッサIDフィ
ールド17a,17b,...17eが”−1”でない
場合には”−1”を書き込むことにより、再び各プロセ
スが任意のプロセッサ11a,11b,11c,11d
上で実行できるようにし、マルチプロセッサ間での負荷
分散をはかっていく。
【0009】図2は、図1に示すバストラフィック監視
装置12のアルゴリズムを示すフローチャートである。
ステップ21においてバストラフィック監視装置12
は、バス16のトラフィックを監視し、ステップ23にお
いてバス16のトラッフィクがしきい値を越えたかどうか
判断する。ステップ23において、バス16のトラフィッ
クがしきい値を越えた場合には、プロセッサ固定のスケ
ジューリングに変更したことを記憶し、ステップ27に
おいて、すべてのプロセッサ11a,11b,11c,
11dにスケジューリングを変更するよう信号を送り知
らせる。また、ステップ31において、バス16のトラフ
ィックがあるしきい値より下がった場合には、プロセッ
サ自由のスケジューリングに変更したことを記憶し、ス
テップ35においてすべてのプロセッサ11a,11
b,11c,11dにスケジューリングを変更するよう
信号を送り知らせる。
【0010】図3および図4は図1に示す実施例におい
て、スケジューリングの変更を決定する際に用いられる
しきい値の決定法を示す概念図であり、縦軸がバスのト
ラフィック量を表す。
【0011】バストラフィック監視装置12がスケジュ
ーリングの変更を決定する際に用いるしきい値は、図3
のようにプロセッサ自由のスケジューリング→プロセッ
サ固定のスケジューリングのしきい値と、プロセッサ固
定のスケジューリング→プロセッサ自由のスケジューリ
ングのしきい値を同じに設定してもよいし、図4のよう
にプロセッサ自由のスケジューリング→プロセッサ固定
のスケジューリングのしきいとプロセッサ固定のスケジ
ューリング→プロセッサ自由のスケジューリングのしき
い値を変えてもよい。これらのしきい値の設定は例え
ば、計算機システムによってもまたオペレーティングシ
ステム(OS)によっても異なるので、シュミレーショ
ンや性能評価試験を行って適宜きめればよい。
【0012】
【発明の効果】以上説明したように、この発明によれ
ば、バスのトラフィックを監視してバスのトラフィック
があるしきい値を越えている場合には、プロセッサ間で
のプロセスの移動を抑止するようなスケジューリングを
行い、この結プロセッサ間でのキャッシュのスヌープ処
理が抑制され、バスのトラフィックが減少し、プロセス
の効率のよい実行が可能となる。
【図面の簡単な説明】
【図1】この発明のプロセススケジューリング方式が適
用されるマルチプロセッサシステムの一実施例を示すブ
ロック図。
【図2】図1に示すバストラフィック監視装置の処理の
流れを示すフローチャート。
【図3】図1に示す実施例において、スケジューリング
の変更を決定する際に用いられるしきい値の決定法を示
す概念図。
【図4】図1に示す実施例において、スケジューリング
の変更を決定する際に用いられるしきい値の決定法を示
す概念図。
【符号の説明】
11a、11b,11c,11d...プロセッサ、1
2...バストラフィック監視装置、13...メモ
リ、14...ディスパッチキュー、15a,15b,
15c,15d,15e...プロセス情報格納用領
域、16...バス、17a,17b,17c,17
d,17e...実行プロセッサIDフィールド

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサがバスを介して結合さ
    れたマルチプロセッサシステムにおいて、 バスのトラフィック量を監視する手段と;プロセッサに
    バスのトラフィックおよびプロセスのスケジューリング
    に関する情報を通知する手段と;バスのトラフィック量
    があるしきい値を越えている場合にプロセッサ間でのプ
    ロセスの移動を抑止するようなプロセスのスケジューリ
    ングを行う手段と;バスのトラフィック量があるしきい
    値を下回った場合に任意のプロセッサ間でのプロセスの
    移動を許すようなプロセスのスケジューリングを行う手
    段とを備えたことを特徴とするプロセススケジューリン
    グ方式。
  2. 【請求項2】 各々個別にキャッシュメモリを持つ複数
    のプロセッサがバスに結合された主記憶共有型マルチプ
    ロセッサシステムにおいて、 前記バスのトラフィック量を監視するバストラフィック
    監視装置と;前記バストラフィック監視装置の監視トラ
    フィック量が設定値を越えたとき、前記各プロセッサで
    実行している各プロセスについて当該プロセッサに固定
    割付してプロセッサ固定のスケジューリングを設定する
    手段と;前記バストラフィック監視装置の監視トラフィ
    ック量が設定値以下のとき、前記各プロセッサで実行し
    ている各プロセスについて任意のプロセッサに割付して
    プロセッサ任意のスケジューリングを設定する手段とを
    備えたことを特徴とするプロセススケジューリング方
    式。
  3. 【請求項3】前記共有メモリに各プロセス毎に実行プロ
    セッサIDフィールドを設け、このフィールドに特定の
    プロセッサを示す情報を書き込むことにより、プロセッ
    サ間でのプロセスの移動を抑止することを特徴とする請
    求項1に記載のプロセススケジューリング方式。
  4. 【請求項4】前記共有メモリに各プロセス毎に実行プロ
    セッサIDフィールドを設け、このフィールドにどのプ
    ロセッサがプロセスを実行してもよいことを示す情報を
    書き込むことにより、プロセッサ間でのプロセスの移動
    を許可することを特徴とする請求項1に記載のプロセス
    スケジューリング方式。
  5. 【請求項5】前記共有メモリに各プロセス毎に実行プロ
    セッサIDフィールドを設け、このフィールドに特定の
    プロセッサを示す情報を書き込むことにより、プロセッ
    サ固定のスケジューリングを設定することを特徴とする
    請求項2に記載のプロセススケジューリング方式。
  6. 【請求項6】前記共有メモリに各プロセス毎に実行プロ
    セッサIDフィールドを設け、このフィールドにどのプ
    ロセッサがプロセスを実行してもよいことを示す情報を
    書き込むことにより、プロセッサ任意のスケジューリン
    グを設定することを特徴とする請求項2に記載のプロセ
    ススケジューリング方式。
JP5041471A 1993-03-02 1993-03-02 プロセススケジューリング方式 Pending JPH06259395A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5041471A JPH06259395A (ja) 1993-03-02 1993-03-02 プロセススケジューリング方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5041471A JPH06259395A (ja) 1993-03-02 1993-03-02 プロセススケジューリング方式

Publications (1)

Publication Number Publication Date
JPH06259395A true JPH06259395A (ja) 1994-09-16

Family

ID=12609283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5041471A Pending JPH06259395A (ja) 1993-03-02 1993-03-02 プロセススケジューリング方式

Country Status (1)

Country Link
JP (1) JPH06259395A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008191949A (ja) * 2007-02-05 2008-08-21 Nec Corp マルチコアシステムおよびマルチコアシステムの負荷分散方法
WO2011114478A1 (ja) * 2010-03-17 2011-09-22 富士通株式会社 生成方法、スケジューリング方法、生成プログラム、スケジューリングプログラム、生成装置、および情報処理装置
US8046514B2 (en) * 2000-11-21 2011-10-25 Aspex Technology Limited Broadcasting data across a bus in which data transmission can be delayed if a snooping device is not ready to receive
US9703599B2 (en) 2014-08-14 2017-07-11 Fujitsu Limited Assignment control method, system, and recording medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046514B2 (en) * 2000-11-21 2011-10-25 Aspex Technology Limited Broadcasting data across a bus in which data transmission can be delayed if a snooping device is not ready to receive
JP2008191949A (ja) * 2007-02-05 2008-08-21 Nec Corp マルチコアシステムおよびマルチコアシステムの負荷分散方法
WO2011114478A1 (ja) * 2010-03-17 2011-09-22 富士通株式会社 生成方法、スケジューリング方法、生成プログラム、スケジューリングプログラム、生成装置、および情報処理装置
JPWO2011114478A1 (ja) * 2010-03-17 2013-06-27 富士通株式会社 生成方法、スケジューリング方法、生成プログラム、スケジューリングプログラム、生成装置、および情報処理装置
US9703599B2 (en) 2014-08-14 2017-07-11 Fujitsu Limited Assignment control method, system, and recording medium

Similar Documents

Publication Publication Date Title
US5784698A (en) Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US5193172A (en) Memory management system for dispatching only to a selected high-use-priority task a maximum allocated and given highest-use-priority real-pages when requested
US5872972A (en) Method for load balancing a per processor affinity scheduler wherein processes are strictly affinitized to processors and the migration of a process from an affinitized processor to another available processor is limited
US7913009B2 (en) Monitored notification facility for reducing inter-process/inter-partition interrupts
US6976135B1 (en) Memory request reordering in a data processing system
US8959515B2 (en) Task scheduling policy for limited memory systems
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
US6633897B1 (en) Method and system for scheduling threads within a multiprocessor data processing system using an affinity scheduler
US6189065B1 (en) Method and apparatus for interrupt load balancing for powerPC processors
US5922057A (en) Method for multiprocessor system of controlling a dynamically expandable shared queue in which ownership of a queue entry by a processor is indicated by a semaphore
US5884077A (en) Information processing system and method in which computer with high load borrows processor of computer with low load to execute process
US8397236B2 (en) Credit based performance managment of computer systems
US6233599B1 (en) Apparatus and method for retrofitting multi-threaded operations on a computer by partitioning and overlapping registers
US5710909A (en) Data compression utilization method and apparatus for computer main store
US9742869B2 (en) Approach to adaptive allocation of shared resources in computer systems
US20050071564A1 (en) Reduction of cache miss rates using shared private caches
KR100291121B1 (ko) 의사랜덤우선순위를이용한데이터처리시스템에서의공유리소스에대한액세스제어방법및시스템
JP2002342163A (ja) マルチスレッドプロセッサ用キャッシュ制御方式
CN107515781B (zh) 一种基于多处理器的确定性任务调度及负载均衡系统
US9063794B2 (en) Multi-threaded processor context switching with multi-level cache
KR20100016347A (ko) 멀티스레드 프로세서를 위한 스레드 디엠퍼시스 명령
US11579922B2 (en) Dynamic graphical processing unit register allocation
US20220206876A1 (en) Management of Thrashing in a GPU
US4855899A (en) Multiple I/O bus virtual broadcast of programmed I/O instructions
US10545890B2 (en) Information processing device, information processing method, and program