JPH04362767A - マルチプロセッサ装置 - Google Patents

マルチプロセッサ装置

Info

Publication number
JPH04362767A
JPH04362767A JP3181506A JP18150691A JPH04362767A JP H04362767 A JPH04362767 A JP H04362767A JP 3181506 A JP3181506 A JP 3181506A JP 18150691 A JP18150691 A JP 18150691A JP H04362767 A JPH04362767 A JP H04362767A
Authority
JP
Japan
Prior art keywords
code
processor
count
load
counting
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
JP3181506A
Other languages
English (en)
Inventor
Masatoshi Sato
正俊 佐藤
Koichi Takeda
浩一 武田
Teruhiko Ohara
輝彦 大原
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP3181506A priority Critical patent/JPH04362767A/ja
Publication of JPH04362767A publication Critical patent/JPH04362767A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサが仕
事を分担して処理する場合に、互いに他のプロセッサの
負荷量を測定し、自己の仕事の処理量を調整する機能を
備えたマルチプロセッサ装置に関する。
【0002】
【従来の技術】マルチプロセッサ方式においては、複数
のプロセッサが仕事をそれぞれ分担して処理する。図2
に従来一般のマルチプロセッサ仕事分担法の説明図を示
す。この図には、3台のプロセッサ1A、1B、1Cが
示されており一定の仕事をそれぞれ分担して処理する構
成とされている。これらのプロセッサ1A〜1Cが処理
しようとする仕事は、それぞれ適当な処理単位2に分割
されている。通常、これらの処理単位2は内容によって
プロセッサに加わる負荷が異なる。従って、これらのプ
ロセッサ1A、1B、1Cで仕事全体を効率的に実行す
るためには、各プロセッサの負荷、即ち仕事の処理量が
均一になるよう制御することが必要になる。上記処理単
位2は、プロセス、タスク、ゴール等と呼ばれ、予め用
意されているものの他、仕事を実行するなかでマルチプ
ロセッサ内で動的に発生するものも含まれる。従って、
仕事の処理量を片寄りなく均一に分配し実行するために
は、各プロセッサが常に個別に他のプロセッサの忙しさ
を知り、その忙しさに応じて処理単位を再分配調整する
スケジューリングを行う必要性が生じてくる。
【0003】従来、このような他のプロセッサの忙しさ
は、次のような方法で把握されている。まず、図2に示
すように、各プロセッサ1A〜1Cがそれぞれ、1つの
処理単位を処理する毎にその実行数をカウンタ等を用い
て数え、処理量とする。これを適当な時間の範囲で数え
、各プロセッサの処理量を比較する。また、他の方法と
してキューの長さ計算法がある。即ち、図2に示すよう
に、通常各プロセッサが一定の処理を行う場合、いくつ
かの処理単位が待ち行列に配列される。この場合のスケ
ジュールキューの長さを計算し、この長さによって各プ
ロセッサの忙しさを近似する。スケジュールキューに配
列されたキューの長さはカウンタ等でカウントされる。
【0004】
【発明が解決しようとする課題】ところで、上記のよう
な従来の方法においては、何れも次のような問題があっ
た。まず、処理単位の実行数で忙しさを近似する方法で
は、先に説明したように各処理単位の大きさがまちまち
のため、その処理単位の種類のチェックが必要となる。 即ち、処理単位にはシステム制御や無負荷時に実行する
処理単位等が、ユーザーの扱う処理単位と同様に混在す
る。従って、本来のプロセッサの忙しさを近似するため
に最も適切な処理単位を選別して数えなければ相互比較
ができない。しかし、そのような処理に比較的複雑なソ
フトウェアが必要となり、システムに加わるオーバーヘ
ッドが大きくなるという問題があった。
【0005】一方、スケジュールキューの長さを求める
ためには、キューに対する操作が実行されたときその都
度計算を行う方法と、必要な場合に新たにキューの長さ
を計算する方法がある。しかしながら、何れの場合にお
いてもスケジュールキューの長さを計算するための比較
的複雑なソフトウェアを設ける必要があり、システム的
にもオーバーヘッドが大きくなるという問題があった。 本発明は以上の点に着目してなされたもので、他のプロ
セッサの負荷量をハードウェア的に測定することを可能
にし、ソフトウェアが組み込まれることによるマルチプ
ロセッサシステムのオーバーヘッドを軽減するマルチプ
ロセッサ装置を提供することを目的とするものである。
【0006】
【課題を解決するための手段】本発明のマルチプロセッ
サ装置は、複数のプロセッサが仕事を分担して処理し、
互いに他のプロセッサの負荷量を測定して、自己の仕事
の処理量を調整するものにおいて、前記各プロセッサが
アクセスするプログラムカウンタの出力するコードを監
視し、指定されたコードがアクセスされた時その数をそ
れぞれカウントする複数のコード計数部と、カウント対
象となるコードを指定するコード指定部と、前記コード
計数部のカウント時間を指定するカウント時間指定部と
、各プロセッサ毎に設けられ、前記各コード計数部の出
力を比較して、自己の仕事の処理量を決定するスケジュ
ーリング部を備えたことを特徴とするものである。
【0007】
【作用】この装置は、各プロセッサがアクセスするプロ
グラムカウンタの出力するコードのうち、特定のコード
の数をカウントし、これをプロセッサの負荷量の基準と
する。そのためにコード計数部がカウントするコードの
対象を限定するためにコード指定部を設け、カウント時
間指定部は基準となるカウント時間だけコードの計数を
実行させる。スケジューリング部は、自己のプロセッサ
と他のプロセッサの負荷量を比較し、その忙しさを判断
して自己の仕事の処理量を決定する。このようなコード
のカウントは比較的簡単なハードウェアで実現でき、ソ
フトウェアに対する負担を軽減しオーバーヘッドを防止
できる。
【0008】
【実施例】以下、本発明を、図面を用いて詳細に説明す
る。図1は、本発明のマルチプロセッサ装置実施例を示
す用部ブロック図である。図は、マルチプロセッサ装置
を構成する各プロセッサ毎に設けられた1つのプロセッ
サブロック10を示したものである。即ち、複数のプロ
セッサがシステムに存在する場合、このようなプロセッ
サブロック10が各プロセッサ毎に設けられる。図のプ
ロセッサブロック10は、プロセッサ1と、プログラム
カウンタ5及びプログラムメモリ6の他に、コード指定
部20、コード計数部30、カウント時間指定部40及
びスケジューリング部50を備えている。
【0009】プロセッサ1は、このマルチプロセッサ装
置において、一定の仕事を分担し処理を行う回路である
。プログラムカウンタ5は、プログラムメモリ6に格納
された命令を読み出すためのコードを出力する回路であ
る。コード指定部20は、プログラムカウンタ5から出
力されるコードを監視し、カウント対象となるコードを
選択し、コード計数部30に通知する回路である。コー
ド計数部30は、通知を受けたコードの数をカウントし
、そのカウント結果をスケジューリング部50に向け出
力する回路である。カウント時間指定部40は、コード
計数部30のカウント時間を指定するための回路である
【0010】上記コード指定部20には、アドレス比較
器21と下限レジスタ22及び上限レジスタ23が設け
られている。アドレス比較器21には、プログラムカウ
ンタの出力するコードが入力する。下限レジスタ22及
び上限レジスタ23は、そのコードが一定の大きさの範
囲に含まれている場合に、アドレス比較器21からコー
ド計数部30に向けてカウントパルスを出力するよう制
御するための回路である。即ち、プログラムカウンタ5
から出力されるコードは、プログラムメモリ6のアドレ
ス空間全域にわたる。しかしながら、プロセッサの負荷
量測定に適当なコードは、例えば一定のアドレスの範囲
にのみ含まれる。従って上限レジスタ23と下限レジス
タ22を用いてその範囲を指定し、アドレス比較器21
においてその範囲のコードが検出された場合のみ、コー
ド計数部30に対しカウントパルスを出力するよう動作
させる。このような回路は、例えば、従来よく知られた
ウインドコンパレータ等によって実現することができる
【0011】なお、プログラムメモリ6のアドレス空間
にカウント対象とすべきコードが分散しているような場
合には、アドレス比較器21に対し、さらに各種のカウ
ント範囲を指定するための回路を接続すればよい。コー
ド計数部30は、カウンタ31及びレジスタ32を備え
ている。カウンタ31には、アドレス比較器21からの
カウントパルスが入力する。カウンタ31は、そのカウ
ントパルスが入力するとカウント値を1ずつカウントア
ップする。レジスタ32は、カウンタ31の出力を受け
入れて、その値を保持するための回路である。スケジュ
ーリング部50は、従来の装置に使用されていたものと
全く同様で、本発明の場合においても、この部分はソフ
トウェアを用いて実現する。ここでは、自己の負荷量と
他のプロセッサブロックから入力する負荷量が比較され
て、自己の処理量決定が行われる。
【0012】カウント時間指定部40には、タイマ41
が設けられており、このタイマ41は、予め決められた
適当な時間間隔で、コード計数部30に対し周期的にタ
イミングパルスを出力する。このタイミングパルスがカ
ウンタ31に入力すると、カウンタ31はリセットされ
そのカウント値をゼロにクリアする。一方、このタイミ
ングパルスがレジスタ32に入力すると、レジスタ32
はカウンタ31の出力を受け入れ、その値を保持する。 従って、初めにカウンタ31がゼロクリアされ、その後
一定時間コード指定部20から出力されるカウントパル
スを数えて、指定されたコードをカウントすると、一定
時間後にカウント時間指定部40からタイミングパルス
が入力し、レジスタ32にカウント値が保持される。こ
れとともに、カウンタ31はゼロクリアされ、再び次の
一定時間コードをカウントする動作に入る。レジスタ3
2は、カウンタ31の出力を受け入れて保持すると、次
のタイミングパルスが入力するまでそのカウント値を保
持し続ける。スケジューリング部50は、そのカウント
値を受け入れて先に説明した処理量の決定のための演算
を行う。
【0013】なお、上記のようなカウント時間指定部4
0のタイマ41は、実際に各プロセッサの負荷量が最も
よく現れるような周期でタイミングパルスを出力するよ
う設定される。この時間は実験的に求めることになるが
、具体的にはいくつかの処理単位を実行する時間よりも
十分長い時間に設定される。本発明は以上の実施例に限
定されない。上記のようにプログラムカウンタ5から出
力されるコードのカウント用の回路は、簡単な比較回路
とカウンタ等によって実現することができる。従って、
同様の機能を有する従来よく知られた各種のハードウェ
アに置き換えることも可能である。
【0014】
【発明の効果】以上説明した本発明のマルチプロセッサ
装置は、各プロセッサの負荷量を、所定の時間内に実行
したコードの実行回数で近似するようにし、比較的精度
の高い負荷情報が得られる。しかも、その計測回路をハ
ードウェアによって実現することができるため、負荷測
定のためのソフトウェアを最小限にし、システムのオー
バーヘッドが軽減できる。しかも、コード指定部の動作
によって、カウント対象となるコードを特定の範囲に限
定し、より実際的な負荷量の測定が可能となる。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサ装置実施例を示す要
部ブロック図である。
【図2】従来一般のマルチプロセッサの仕事分担法を示
す説明図である。
【符号の説明】
1  プロセッサ 5  プログラムカウンタ 6  プログラムメモリ 10  プロセッサブロック 20  コード指定部 30  コード計数部 40  カウント時間指定部 50  スケジューリング部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  複数のプロセッサが仕事を分担して処
    理し、互いに他のプロセッサの負荷量を測定して、自己
    の仕事の処理量を調整するものにおいて、前記各プロセ
    ッサがアクセスするプログラムカウンタの出力するコー
    ドを監視し、指定されたコードがアクセスされた時その
    数をそれぞれカウントする複数のコード計数部と、カウ
    ント対象となるコードを指定するコード指定部と、前記
    コード計数部のカウント時間を指定するカウント時間指
    定部と、各プロセッサ毎に設けられ、前記各コード計数
    部の出力を比較して、自己の仕事の処理量を決定するス
    ケジューリング部を備えたことを特徴とするマルチプロ
    セッサ装置。
JP3181506A 1991-06-10 1991-06-10 マルチプロセッサ装置 Pending JPH04362767A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3181506A JPH04362767A (ja) 1991-06-10 1991-06-10 マルチプロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3181506A JPH04362767A (ja) 1991-06-10 1991-06-10 マルチプロセッサ装置

Publications (1)

Publication Number Publication Date
JPH04362767A true JPH04362767A (ja) 1992-12-15

Family

ID=16101957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3181506A Pending JPH04362767A (ja) 1991-06-10 1991-06-10 マルチプロセッサ装置

Country Status (1)

Country Link
JP (1) JPH04362767A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9364664B2 (en) 2004-03-08 2016-06-14 Ichor Medical Systems, Inc. Apparatus for electrically mediated delivery of therapeutic agents
US9526836B2 (en) 2002-04-05 2016-12-27 Ichor Medical Systems, Inc. Method and apparatus for delivery of therapeutic agents

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5955564A (ja) * 1982-09-25 1984-03-30 Matsushita Electric Ind Co Ltd マルチプロセツサ−装置
JPS6227835A (ja) * 1985-07-29 1987-02-05 Nec Corp マイクロプログラム制御装置の負荷測定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5955564A (ja) * 1982-09-25 1984-03-30 Matsushita Electric Ind Co Ltd マルチプロセツサ−装置
JPS6227835A (ja) * 1985-07-29 1987-02-05 Nec Corp マイクロプログラム制御装置の負荷測定方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9526836B2 (en) 2002-04-05 2016-12-27 Ichor Medical Systems, Inc. Method and apparatus for delivery of therapeutic agents
US9364664B2 (en) 2004-03-08 2016-06-14 Ichor Medical Systems, Inc. Apparatus for electrically mediated delivery of therapeutic agents

Similar Documents

Publication Publication Date Title
US11157061B2 (en) Processor management via thread status
JP2940450B2 (ja) クラスタ型コンピュータのジョブスケジュール方法及び装置
US8069444B2 (en) Method and apparatus for achieving fair cache sharing on multi-threaded chip multiprocessors
US20050229176A1 (en) Determining processor usage by a thread
Weiderman et al. Hartstone uniprocessor benchmark: Definitions and experiments for real-time systems
US5920689A (en) System and method for low overhead, high precision performance measurements using state transitions
EP0431232A1 (en) Mechanism for measuring the service times of software and hardware components in complex systems
US20030046030A1 (en) Method and apparatus for measuring CPU task occupancy rate in a real-time system
US10733022B2 (en) Method of managing dedicated processing resources, server system and computer program product
US20050132038A1 (en) Resource reservation system and resource reservation method and recording medium storing program for executing the method
JPH04362767A (ja) マルチプロセッサ装置
US6934783B2 (en) Method for the scheduled execution of a target function
US5537595A (en) Device management system in a computer system
US20060031837A1 (en) Thread starvation profiler
JPS62210546A (ja) ジヨブスケジユ−ル処理方式
Stefanov et al. Analysis of CPU Usage Data Properties and their possible impact on Performance Monitoring
JPH0981528A (ja) マルチプロセッサシステム、それに使用される割込制御装置、および割込制御方法
US20230367633A1 (en) Gpu and gpu method
RU2420792C1 (ru) Система и способ планирования активных заданий в операционной системе
Wong et al. Use of a software monitor in the validation of an analytic computer system model
JP2003050709A (ja) タスクスケジューリング方法および装置
KR100455623B1 (ko) 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법
Bass et al. Some experiments in simulating OS/360 from performance data
US7219253B2 (en) Process for providing submodel performance in a computer processing unit
JPH03253965A (ja) コントローラによるマルチタスク処理方式