JPH11272499A - 性能測定回路を備えた並列プロセッサシステムと、プログラムの性能測定方法 - Google Patents

性能測定回路を備えた並列プロセッサシステムと、プログラムの性能測定方法

Info

Publication number
JPH11272499A
JPH11272499A JP10074476A JP7447698A JPH11272499A JP H11272499 A JPH11272499 A JP H11272499A JP 10074476 A JP10074476 A JP 10074476A JP 7447698 A JP7447698 A JP 7447698A JP H11272499 A JPH11272499 A JP H11272499A
Authority
JP
Japan
Prior art keywords
measurement
processor
value
register
counter
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
JP10074476A
Other languages
English (en)
Inventor
Manabu Yamaguchi
山口  学
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 JP10074476A priority Critical patent/JPH11272499A/ja
Publication of JPH11272499A publication Critical patent/JPH11272499A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 各処理や各プロセッサごとのアクセス時間
や、アクセス回数などを測定することができる性能測定
回路を備えた並列システムとプログラムの性能測定方法
を提供する。 【解決手段】 計測カウンタ51、52の値を初期化
し、各プロセッサ61〜63の計測用IDレジスタ71
〜73に処理内容に対応した計測用ID値を設定し、プ
ロセッサが同期レジスタ2をアクセスする際、その計測
用ID値を、計測カウンタ制御回路3へ送出し、いずれ
かのプロセッサが共有リソースへのアクセスに成功する
と、カウントアップ回路4は、入力した計測用ID値に
対応した計測カウンタ51または52に対し、所定のカ
ウントアップ指示信号を出力し、計測カウンタは、所定
の手順でクロック信号を計測し、全ての所定の処理が終
了すると、計測カウンタ51および52の計側値を読み
出して所定のプロセッサへ送出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は並列プロセッサシス
テムのプログラムの性能向上に関し、特にプログラムの
性能測定回路に関する。
【0002】
【従来の技術】システムの性能を引き出すために、プロ
グラムの性能を向上させるようにプログラムを改善する
プログラムのチューニングは、並列プログラムの高速化
においても非常に重要な作業である。このチューニング
作業を行うためには、事前にプログラムの性能測定を行
い、最もチューニングの必要な部分を特定しておくこと
が重要である。
【0003】一般的にマルチプロセッサシステムは、プ
ロセス間の通信やタスク間制御を実現するために、全て
のプロセッサからアクセスできる共有レジスタや、共有
メモリのような共有リソースを有する。これらの共有リ
ソースへのアクセス回数や、アクセス時間は、並列処理
性能全体に大きな影響を与える。
【0004】共通リソースのアクセス時間が、全体の性
能に影響を与える例として、同期レジスタを用いてプロ
セッサ間の排他制御を実現する場合がある。あるプロセ
ッサが、排他処理部を実行するためにロックを取得して
いる間、他のプロセッサは排他処理部を実行できないた
め、同期レジスタがロックされている時間が長いと、シ
ステムの性能が低下する。そのため同期レジスタがロッ
クされている時間を測定し、ロックされている時間が短
くなるようプログラムをチューニングすることは、プロ
グラム全体の性能向上のために重要である。
【0005】このため、従来の大型の情報処理装置に
は、プログラムの性能を測定するために、演算処理時間
や演算回数等をカウントする性能測定用カウンタが準備
されているシステムが多い。
【0006】
【発明が解決しようとする課題】しかし、従来のシステ
ムのように、複数のプロセッサからアクセスされる共有
リソースに対して、1個の性能測定用カウンタを設けた
場合、性能測定用カウンタには、共有リソースが各プロ
セッサからアクセスされた時間の総和が記録されるた
め、各プロセッサごとのアクセス時間や、アクセス回数
などを測定することができないので、システムの性能低
下の原因となっているプログラムを特定できないという
問題点があった。
【0007】本発明の目的は、各処理や各プロセッサご
とのアクセス時間や、アクセス回数などを測定すること
ができる性能測定回路を備えた並列システムとプログラ
ムの性能測定方法を提供することにある。
【0008】
【課題を解決するための手段】本発明の性能測定回路を
備えた並列プロセッサシステムは、計測用ID値をソフ
トウェアで設定可能な計測用IDレジスタを有する複数
のプロセッサと、全てのプロセッサからアクセス可能な
共有リソースと、その共有リソースのアクセスを制御す
る共有リソース制御回路と、プロセッサ内部の計測用I
Dレジスタに設定された計測用ID値別に、プロセッサ
から共有リソースへのアクセス時間を計測するための性
能測定回路を有する。この性能測定回路は、複数の計測
カウンタと、プロセッサから共有リソースへのアクセス
要求を処理して計測用IDレジスタ値を格納し、計測用
カウンタに書き込みを指示し、計測カウンタのカウンタ
値を読み出しプロセッサに送信する計測カウンタ制御回
路と、計測カウンタを制御して、計測用ID値に対応す
るプロセッサの共有リソースへのアクセス状態を対応す
る計測カウンタに記録させるカウントアップ制御回路と
を備える。
【0009】計測カウンタに記録する共有リソースへの
アクセス状態がアクセス時間であってもよく、アクセス
回数であってもよい。
【0010】プロセッサの計測用IDレジスタに設定さ
れる計測用ID値が、プログラムの処理の種類に対応し
た値であり、処理の種類に対応した計測値が計測カウン
タに記録されてもよく、プロセッサを識別する値であ
り、各プロセッサに対応した計測値が計測カウンタに記
録されてもよい。
【0011】共有リソースは同期レジスタであってもよ
く、共有メモリであってもよく、プロセッサ間ネットワ
ークであり、計側値がそのネットワークの使用時間であ
ってもよく、周辺装置であり、計側値がその周辺機器の
使用時間であってもよい。
【0012】本発明のプログラムの性能測定方法は、性
能測定回路を備えた並列プロセッサシステムの性能測定
方法であって、性能測定回路の計測カウンタの値を初期
化し、各プロセッサのそれぞれの計測用IDレジスタに
それぞれのプロセッサの処理内容に対応した計測用ID
値を設定し、プロセッサが共有リソースをアクセスする
際、そのプロセッサが内部の計測用IDレジスタに設定
された計測用ID値を、性能測定回路の計測カウンタ制
御回路へ送出し、いずれかのプロセッサが共有リソース
へのアクセスに成功すると、そのプロセッサから送付さ
れた計測用ID値を計測カウンタ制御回路の計測用レジ
スタへ格納してカウントアップ制御回路に送出し、カウ
ントアップ制御回路は、入力した計測用ID値に対応し
た計測カウンタに対し、所定のカウントアップ指示信号
を出力し、カウントアップ指示信号を入力した計測カウ
ンタは、所定の手順でクロック信号を計測し、共有リソ
ースのアクセスが解除されるとカウントアップ制御回路
はカウントアップ信号の出力を停止し、所定の処理が終
了すると、計測カウンタの計側値を読み出して所定のプ
ロセッサへ送出する。
【0013】本発明の測定回路は、各プロセッサに個別
の計測用ID値を設定し、そのID値ごとに共有リソー
スのアクセス時間を計測することが可能で、共有リソー
スへのアクセス時間を、システム内のプロセッサの合計
時間でなく、処理内容やプロセッサごとに知ることがで
き、個々のプログラムの性能を測定することができる。
【0014】プロセッサ間のアクセス時間の偏りなど、
従来の測定方法よりも詳細な性能情報を得ることができ
るため、並列プログラムのチューニングを行うべき部分
を特定しやすい。
【0015】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。図1は本発明の第1の実施
の形態の性能測定回路を備えた並列プロセッサシステム
のブロック構成図である。
【0016】(構成)本発明の性能測定回路を備えた並
列プロセッサシステムの第1の実施の形態を、3個のプ
ロセッサと、2個の計測用カウンタを備えた並列プロセ
ッサシステムにおいて、同期レジスタを用いて排他制御
を行う場合を例として説明する。
【0017】図1に示す本発明の性能測定回路を備えた
並列プロセッサシステムは、計測用IDレジスタ71を
有する第1のプロセッサ61、計測用IDレジスタ72
を有する第2のプロセッサ62、計測用IDレジスタ7
3を有する第3のプロセッサ63の3個のプロセッサ
と、同期レジスタ2と、同期レジスタ制御回路1と、性
能測定回路9とから構成されている。
【0018】性能測定回路9は、計測用ID保持レジス
タ31を有する計測カウンタ制御回路3と、カウントア
ップ制御回路4と、第1の計測カウンタ51、第2の計
測カウンタ52の2個の計測カウンタとを有する。
【0019】同期レジスタ制御回路1と、第1〜第3の
プロセッサ61〜63とは、同期レジスタアクセス要求
パスA1〜A3、同期レジスタリプライパスB1〜B3
で接続される。また同期レジスタ制御回路1と、同期レ
ジスタ2とは、同期レジスタ書き込みパスC、同期レジ
スタ読み出しパスD、同期レジスタ制御信号Eで接続さ
れる。
【0020】同期レジスタ制御信号Eは、同期レジスタ
2の読み出し、書き込みのための制御を行う読み出し信
号と、書き込み信号である。同期レジスタ制御回路1
は、第1〜第3のプロセッサ61〜63からの同期レジ
スタ2へのアクセス要求に従い、同期レジスタ2へのア
クセスを行い、結果をプロセッサへ送出する。
【0021】計測カウンタ制御回路3は、内部に計測用
ID保持レジスタ31を有する。計測カウンタ制御回路
3と、第1〜第3のプロセッサ61〜63とは、計測カ
ウンタアクセス要求パスL1〜L3、計測カウンタリプ
ライパスM1〜M3とで接続される。
【0022】また計測カウンタ制御回路3と、第1の計
測カウンタ51、第2の計測カウンタ52は、計測カウ
ンタ書き込みパスJ、計測カウンタ読み出しパスKで接
続される。計測カウンタ制御回路3は、第1〜第3のプ
ロセッサ61〜63からの計測カウンタのアクセス要求
に従い、第1の計測カウンタ51、第2の計測カウンタ
52の読み出し、書き込みを制御する。
【0023】また計測カウンタ制御回路3は、第1〜第
3のプロセッサ61〜63のいずれかが、同期レジスタ
2をアクセスする時に、送出するそのプロセッサの計測
用IDレジスタ71〜73の計測用ID値を、計測用I
D保持レジスタ31へ書き込む。
【0024】カウントアップ制御回路4は、計測用ID
保持レジスタ31の出力Fと、同期レジスタ2の出力G
とに接続される。同期レジスタ2の出力Gは、同期レジ
スタ2がいずれかのプロセッサによりアクセスのために
ロックされて、第1の計測カウンタ51、または第2の
計測カウンタ52をカウントアップする時間を示す信号
である。カウントアップ制御回路4は、同期レジスタ2
の出力Gにより、同期レジスタ2がロックされている間
だけ、計測用ID保持レジスタ31の保持する計測用I
D値に対応する第1の計測カウンタ51、または第2の
計測カウンタ52にカウントアップ指示信号H1、また
はH2を排他的に出力する。
【0025】第1の計測カウンタ51、第2の計測カウ
ンタ52は、それぞれカウントアップ制御回路4の出力
H1、またはH2で選択されている間だけクロックをカ
ウントする。
【0026】(動作の説明)図1の本発明の構成例と、
図2の簡単な並列プログラムの例を用いて、本発明の並
列プロセッサシステムの動作を説明する。
【0027】図2は図1の並列プロセッサシステムの並
列プログラムの一例のフローチャートである。図中符号
P、Q1〜Q3、R1〜R3、Sはプログラムのルーチ
ンを示す。
【0028】図2の並列プログラムは、処理Xと処理Y
からなり、処理Xは第1のプロセッサ61、第2のプロ
セッサ62の2台のプロセッサで並列処理される。処理
Xと処理Yのそれぞれの処理は排他的に処理する必要が
あり、同期レジスタ2を用いたロック制御方式により、
排他制御を実現する。本実施の形態の性能測定回路の説
明では、排他制御のためにロックが取得されている時間
を、処理X、処理Y別に測定するものとする。
【0029】まず性能測定に先立って第1のプロセッサ
61は、計測カウンタの初期化ルーチンPを実行する。
第1のプロセッサ61は、第1の計測カウンタ51、第
2の計測カウンタ52の初期化要求を、計測カウンタア
クセス要求パスL1を通して、計測カウンタ制御回路3
へ送出する。
【0030】計測カウンタ制御回路3は、計測カウンタ
書き込みパスJを通して、適当な初期値を第1の計測カ
ウンタ51、第2の計測カウンタ52へ書き込むことに
より、第1の計測カウンタ51、第2の計測カウンタ5
2の初期化を行う。
【0031】次に並列ルーチンR1〜R3の実行に先立
って、第1〜第3のプロセッサ61〜63は、プロセッ
サ内部の計測用IDレジスタ71〜73に、計測用ID
値を設定する。
【0032】第1のプロセッサ61は、ルーチンQ1を
実行し、処理Xを示す計測用ID値“1”を、計測用I
Dレジスタ71へ設定する。同様に、第2のプロセッサ
62も、処理Xを示す計測用ID値“1”を、計測用I
Dレジスタ72へ設定する。第3のプロセッサ63は、
ルーチンQ3を実行し、計測用IDレジスタ73へ、処
理Yを示す計測用ID値“2”を設定する。プロセッサ
内部のレジスタへ、計測用ID値を設定するための処理
時間は、プログラムの性能へ与える影響を無視できるほ
ど短い。
【0033】計測用ID値の設定後、第1のプロセッサ
61は、並列ルーチンR1を実行する。排他処理Xを実
行する前に、第1のプロセッサ61は、同期レジスタ2
に対してロック要求を行う。第1のプロセッサ61は、
同期レジスタアクセス要求パスA1を通して、同期レジ
スタ制御回路1へロック要求を送出する。同時に、第1
のプロセッサ61は、内部の計測用IDレジスタ71が
保持する計測用ID値“1”を、計測カウンタアクセス
要求パスL1を通して、計測カウンタ制御回路3へ送出
する。
【0034】同期レジスタ制御回路1は、第1〜第3の
プロセッサ61〜63から非同期に送られてくる同期レ
ジスタのアクセス要求の調停を行い、同期レジスタ2の
アクセス要求を処理する。
【0035】同期レジスタ制御回路1が、第1のプロセ
ッサ61からのロック要求を処理する場合、同期レジス
タ制御回路1は、同期レジスタ読み出しパスDを用い
て、同期レジスタ2の値を読み出す。同期レジスタ2か
ら読み出した値を、同期レジスタリプライパスB1を通
して、第1のプロセッサ61へ送出する。さらに、同期
レジスタ制御回路1は、同期レジスタ書き込みパスCを
通して、同期レジスタ2へロック中であることを示す
“1”を書き込む。
【0036】第1のプロセッサ61のロック要求に対し
て、同期レジスタ2から読み出した値が“1”であれ
ば、ロックの取得に失敗したため、第1のプロセッサ6
1は処理Xを実行できない。ロックの取得に成功するま
で、第1のプロセッサ61は同期レジスタ制御回路1に
対して、ロック要求を繰り返す。
【0037】第1のプロセッサ61のロック要求に対し
て、同期レジスタ2から読み出した値が“0”であれ
ば、ロックの取得に成功し、第1のプロセッサ61は排
他処理Xを実行できる。
【0038】第1のプロセッサ61がロックの取得に成
功すると、計測カウンタ制御回路3は、第1のプロセッ
サ61から送られてきた計測用ID値“1”を、計測用
ID保持レジスタ31へ格納する。計測用ID保持レジ
スタ31は、保持する値“1”をカウントアップ制御回
路4へ出力する。
【0039】カウントアップ制御回路4は、計測用ID
保持レジスタ31の出力Fと、同期レジスタ2の出力G
とを用いて、計測用ID保持レジスタ31の保持する値
“1”に対応するカウントアップ指示信号H1を第1の
計測カウンタ51に出力する。カウントアップ指示信号
H1を受けた第1の計測カウンタ51は、カウントアッ
プ指示信号H1が与えられている間、クロック信号をカ
ウントする。
【0040】第1のプロセッサ61が、排他処理Xの実
行を終了し、同期レジスタ制御回路1へアンロック要求
を出すと、同期レジスタ制御回路1は、同期レジスタ書
き込みパスCを通して、同期レジスタ2へ“0”を書き
込む。同期レジスタ2へ“0”が書き込まれ、ロックが
解除されると、カウントアップ制御回路4は、カウント
アップ指示信号H1の出力を停止する。
【0041】以上の動作により、第1のプロセッサ61
がロックを取得している時間を、第1の計測カウンタ5
1で計測できる。
【0042】第2のプロセッサ62が、ルーチンR2の
排他処理Xを開始する場合、第2のプロセッサ62は、
同期レジスタ制御回路1へ、同期レジスタアクセス要求
パスA2を通して、ロック要求を送出する。同時に計測
用IDレジスタ72が保持する計測用ID値“1”も、
計測カウンタアクセス要求パスL2を通して、計測カウ
ンタ制御回路3へ送出される。
【0043】同期レジスタ制御回路1は、第2のプロセ
ッサ62からのロック要求により、同期レジスタ2の値
を読み出し、その値を計測カウンタアクセス要求パスL
2を通して、第2のプロセッサ62へ送出する。同時
に、同期レジスタ制御回路1は、同期レジスタ書き込み
パスCを通して、同期レジスタ2へ、ロック中であるこ
とを示す“1”を書き込む。
【0044】同期レジスタ2から読み出した値が“0”
で、第2のプロセッサ62がロックの取得に成功した場
合、計測カウンタ制御回路3は、第2のプロセッサ62
から送られてきた計測用ID値“1”を、計測用ID保
持レジスタ31へ格納する。計測用ID保持レジスタ3
1は、計測用ID値“1”をカウントアップ制御回路4
へ出力する。
【0045】カウントアップ制御回路4は、計測用ID
保持レジスタ31の出力Fと、ロック中であることを示
す同期レジスタ2の出力Gを用いて、計測用ID保持レ
ジスタ31の保持する“1”に対応するカウントアップ
指示信号H1を第1の計測カウンタ51に出力する。カ
ウントアップ指示信号H1を受けた第1の計測カウンタ
51は、カウントアップ指示信号H1が与えられている
間、クロック信号をカウントする。
【0046】第2のプロセッサ62が、処理Xの実行を
終了し、同期レジスタ制御回路1へアンロック要求を出
すと、同期レジスタ制御回路1は、同期レジスタ書き込
みパスCを通して、同期レジスタ2へ“0”を書き込
む。同期レジスタ2へ“0”が書き込まれると、カウン
トアップ制御回路4はカウントアップ指示信号H1の出
力を停止する。
【0047】以上の動作により、第2のプロセッサ62
がロックを取得している時間を、第1の計測カウンタ5
1で計測できる。
【0048】同様に第3のプロセッサ63が、ルーチン
R3の排他処理Yを開始するとき、ロックを取得するた
めに、第3のプロセッサ63は、同期レジスタアクセス
要求パスA3を通して、同期レジスタ制御回路1へ、ロ
ック要求を送出する。同時に第3のプロセッサ63は、
計測カウンタアクセス要求パスL3を通して、計測カウ
ンタ制御回路3へ、計測用ID値“2”を送出する。
【0049】同期レジスタ制御回路1は、第3のプロセ
ッサ63からのロック要求により、同期レジスタ2の値
を読み出し、その値を同期レジスタリプライパスB3を
通して、第3のプロセッサ63へ送出する。同時に、同
期レジスタ制御回路1は、同期レジスタ書き込みパスC
を通して、同期レジスタ2へ、ロック中であることを示
す“1”を書き込む。
【0050】同期レジスタ2から読み出した値が“0”
で、第3のプロセッサ63がロックの取得に成功した場
合、計測カウンタ制御回路3は、第3のプロセッサ63
から送られてきた計測用ID値“2”を、計測用ID保
持レジスタ31へ格納する。計測用ID保持レジスタ3
1は、計測用ID値“2”をカウントアップ制御回路4
へ出力する。
【0051】カウントアップ制御回路4は、計測用ID
保持レジスタ31の出力Fと、同期レジスタ2の出力G
を用いて、計測用ID保持レジスタ31の保持する第3
のプロセッサ63の計測用ID値“2”に対応するカウ
ントアップ指示信号H2を第2の計測カウンタ52に出
力する。カウントアップ指示信号H2を受けた第2の計
測カウンタ52は、カウントアップ指示信号H2が与え
られている間、クロック信号をカウントする。
【0052】以上の動作により、第3のプロセッサ63
がロックを取得している時間だけを、第2の計測カウン
タ52で計測できる。
【0053】第1〜第3のプロセッサ61〜63が、並
列ルーチンR1〜R3の実行を終了した後、計測カウン
タ読み出しルーチンSにより、第1のプロセッサ61は
第1の計測カウンタ51、第2の計測カウンタ52の値
の読み出しを行う。第1のプロセッサ61は、計測カウ
ンタアクセス要求パスL1を通して、計測カウンタ制御
回路3へ、第1の計測カウンタ51の値の読み出し要求
を送出する。計測カウンタ制御回路3は、計測カウンタ
読み出しパスKを通して、第1の計測カウンタ51の値
を読み出す。計測カウンタ制御回路3は、計測カウンタ
リプライパスM1を通して、第1の計測カウンタ51か
ら読み出した値を、第1のプロセッサ61へ送出する。
次に同様にして第2の計測カウンタ52の値を読み出し
て送出する。
【0054】第1のプロセッサ61が、全ての第1の計
測カウンタ51および第2の計測カウンタ52の値を読
み出すことにより、同期レジスタ2へのアクセス時間
を、計測用ID値ごと、即ち処理X、処理Yごとに得る
ことができる。
【0055】第1の実施の形態の説明では、プロセッサ
数を3、計測カウンタ数を2として説明したが、プロセ
ッサの数と計測カウンタの数は任意に設計できる。
【0056】以上説明したように、本発明の測定回路
は、各プロセッサに個別の計測用ID値を設定し、その
ID値ごとに共有リソースのアクセス時間を計測するこ
とが可能であり、共有リソースへのアクセス時間を、シ
ステム内のプロセッサの合計時間でなく、プロセッサご
とに知ることができ、プログラムの性能を測定すること
ができる。
【0057】プロセッサ間のアクセス時間の偏りなど、
従来の測定方法よりも詳細な性能情報を得ることができ
るため、並列プログラムのチューニングを行うべき部分
を特定しやすい。例えば、第1の実施の形態において、
第2の計測カウンタ52の値が第1の計測カウンタ51
の値より大きくなる場合、第3のプロセッサ63のロッ
ク時間が長くなっているので、処理Yのチューニングを
行えば全体の処理時間を削減できることが分かる。
【0058】制御プログラムは記録媒体62から制御部
61のデータ処理装置(不図示)に読み込まれデータ処
理装置の動作を制御する。制御部61は制御プログラム
の制御により以下の処理を実行する。
【0059】即ち、計測カウンタ制御回路3を経由した
プロセッサの指示により第1の計測カウンタ51、第2
の計測カウンタ52の値を初期化する処理と、各プロセ
ッサ61〜63に対しそれぞれの計測用IDレジスタ7
1〜73にそれぞれのプロセッサの処理内容に対応した
計測用ID値を設定させる処理と、各プロセッサが共有
リソース2をアクセスする際、その各プロセッサから計
測用IDレジスタ71〜73に設定した計測用ID値を
計測カウンタ制御回路4に送出させる処理と、いずれか
のプロセッサが同期レジスタ2の排他処理用のアクセス
に成功してロックするとそのプロセッサから送られてき
た計測用ID値を計測カウンタ制御回路3の計測用レジ
スタ31へ格納してカウントアップ制御回路4に送出さ
せ、カウントアップ制御回路4に、入力した計測用ID
値に対応した計測カウンタ51〜52のいずれかに対
し、同期レジスタ2がロックされている間カウントアッ
プ指示信号を出力させ、カウントアップ指示信号を入力
したいずれかの計測カウンタ51〜52にクロック信号
をカウントさせる処理と、同期レジスタ2のロックが解
除されるとカウントアップ制御回路4にカウントアップ
信号の出力を停止させる処理と、計測カウンタ制御回路
3を経由したプロセッサの指示により、計測カウンタ5
1〜52の計側値を読み出し、計測カウンタ制御回路3
を経由してプロセッサへ送出する処理とを実行する。
【0060】次に第2の実施の形態について説明する。
第1の実施の形態では、プロセッサ数を3、計測カウン
タ数を2としたが、第2の実施の形態ではプロセッサの
数と同数の計測カウンタを準備し、図2のQ1〜Q3の
ルーチンでプロセッサの物理番号や、論理番号のよう
な、プロセッサ個別の値を計測用ID値として与えるこ
とにより、計測カウンタにそれぞれのプロセッサのアク
セス時間をカウントさせ、プロセッサごとのアクセス時
間を測定する。第1の実施の形態では処理の種類ごとの
アクセス時間を測定したが、第2の実施の形態では個々
のプロセッサごとのアクセス時間を計測する。
【0061】次に第3の実施の形態について説明する。
第1の実施の形態では、同期レジスタ2がロックされて
いる時間を測定する場合を例に説明を行ったが、第3の
実施の形態では同期レジスタのアクセス回数を測定す
る。第1の実施の形態ではカウントアップ制御回路4
は、計測用ID保持レジスタ31の出力Fと、同期レジ
スタ2の出力Gを用いて、計測用ID保持レジスタ31
の保持するプロセッサの計測用ID値に対応するカウン
トアップ指示信号H1またはH2を第1の計測カウンタ
51または第2の計測カウンタ52に出力し、カウント
アップ指示信号を受けた計測カウンタは、カウントアッ
プ指示信号が与えられている間、クロック信号をカウン
トしていたが、第3の実施の形態ではカウントアップ制
御回路4が、カウントアップ指示信号H1またはH2を
生成する条件を変更して、同期レジスタの立ち上がりク
ロックのみを計測カウンタへのカウントアップ指示信号
とすることで、同期レジスタ2のアクセス回数も計測用
ID値別に容易に測定できる。次に第4の実施の形態に
ついて説明する。第1の実施の形態の性能測定回路は同
期レジスタを対象としてのアクセス時間の測定であった
が、第4の実施の形態では同期レジスタ以外の共有リソ
ースのアクセス時間やアクセス回数の測定を行う。図1
の同期レジスタ2と同期レジスタ制御回路1を、共有メ
モリ、プロセス間のネットワーク、周辺機器等およびそ
の制御回路に置きかえると、共有メモリのアクセス時間
や、プロセッサ間ネットワークの使用時間、周辺装置の
使用時間などの測定を行うことができる。
【0062】次に第5の実施の形態について説明する。
図3は第5の実施の形態の並列プロセッサシステムの並
列プログラムの一例のフローチャートであり、図中符号
P、Q1、Q2、R1、R2、Sはプログラムのルーチ
ンである。本実施の形態ではルーチンごとのアクセス時
間を測定する。
【0063】プロセッサ内部の計測用ID値は、ソフト
ウェアによって容易に設定できるので、ルーチンごとに
計測用ID値の設定を切り替える。先ず性能測定に先立
って、計測カウンタの初期化ルーチンPを実行する。次
にルーチンQ1で計測の対象となるプロセッサの計測用
IDレジスタに実行するルーチンのID値X1を設定す
る。その後ルーチンR1を実行する。次にルーチンQ2
で計測の対象となるプロセッサの計測用IDレジスタに
実行するルーチンのID値X2を設定し、その後ルーチ
ンR2を実行し、所望のルーチンが終了した後計測カウ
ンタのカウンタ値を読み出すことでそれぞれのルーチン
ごとのアクセス時間を測定することができる。
【0064】
【発明の効果】以上説明したように、本発明の並列シス
テム用性能測定回路は並列プロセッサシステムにおいて
各プロセッサや各処理ごとのアクセス時間や、アクセス
回数などを測定することができるので、プログラムのチ
ューニングを行う場合容易に最もチューニングの必要な
部分を特定でき、効率よくプログラムの改善を行いプロ
グラムの性能を向上させることができるという効果があ
る。
【0065】従来は性能測定用カウンタを設けても、各
プロセッサが共有リソースをアクセスした時間の合計し
か得ることができなかった。これに対し本発明の測定回
路は、各プロセッサに個別の計測用ID値を設定し、そ
のID値ごとに共有リソースのアクセス時間を計測する
ことが可能で、共有リソースへのアクセス時間を、シス
テム内のプロセッサの合計時間でなく、プロセッサごと
に知ることができる。プロセッサ間のアクセス時間の偏
りなど、従来の測定方法よりも詳細な性能情報を得るこ
とができるため、並列プログラムのチューニングを行う
べき部分を特定しやすい。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の性能測定回路を備
えた並列プロセッサシステムのブロック構成図である。
【図2】図1の並列プロセッサシステムの並列プログラ
ムの一例のフローチャートである。
【図3】は第5の実施の形態の並列プロセッサシステム
の並列プログラムの一例のフローチャートである。
【符号の説明】
1 同期レジスタ制御回路 2 同期レジスタ 3 計測カウンタ制御回路 31 計測用ID保持レジスタ 4 カウントアップ制御回路 51 第1の計測カウンタ 52 第2の計測カウンタ 61 第1のプロセッサ 62 第2のプロセッサ 63 第3のプロセッサ 71〜73 計測用IDレジスタ 9 性能測定回路 A1〜A3 同期レジスタアクセス要求パス B1〜B3 同期レジスタリプライパス C 同期レジスタ書き込みパス D 同期レジスタ読み出しパス E 同期レジスタ制御信号 F 計測用ID保持レジスタ出力 G 同期レジスタ出力 H1〜H2 カウントアップ指示信号 J 計測カウンタ書き込みパス K 計測カウンタ読み出しパス L1〜L3 計測カウンタアクセス要求パス M1〜Mn 計測カウンタリプライパス P、Q1〜Q3、R1〜R3、S プログラムのルー
チン

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 プログラムの性能測定回路を備えた並列
    プロセッサシステムであって、 計測用ID値をソフトウェアで設定可能な計測用IDレ
    ジスタを有する複数のプロセッサと、 全ての前記プロセッサからアクセス可能な共有リソース
    と、該共有リソースのアクセスを制御する共有リソース
    制御回路と、 前記プロセッサ内部の前記計測用IDレジスタに設定さ
    れた計測用ID値別に、前記プロセッサから前記共有リ
    ソースへのアクセス時間を計測するための性能測定回路
    を有し、 前記性能測定回路は、 複数の計測カウンタと、 前記プロセッサから前記共有リソースへのアクセス要求
    を処理して計測用IDレジスタ値を格納し、前記計測用
    カウンタに書き込みを指示し、前記計測カウンタのカウ
    ンタ値を読み出し前記プロセッサに送信する計測カウン
    タ制御回路と、 前記計測カウンタを制御して、計測用ID値に対応する
    前記プロセッサの前記共有リソースへのアクセス状態を
    対応する前記計測カウンタに記録させるカウントアップ
    制御回路と、を備えることを特徴とする性能測定回路を
    備えた並列プロセッサシステム。
  2. 【請求項2】 前記計測カウンタに記録する前記共有リ
    ソースへのアクセス状態がアクセス時間である請求項1
    に記載の性能測定回路を備えた並列プロセッサシステ
    ム。
  3. 【請求項3】 前記計測カウンタに記録する前記共有リ
    ソースへのアクセス状態がアクセス回数である請求項1
    に記載の性能測定回路を備えた並列プロセッサシステ
    ム。
  4. 【請求項4】 前記プロセッサの前記計測用IDレジス
    タに設定される計測用ID値が、プログラムの処理の種
    類に対応した値であり、処理の種類に対応した計測値が
    前記計測カウンタに記録される請求項1に記載の性能測
    定回路を備えた並列プロセッサシステム。
  5. 【請求項5】 前記プロセッサの前記計測用IDレジス
    タに設定される計測用ID値が、前記プロセッサを識別
    する値であり、各プロセッサに対応した計測値が前記計
    測カウンタに記録される請求項1に記載の性能測定回路
    を備えた並列プロセッサシステム。
  6. 【請求項6】 前記共有リソースが同期レジスタである
    請求項1に記載の性能測定回路を備えた並列プロセッサ
    システム。
  7. 【請求項7】 前記共有リソースが共有メモリである請
    求項1に記載の性能測定回路を備えた並列プロセッサシ
    ステム。
  8. 【請求項8】 前記共有リソースがプロセッサ間ネット
    ワークであり、計側値が該ネットワークの使用時間であ
    る請求項1に記載の性能測定回路を備えた並列プロセッ
    サシステム。
  9. 【請求項9】 前記共有リソースが周辺装置であり、計
    側値が該周辺機器の使用時間である請求項1に記載の性
    能測定回路を備えた並列プロセッサシステム。
  10. 【請求項10】 性能測定回路を備えた並列プロセッサ
    システムのプログラムの性能測定方法であって、 前記性能測定回路の計測カウンタの値を初期化し、 各プロセッサのそれぞれの計測用IDレジスタにそれぞ
    れのプロセッサの処理内容に対応した計測用ID値を設
    定し、 前記プロセッサが共有リソースをアクセスする際、該プ
    ロセッサが内部の前記計測用IDレジスタに設定された
    計測用ID値を、前記性能測定回路の計測カウンタ制御
    回路へ送出し、 いずれかの前記プロセッサが前記共有リソースへのアク
    セスに成功すると、該プロセッサから送付された計測用
    ID値を前記計測カウンタ制御回路の計測用レジスタへ
    格納してカウントアップ制御回路に送出し、 前記カウントアップ制御回路は、入力した計測用ID値
    に対応した前記計測カウンタに対し、所定のカウントア
    ップ指示信号を出力し、 カウントアップ指示信号を入力した前記計測カウンタ
    は、所定の手順でクロック信号を計測し、 前記共有リソースのアクセスが解除されるとカウントア
    ップ制御回路はカウントアップ信号の出力を停止し、 所定の処理が終了すると、前記計測カウンタの計側値を
    読み出して所定のプロセッサへ送出する、ことを特徴と
    する並列プロセッサシステムのプログラムの性能測定方
    法。
  11. 【請求項11】 並列プロセッサシステムのプログラム
    の性能を測定するための制御プログラムを記録した記録
    媒体であって、 計測カウンタ制御回路を経由したプロセッサの指示によ
    り各計測カウンタの値を初期化する手順と、 各プロセッサに対しそれぞれの計測用IDレジスタにそ
    れぞれのプロセッサの処理内容に対応した計測用ID値
    を設定させる手順と、 前記プロセッサが共有リソースをアクセスする際、該プ
    ロセッサから前記計測用IDレジスタに設定した計測用
    ID値を計測カウンタ制御回路に送出させる手順と、 いずれかのプロセッサが前記共有リソースのアクセスに
    成功すると該プロセッサから送られてきた計測用ID値
    を前記計測カウンタ制御回路の計測用レジスタへ格納し
    てカウントアップ制御回路に送出させ、該カウントアッ
    プ制御回路に、入力した計測用ID値に対応した前記計
    測カウンタのいずれかに対し、前記共有リソースがアク
    セスされている間カウントアップ指示信号を出力させ、
    カウントアップ指示信号を入力した前記計測カウンタに
    所定の手順でクロック信号を計測させる手順と、 前記共有リソースのロックが解除されるとカウントアッ
    プ制御回路にカウントアップ信号の出力を停止させる手
    順と、 前記計測カウンタ制御回路を経由した前記プロセッサの
    指示により、各前記計測カウンタの計側値を読み出し、
    前記計測カウンタ制御回路を経由して該プロセッサへ送
    出する手順と、を実行させるためのプログラムを記録し
    た記録媒体。
JP10074476A 1998-03-23 1998-03-23 性能測定回路を備えた並列プロセッサシステムと、プログラムの性能測定方法 Pending JPH11272499A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10074476A JPH11272499A (ja) 1998-03-23 1998-03-23 性能測定回路を備えた並列プロセッサシステムと、プログラムの性能測定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10074476A JPH11272499A (ja) 1998-03-23 1998-03-23 性能測定回路を備えた並列プロセッサシステムと、プログラムの性能測定方法

Publications (1)

Publication Number Publication Date
JPH11272499A true JPH11272499A (ja) 1999-10-08

Family

ID=13548370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10074476A Pending JPH11272499A (ja) 1998-03-23 1998-03-23 性能測定回路を備えた並列プロセッサシステムと、プログラムの性能測定方法

Country Status (1)

Country Link
JP (1) JPH11272499A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100386902B1 (ko) * 1999-12-22 2003-06-12 닛폰 덴키(주) 외부 버스 제어 장치
JP2008071237A (ja) * 2006-09-15 2008-03-27 Hitachi Ltd ハードウェアモニタを用いた性能評価システム及び再構築可能な計算機システム
JP2008529114A (ja) * 2005-01-24 2008-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100386902B1 (ko) * 1999-12-22 2003-06-12 닛폰 덴키(주) 외부 버스 제어 장치
JP2008529114A (ja) * 2005-01-24 2008-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法
JP2013118005A (ja) * 2005-01-24 2013-06-13 Internatl Business Mach Corp <Ibm> 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法
JP2008071237A (ja) * 2006-09-15 2008-03-27 Hitachi Ltd ハードウェアモニタを用いた性能評価システム及び再構築可能な計算機システム

Similar Documents

Publication Publication Date Title
US5265240A (en) Channel measurement method and means
US6604060B1 (en) Method and apparatus for determining CC-NUMA intra-processor delays
US5357626A (en) Processing system for providing an in circuit emulator with processor internal state
US8140925B2 (en) Method and apparatus to debug an integrated circuit chip via synchronous clock stop and scan
US6223228B1 (en) Apparatus for synchronizing multiple processors in a data processing system
US5802378A (en) Performance monitoring in multiprocessor system with interrupt masking
US4354227A (en) Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles
US6502209B1 (en) Chip with debug capability
US7003691B2 (en) Method and apparatus for seeding differences in lock-stepped processors
US20090259875A1 (en) Store Clock and Store Clock Fast Instruction Execution
JP7724770B2 (ja) プログラマブルデバイスのステータスの追跡
US5875320A (en) System and method for synchronizing plural processor clocks in a multiprocessor system
TW201145016A (en) Non-intrusive debugging framework for parallel software based on super multi-core framework
US20180005663A1 (en) Method and apparatus for dynamic mode memory testing
US6331957B1 (en) Integrated breakpoint detector and associated multi-level breakpoint techniques
JPS58501346A (ja) 内部アクセス機能を持つたマイクロプロセツサ方式
CN110727664A (zh) 用于对公有云数据执行目标操作的方法与设备
US20040153770A1 (en) Method for and system producing shared usage of intercommunication fabric error logging registers in a multiprocessor environment
US20080059808A1 (en) Managing data access via a loop only if changed locking facility
US5615374A (en) Lock control method for resource
JPH11272499A (ja) 性能測定回路を備えた並列プロセッサシステムと、プログラムの性能測定方法
US20170277613A1 (en) Multiple mode testing in a vector memory restricted test environment
US6775789B2 (en) Method, system and program products for generating sequence values that are unique across operating system images
WO2018042935A1 (ja) 電子制御装置、解析システム
CN114138503A (zh) 一种基于tms320c6678分布式系统的事件跟踪同步方法