JPH0594318A - マルチcpuシステムの負荷平準化方式 - Google Patents

マルチcpuシステムの負荷平準化方式

Info

Publication number
JPH0594318A
JPH0594318A JP27848691A JP27848691A JPH0594318A JP H0594318 A JPH0594318 A JP H0594318A JP 27848691 A JP27848691 A JP 27848691A JP 27848691 A JP27848691 A JP 27848691A JP H0594318 A JPH0594318 A JP H0594318A
Authority
JP
Japan
Prior art keywords
cpu
task
cpus
shared
ready
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
JP27848691A
Other languages
English (en)
Inventor
Mitsuhiro Toshima
充洋 戸島
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP27848691A priority Critical patent/JPH0594318A/ja
Publication of JPH0594318A publication Critical patent/JPH0594318A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 レディ状態にあるタスクがどのCPU上でも
実行できるようにして、全体的なCPUの利用効率の向
上と各CPUに対する負荷の平準化を図る。 【構成】 CPU5aおよび5bは、共有メモリ2上の
マルチタスクオペレーティングシステム7の管理下で、
共有バス1,リード/ライトバッファ3aおよび3bな
らびにキャッシュメモリ4aおよび4bを介して共有メ
モリ2上のタスクのプログラムコードを読み取りながら
タスクを実行する。CPU5aおよび5bで実行中のタ
スクがなんらかの要因でウェイト状態になると、マルチ
タスクオペレーティングシステム7は、そのタスクをウ
ェイトキューにキューイングする一方、レディキューよ
りレディ状態にあるタスクのうちの先頭にあるタスクを
CPU5aおよび5bに割り当てて、CPU5aおよび
5bでのタスクの実行を継続させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチCPU(Cent
ral Processing Unit)システムに
関し、特にマルチCPUシステムにおいてタスクスケジ
ューリングを行う場合の負荷平準化方式に関する。
【0002】
【従来の技術】従来、この種のマルチCPUシステム
は、図3に示すように、共有バス31と、共有バス31
に接続されたリード/ライトバッファ33aおよび33
bと、リード/ライトバッファ33aおよび33bにそ
れぞれ接続されたローカルバス40aおよび40bと、
ローカルバス40aおよび40bにそれぞれ接続された
CPU35aおよび35bと、ローカルバス40aおよ
び40bにそれぞれ接続されたローカルメモリ37aお
よび37bと、CPU35aおよび35bにそれぞれ接
続されたクロックジェネレータ36aおよび36bと、
ローカルメモリ37aおよび37b上にそれぞれ配置さ
れたマルチタスクオペレーティングシステム41aおよ
び41bとから構成されている。リード/ライトバッフ
ァ33a,ローカルバス40a,CPU35a,ローカ
ルメモリ37a,クロックジェネレータ36aおよびマ
ルチタスクオペレーティングシステム41aはCPU系
3Aを構成し、リード/ライトバッファ33b,ローカ
ルバス40b,CPU35b,ローカルメモリ37b,
クロックジェネレータ36bおよびマルチタスクオペレ
ーティングシステム41bはCPU系3Bを構成してい
る。
【0003】このような従来のマルチCPUシステムで
は、互いに他のCPU35aおよび35bからは参照で
きないローカルメモリ37aおよび37b上にCPU3
5aおよび35bで実行されるタスクのプログラムコー
ドをそれぞれ配置しており、このため、それぞれのタス
クは、それを実行できるCPU35aおよび35bが固
定的に決まっていた。
【0004】図4は、2台のCPU35aおよび35b
におけるタスクスケジューリングの状態を例示する図で
ある。CPU系3Aでは、CPU35aが現在タスクを
実行中(ラン(RUN)状態)である。また、レディ
(ready)キュー38aにはレディ状態のタスク管
理情報が多数キューイングされ、ウェイト(wait)
キュー39aにはウェイト状態のタスク管理情報がキュ
ーイングされていない。一方、CPU系3Bでは、CP
U35bが実行可能なタスクがないためにホールト(H
ALT)状態になっている。また、レディキュー38b
にはレディ状態のタスク管理情報がキューイングされて
おらず、ウェイトキュー39bにはウェイト状態のタス
ク管理情報が多数キューイングされている。CPU35
bは、CPU35a側のローカルメモリ37aにあるタ
スクのプログラムコードを参照することができないた
め、CPU35a側でレディ状態にあるタスクを実行す
ることはできない。
【0005】
【発明が解決しようとする課題】この従来のマルチCP
Uシステムでは、互いに他のCPU35aおよび35b
からは参照できないローカルメモリ37aおよび37b
上にCPU35aおよび35bで実行されるタスクのプ
ログラムコードをそれぞれ配置しているので、タスクの
配置状態や動作中の状態によっては一部のCPU35a
および35bのみに負荷がかかってアンバランスな状態
になり、マルチCPUシステム内の各CPU35aおよ
び35bに対して公平に負荷がかからないという問題点
があった。
【0006】本発明の目的は、上述の点に鑑み、レディ
状態にあるタスクが共有バスに接続されているどのCP
U上でも実行できるようにして、全体的なCPUの利用
効率の向上と各CPUに対する負荷の平準化を図るよう
にしたマルチCPUシステムの負荷平準化方式を提供す
ることにある。
【0007】
【課題を解決するための手段】本発明によるマルチCP
Uシステムの負荷平準化方式は、共有バス上に同じ種類
の複数のCPUが接続されており、それぞれのCPUに
おいてマルチタスクプログラムが動作しているマルチC
PUシステムにおいて、前記共有バスに接続され複数の
CPUから同じアドレスでアクセス可能な共有メモリ
と、この共有メモリ上に配置され複数のCPUが実行す
るタスクを複数のCPU間で共通に管理するマルチタス
クオペレーティングシステムと、前記共有バスに対する
アクセス回数を減らすために各CPUに備えられた高速
アクセス可能なキャッシュメモリとを有する。
【0008】
【作用】本発明のマルチCPUシステムの負荷平準化方
式では、共有メモリが共有バスに接続され複数のCPU
から同じアドレスでアクセス可能で、マルチタスクオペ
レーティングシステムが共有メモリ上に配置され複数の
CPUが実行するタスクを複数のCPU間で共通に管理
し、高速アクセス可能なキャッシュメモリが共有バスに
対するアクセス回数を減らすために各CPUに備えられ
ている。
【0009】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
【0010】図1は、本発明の一実施例に係る負荷平準
化方式が適用されたマルチCPUシステムの構成を示す
ブロック図である。このマルチCPUシステムは、共有
バス1と、共有バス1に接続された共有メモリ2と、共
有バス1に接続されたリード/ライトバッファ3aおよ
び3bと、リード/ライトバッファ3aおよび3bにそ
れぞれ接続された同じ種類のCPU5aおよび5bと、
CPU5aおよび5bにそれぞれ備えられたキャッシュ
メモリ4aおよび4bと、CPU5aおよび5bにそれ
ぞれ接続されたクロックジェネレータ6aおよび6b
と、共有メモリ2上に配置されたマルチタスクオペレー
ティングシステム7とから構成されている。リード/ラ
イトバッファ3a,CPU5a,キャッシュメモリ4a
およびクロックジェネレータ6aはCPU系1Aを構成
し、リード/ライトバッファ3b,CPU5b,キャッ
シュメモリ4bおよびクロックジェネレータ6bはCP
U系1Bを構成している。
【0011】共有メモリ2は、2台のCPU5aおよび
5bから同じアドレスでアクセスできるように共有バス
1に接続されている。共有メモリ2には、マルチタスク
オペレーティングシステム7のプログラムコード,タス
ク管理情報(レディキュー8およびウェイトキュー9
(両者とも図2参照)を含む),各タスクのプログラム
コードおよびタスク内で使用するデータの情報(ソフト
ウェア)が配置されている。
【0012】キャッシュメモリ4aおよび4bは、2台
のCPU5aおよび5b間のバス競合による性能の低下
を軽減するために、各CPU5aおよび5bに備えられ
ている。
【0013】図2は、本実施例のマルチCPUシステム
の負荷平準化方式によるタスクスケジューリングの状態
を例示する図である。図2中、符号8はレディキュー、
9はウェイトキューをそれぞれ示す。
【0014】次に、このように構成された本実施例のマ
ルチCPUシステムの負荷平準化方式の動作について説
明する。
【0015】CPU5aは、マルチタスクオペレーティ
ングシステム7の管理下で、共有バス1,リード/ライ
トバッファ3aおよびキャッシュメモリ4aを介して共
有メモリ2上のタスクのプログラムコードを読み取りな
がらタスクを実行する。
【0016】CPU5aで実行中のタスクがなんらかの
要因でウェイト状態になると、マルチタスクオペレーテ
ィングシステム7は、そのタスクを共有メモリ2上にあ
るウェイトキュー9にキューイングする一方、共有メモ
リ2上にあるレディキュー8よりレディ状態にあるタス
クのうちの一番先頭にあるタスクをラン状態にした上で
CPU5aに割り当てて、CPU5aでのタスクの実行
を継続させる。
【0017】CPU5bも、CPU5aと同様に、マル
チタスクオペレーティングシステム7の管理下で、共有
バス1,リード/ライトバッファ3bおよびキャッシュ
メモリ4bを介して共有メモリ2上のタスクのプログラ
ムコードを読み取りながらタスクを実行する。
【0018】CPU5bで実行中のタスクがなんらかの
要因でウェイト状態になると、マルチタスクオペレーテ
ィングシステム7は、そのタスクを共有メモリ2上にあ
るウェイトキュー9にキューイングする一方、共有メモ
リ2上にあるレディキュー8よりレディ状態にあるタス
クのうちの一番先頭にあるタスクをラン状態にした上で
CPU5bに割り当てて、CPU5bでのタスクの実行
を継続させる。
【0019】このように、各CPU5aおよび5bはど
のタスクでもレディ状態にあれば実行できるため、各C
PU5aおよび5bに対する負荷が分散される。また、
レディ状態のタスクがなくならない限りCPU5aおよ
び5bは動き続けるため、マルチCPUシステム全体と
してのCPU5aおよび5bの利用効率が向上するとと
もに、各CPU5aおよび5bに対してタスクが均等に
割り当てられるようになる。
【0020】なお、上記実施例では、マルチCPUシス
テムを構成するCPUがCPU5aおよび5bの2台の
場合を例にとって説明したが、CPUが3台以上であっ
ても本発明が同様に適用可能であることはいうまでもな
い。
【0021】
【発明の効果】以上説明したように本発明は、共有バス
に接続された共有メモリと、すべてのCPUが実行する
タスクの管理を一元的に行うオペレーティングシステム
と、高速アクセス可能なキャッシュメモリとを設けたこ
とにより、レディ状態にあるタスクが存在する限り実行
可能なCPUがそれを実行するので、CPUの利用効率
が増加して全体の性能が向上するとともに、各CPUに
対する負荷が平準化できるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例に係る負荷平準化方式が適用
されたマルチCPUシステムの構成を示すブロック図で
ある。
【図2】本実施例のマルチCPUシステムの負荷平準化
方式によるタスクスケジューリングの状態を例示する図
である。
【図3】従来のマルチCPUシステムの構成を示すブロ
ック図である。
【図4】従来の技術によるタスクスケジューリング状態
を例示する図である。
【符号の説明】
1 共有バス 1A,1B CPU系 2 共有メモリ 3a,3b リード/ライトバッファ 4a,4b キャッシュメモリ 5a,5b CPU 6a,6b クロックジュネレータ 7 マルチタスクオペレーティングシステム 8 レディキュー 9 ウェイトキュー

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 共有バス上に同じ種類の複数のCPUが
    接続されており、それぞれのCPUにおいてマルチタス
    クプログラムが動作しているマルチCPUシステムにお
    いて、 前記共有バスに接続され複数のCPUから同じアドレス
    でアクセス可能な共有メモリと、 この共有メモリ上に配置され複数のCPUが実行するタ
    スクを複数のCPU間で共通に管理するマルチタスクオ
    ペレーティングシステムと、 前記共有バスに対するアクセス回数を減らすために各C
    PUに備えられた高速アクセス可能なキャッシュメモリ
    とを有することを特徴とするマルチCPUシステムの負
    荷平準化方式。
JP27848691A 1991-09-30 1991-09-30 マルチcpuシステムの負荷平準化方式 Pending JPH0594318A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27848691A JPH0594318A (ja) 1991-09-30 1991-09-30 マルチcpuシステムの負荷平準化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27848691A JPH0594318A (ja) 1991-09-30 1991-09-30 マルチcpuシステムの負荷平準化方式

Publications (1)

Publication Number Publication Date
JPH0594318A true JPH0594318A (ja) 1993-04-16

Family

ID=17598000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27848691A Pending JPH0594318A (ja) 1991-09-30 1991-09-30 マルチcpuシステムの負荷平準化方式

Country Status (1)

Country Link
JP (1) JPH0594318A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934729A (ja) * 1995-07-15 1997-02-07 Nec Corp ディスパッチャ制御方式
JP2011508349A (ja) * 2007-12-27 2011-03-10 プライアント テクノロジー インコーポレイテッド プロセッサを内部メモリに接続するクロスバー・スイッチを含むフラッシュメモリ用ストレージコントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934729A (ja) * 1995-07-15 1997-02-07 Nec Corp ディスパッチャ制御方式
JP2011508349A (ja) * 2007-12-27 2011-03-10 プライアント テクノロジー インコーポレイテッド プロセッサを内部メモリに接続するクロスバー・スイッチを含むフラッシュメモリ用ストレージコントローラ

Similar Documents

Publication Publication Date Title
JP4117202B2 (ja) マルチプロセッサ・コンピュータ・システムのためのスレッド・ディスパッチ機構及び方法
US5386563A (en) Register substitution during exception processing
US6078944A (en) Process management method and system
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
US20080040583A1 (en) Digital Data Processing Apparatus Having Asymmetric Hardware Multithreading Support for Different Threads
EP1189132A2 (en) Shared peripheral architecture
US7484032B2 (en) Fault tolerant computer system
KR20040023692A (ko) 다수의 스레드의 동시 실행을 지원하는 컴퓨터시스템에서의 인터럽트 처리 메커니즘
GB2348306A (en) Batch processing of tasks in data processing systems
US20240143392A1 (en) Task scheduling method, chip, and electronic device
JP3417463B2 (ja) 割り込み要求を処理する方法及びシステム
JPH0594318A (ja) マルチcpuシステムの負荷平準化方式
JPS6145272B2 (ja)
JP2007141155A (ja) マルチコアプロセッサにおけるマルチコア制御方法
US6708259B1 (en) Programmable wake up of memory transfer controllers in a memory transfer engine
US5023774A (en) Data I/O transaction method and system
JPS6349945A (ja) デ−タ処理装置のプロセス・ロ−ルイン方式
JP2585905B2 (ja) マルチタスク実行装置
CN117311833B (zh) 一种存储控制方法、装置、电子设备及可读存储介质
JPH0535507A (ja) 中央処理装置
JP3591883B2 (ja) 計算機及びそのシステム及びその制御方法
JPS6352240A (ja) デ−タ処理装置
CN111581124A (zh) 可缩短内文交换时间的方法及其半导体装置
JP2002259209A (ja) 演算処理システム
JPS6217777B2 (ja)