JP2003050721A - 並列効率計算方法及び装置 - Google Patents

並列効率計算方法及び装置

Info

Publication number
JP2003050721A
JP2003050721A JP2001241121A JP2001241121A JP2003050721A JP 2003050721 A JP2003050721 A JP 2003050721A JP 2001241121 A JP2001241121 A JP 2001241121A JP 2001241121 A JP2001241121 A JP 2001241121A JP 2003050721 A JP2003050721 A JP 2003050721A
Authority
JP
Japan
Prior art keywords
parallel
processing
time
information
processing time
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.)
Withdrawn
Application number
JP2001241121A
Other languages
English (en)
Inventor
Shigeo Orii
茂夫 折居
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001241121A priority Critical patent/JP2003050721A/ja
Priority to US09/998,160 priority patent/US7024667B2/en
Priority to EP01310317A priority patent/EP1283470A3/en
Publication of JP2003050721A publication Critical patent/JP2003050721A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】並列効率の値と性能改善を阻害する要因を定量
的に結び付けることにより性能を阻害している原因を明
確にする。 【解決手段】並列処理プログラム実行時における逐次処
理部分の処理時間α(p,n)と、並列処理部分の処理時間
β(p,n)/pと、並列処理のオーバーヘッドにより生ず
る処理時間σ(p,n)とを取得し、取得された逐次処理部
分の処理時間α(p,n)と並列処理部分の処理時間β(p,n)
/pと並列処理のオーバーヘッドにより生ずる処理時間
σ(p,n)とを用いて、並列化率Rpara(p,n)と、逐次計算
時間比Rα(p,n)と、並列オーバーヘッド比Rσ(p,n)と
を計算する。そして、1/Rpara(p,n)×(1−Rα(p,
n)−Rσ(p,n))により並列効率Epara(p,n)を計算す
る。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、並列計算機システ
ムの性能評価技術に関する。
【0002】
【従来の技術】従来の並列計算機システムの性能評価
は、以下に示す並列効率Epara(p,n)を求めることによ
り行われていた。
【数1】 ここでpはプロセッサ数、nは問題の大きさである。式
(1)により並列効率Epara(p,n)を求めるためには、
逐次処理を行った場合の処理時間である逐次処理時間τ
(1,n)及び並列処理を行った場合の処理時間である並列
処理時間τ(p,n)を個別に測定することが必要となる。
但し、並列処理時間τ(p,n)が長時間になると、それよ
りも長くなる逐次処理時間τ(1,n)を測定することが困
難である場合も生じる。
【0003】また、この並列効率Epara(p,n)が低い場
合、すなわち並列処理の性能が悪い場合には、性能改善
を阻害する要因を特定することがその改善のために必要
となる。このため更に1回以上の測定を行い、並列処理
時間に対する性能改善を阻止する要因の割合を調べてそ
の要因を特定しなければならなかった。
【0004】
【発明が解決しようとする課題】従来の評価方法では、
性能改善を阻害する要因と並列効率との定量関係が明確
ではなかったため、どの阻害要因がどのくらい並列効率
に効いているかを判断することが難しかった。
【0005】よって本発明の目的は、並列効率の値と性
能改善を阻害する要因を定量的に結び付けることにより
性能を阻害している原因を明確にするための技術を提供
することである。
【0006】また、本発明の目的は、並列効率を1回の
測定により計算できるようにするための技術を提供する
ことである。
【0007】さらに、本発明の目的は、より精度よく並
列効率を計算できるようにするための技術を提供するこ
とである。
【0008】また、並列計算機システムの性能評価を容
易にし且つ評価に要する時間を短縮できるようにするた
めの技術を提供することも本発明の目的である。
【0009】
【課題を解決するための手段】本発明の第1の態様に係
る、並列計算機システムの並列効率を計算する方法は、
並列処理プログラム実行時における逐次処理部分の処理
時間(例えば実施の形態におけるα(p,n))に関する情
報(例えば処理時間又は事象の確認回数)と、並列処理
プログラム実行時における並列処理部分の処理時間(例
えば実施の形態におけるβ(p,n)/p)に関する情報
(例えば処理時間又は事象の確認回数)と、並列処理の
オーバーヘッドにより生ずる処理時間(例えば実施の形
態におけるσ(p,n))に関する情報(例えば処理時間又
は事象の確認回数)とを取得し、記憶装置に格納するス
テップと、取得された逐次処理部分の処理時間に関する
情報と並列処理部分の処理時間に関する情報と並列処理
のオーバーヘッドにより生ずる処理時間に関する情報と
を用いて、並列化率(例えば実施の形態におけるRpa ra
(p,n))と、逐次計算時間比(例えば実施の形態におけ
るRα(p,n))と、並列オーバーヘッド比(例えば実施
の形態におけるRσ(p,n))とを計算し、記憶装置に格
納する指標計算ステップと、計算された並列化率と逐次
計算時間比と並列オーバーヘッド比とを用いて並列効率
(Epara)を計算し、記憶装置に格納する並列効率計算
ステップとを含む。最後に、計算結果を表示装置等に出
力する場合もある。
【0010】並列効率が、並列化率、逐次計算時間比及
び並列オーバーヘッド比という性能改善を阻害する要因
の指標により表されるため、これらの指標の値と並列効
率の値とを用いて性能改善要因を特定し、性能改善のた
めの対策を決定することができるようになる。
【0011】また、並列処理プログラム実行時における
逐次処理部分の処理時間と、並列処理プログラム実行時
における並列処理部分の処理時間と、並列処理のオーバ
ーヘッドにより生ずる処理時間とは、1回の処理実行に
対する時間等の計測にて取得できるため、当該並列計算
機の性能評価を容易にし且つ評価に要する時間を短縮す
ることができるようになる。
【0012】なお、上で述べた並列効率計算ステップ
を、1/(並列化率)×(1−(逐次計算時間比)−
(並列オーバーヘッド比))を計算し、並列効率として
記憶装置に格納するステップとすることも可能である。
【0013】本発明の第2の態様に係る並列効率計算方
法は、並列処理プログラム実行時における逐次処理部分
の処理時間に関する情報と、並列処理プログラム実行時
における並列処理部分の処理時間に関する情報と並列処
理プログラムの全処理時間に関する情報とを取得し、記
憶装置に格納するステップと、取得された並列処理部分
の処理時間に関する情報をプロセッサ数倍し、並列処理
プログラム実行時における並列処理部分の逐次処理時に
おける処理時間(例えば実施の形態におけるβ(p,n))
に関する情報として記憶装置に格納するステップと、取
得された逐次処理部分の処理時間に関する情報と並列処
理部分の処理時間に関する情報とを少なくとも用いて、
並列化率と、逐次計算時間比と、並列オーバーヘッド比
とを計算し、記憶装置に格納する指標計算ステップと、
((逐次処理部分の処理時間に関する情報)+(並列処
理部分の逐次処理時における処理時間に関する情報))
/((並列処理プログラムの全処理時間に関する情報)
×(プロセッサ数))を計算し、並列効率として記憶装
置に格納するステップとを含む。最後に計算結果を表示
装置等に表示する場合もある。
【0014】このようにすれば、1回の処理実行に対す
る時間等の計測にて並列効率を計算できるため、当該並
列計算機の性能評価を容易にし且つ評価に要する時間を
短縮することができるようになる。また、計算精度を向
上させることもできる。
【0015】本発明の第3の態様に係る並列効率計算方
法は、並列処理プログラム実行時における逐次処理部分
の処理時間に関する情報と、並列処理プログラム実行時
における並列処理部分の処理時間に関する情報と並列処
理プログラムの全処理時間に関する情報とを取得し、記
憶装置に格納するステップと、取得された逐次処理部分
の処理時間に関する情報と並列処理部分の処理時間に関
する情報とを用いて並列化率を計算し、記憶装置に格納
するステップと、並列化率の逆数と並列処理プログラム
の全処理時間に関する情報の逆数と並列処理部分の処理
時間に関する情報との積を計算し、並列効率として記憶
装置に格納するステップとを含む。最後に計算結果を表
示装置に表示する場合もある。
【0016】このような計算方法にても、1回の処理実
行に対する時間等の計測にて並列効率を計算できるた
め、当該並列計算機の性能評価を容易にし且つ評価に要
する時間を短縮することができるようになる。
【0017】なお、上述の並列効率計算方法はコンピュ
ータ・ハードウエアに専用のプログラムをインストール
することによっても実現可能である。この場合、このプ
ログラムは、例えばフレキシブルディスク、CD−RO
M、光磁気ディスク、半導体メモリ、ハードディスク等
の記憶媒体又は記憶装置に格納される。また、ネットワ
ークなどを介して配布される場合もある。尚、中間的な
処理結果はメモリに一時保管される。
【0018】
【発明の実施の形態】[本発明の原理]並列計算機シス
テムの各プロセッサにおいて実行すべき処理量に偏りが
無い場合(ロードインバランスが無い場合)の並列計算
機システムの処理時間の関係は、以下のように表され
る。 τ(p,n)≡α(p,n)+β(p,n)/p+σ(p,n) (2) ここでpはプロセッサ数である。nは問題の規模で、例
えば粒子シミュレーションでは粒子数或いは構造解析で
は要素数を意味し、その値は現在百万のオーダーにも及
ぶものがあり、更に時代と共に大きくなりつつある。ま
た、α(p,n)は並列実行時における逐次処理部分の処理
時間であり、β(p,n)/pは並列実行時における並列処
理部分の処理時間であり、σ(p,n)は並列処理のオーバ
ーヘッドにより生ずる処理時間である。すなわち、並列
処理時間(並列処理時の全処理時間とも呼ぶ)τ(p,n)
は、逐次処理部分の処理時間と、並列処理部分の処理時
間と、並列処理のオーバーヘッドにより生ずる処理時間
との和である。
【0019】プロセッサが1つ(p=1)の場合には、
並列処理部分の処理時間はプロセッサ数p倍になり、並
列処理のオーバーヘッドが無くなるため、以下のように
表される。 τ(1,n)=α(p,n)+β(p,n) (3) すなわち、逐次処理時間(逐次処理時の全処理時間とも
呼ぶ)τ(1,n)は、逐次処理部分の処理時間と並列処理
部分の処理時間をプロセッサ数倍したものとの和とな
る。
【0020】また、並列性能を決定する要因として、 並列化率:Rpara(p,n)≡β(p,n)/[α(p,n)+β(p,n)] (4) 逐次計算時間比:Rα(p,n)≡α(p,n)/τ(p,n) (5) 並列オーバーヘッド比:Rσ(p,n)≡σ(p,n)/τ(p,n) (6) という3つの指標を導入する。
【0021】並列化率Rpara(p,n)は、並列処理部分を
逐次処理した場合の処理時間(並列処理部分の処理時間
をプロセッサ数倍したもの)を逐次処理時間と並列処理
部分を逐次処理した場合の処理時間との和で除したもの
である。この並列化率Rpara(p,n)は、大きな値を有す
れば有するほど(1に近ければ近いほど)並列処理を行
っている割合が高いことを示している。逐次計算時間比
α(p,n)は、逐次処理部分の処理時間を並列処理時間
で除したものである。この逐次計算時間比Rα(p,n)
は、大きな値であるほど並列処理できない逐次処理部分
の処理時間の割合が高いことを示している。並列オーバ
ーヘッド比Rσ(p,n)は、並列処理のオーバーヘッドに
より生ずる処理時間を並列処理時間で除したものであ
る。この並列オーバーヘッド比Rσ(p,n)は、大きな値
であるほど並列処理のオーバーヘッドにより生ずる処理
時間の割合が高いことを示している。
【0022】式(2)乃至(6)を従来技術の欄で示し
た式(1)に代入すると、式(1)で表される並列効率
para(p,n)は以下のように変形される。
【数2】 式(7)の右辺を見れば、並列効率Epara(p,n)は、並
列化率Rpara(p,n)の逆数に1から逐次計算時間比R
α(p,n)と並列オーバーヘッド比Rσ(p,n)とを減じた値
を乗じた値となる。このように、並列化率Rpara(p,
n)、逐次計算時間比R α(p,n)及び並列オーバーヘッド
比Rσ(p,n)という3つの性能改善を阻害する要因の指
標のみで並列効率Epara(p,n)は定量的に表されること
ができるようになった。
【0023】なお、式(7)は以下のような式にも変形
することができる。
【数3】
【数4】
【0024】式(8)の右辺は、並列効率Epara(p,n)
が、並列化率Rpara(p,n)の逆数と、並列処理時間τ(p,
n)の逆数と、並列処理部分の処理時間β(p,n)/pとの
積により計算されることを示している。
【0025】また式(9)の右辺は、並列効率E
para(p,n)が、逐次処理部分の処理時間α(p,n)と並列処
理部分の逐次処理時における処理時間β(p,n)との和を
並列処理時間τ(p,n)とプロセッサ数pにより除するこ
とにより計算されることを示している。なお、計算精度
の観点からすると、式(9)が最も好ましい事がわかっ
ている。
【0026】[実施の形態の説明]以上のような発明の
原理を実施するための一実施の形態の説明を以下に行
う。図1は、並列計算機システムの並列効率を計算する
ための並列効率計算装置であるコンピュータ1の機能ブ
ロック図を示している。なお、コンピュータ1自身も並
列計算機システムであってもよいが、コンピュータ1は
プロセッサが1つのコンピュータであってもよい。ま
た、並列計算機システムは、分散メモリ型のものであっ
てもよいし、メモリを共有するSMP(Symmetric Mult
iProcessor)型のものであってもよい。
【0027】コンピュータ1は、データ取得部11と、
指標データ計算部13と、並列効率計算部15と、出力
部17と、表示装置や印刷装置等である出力装置19と
を含む。データ取得部11は、逐次処理部分の処理時間
α(p,n)と、並列処理部分の処理時間β(p,n)/pと、並
列処理のオーバーヘッドにより生ずる処理時間σ(p,n)
と、並列処理時間τ(p,n)と、プロセッサ数pとを取得
する。なお、プロセッサ数pについては、ユーザからの
入力や、評価対象の並列計算機システムから取得する。
また、時間の情報を取得するとしていたが、逐次処理、
並列処理及び並列処理のオーバーヘッドにより生ずる処
理の各事象の出現頻度を用いること(以下、サンプリン
グの場合と呼ぶ)も可能である。例えば、並列処理プロ
グラム実行期間内において所定周期毎に実行状況を確認
して、各事象の出現回数をカウントすることにより出現
頻度を取得する。このように出現頻度を用いることがで
きるのは、式(7)、(8)及び(9)において出現す
る並列化率Rpara(p,n)、逐次計算時間比Rα(p,n)、並
列オーバーヘッド比Rσ(p,n)、式(8)のRpara(p,n)
の逆数以外の部分、及び式(9)自体が、時間比の形を
しているためである。なお、時間の情報を用いる場合と
サンプリングの場合とでは測定精度に差は生じえる。
【0028】時間の情報を取得する場合には、例えば各
処理部分をタイマで挟み、実際に時間測定することによ
り取得することができる。すなわち、各処理部分の開始
段階で時刻をメモリに記録し、またその終了段階で時刻
をメモリに記録するようにして、並列処理プログラムを
実行する。そして、開始段階における時刻と終了段階に
おける時刻との差をデータ取得部11で計算することに
より、各処理部分の時間を取得できる。そして、データ
取得部11は、最終的に逐次処理部分の処理時間、並列
処理部分の処理時間、並列処理のオーバーヘッドにより
生ずる処理時間をそれぞれについて集計することによ
り、逐次処理部分の処理時間α(p,n)と、並列処理部分
の処理時間β(p,n)/pと、並列処理のオーバーヘッド
により生ずる処理時間σ(p,n)を得ることができる。ま
た、逐次処理部分の処理時間α(p,n)と、並列処理部分
の処理時間β(p,n)/pと、並列処理のオーバーヘッド
により生ずる処理時間σ(p,n)との和を計算することに
より、データ取得部11は、並列処理時間τ(p,n)を取
得することができる。なお、並列処理時間τ(p,n)につ
いては、処理開始時刻と処理終了時刻とを記録し、その
差を計算することによっても得ることができる。
【0029】サンプリングの場合、一定時間間隔毎に実
行中の並列処理プログラムの事象(逐次処理、並列処
理、並列処理のオーバーヘッドにより生ずる処理)を識
別し、事象毎にカウントを行う。この事象の識別とカウ
ントは、並列計算機システムのハードウエア又はプログ
ラムにて行われる。例えば、(1)逐次処理の事象につ
いては、(a)並列処理プログラムにおいて逐次処理部
分を実行する場合にそれを表すフラグを立てるように
し、当該並列処理プログラム実行中の実行状況確認時に
このフラグが立っていれば、逐次処理についてのカウン
トを1インクリメントする。(b)また、全体のカウン
ト値から並列処理及び並列処理のオーバーヘッドにより
生ずる処理についてのカウント値を差し引くことにより
逐次処理についてのカウント値を得ることも可能であ
る。
【0030】(2)並列処理の事象については、(a)
並列処理プログラムにおいて並列処理部分を実行する場
合にそれを表すフラグを立てるようにプログラミング
し、当該並列処理プログラム実行中の実行状況確認時に
このフラグが立っていれば、並列処理についてのカウン
トを1インクリメントする。(b)また、並列化用コン
パイラ・ディレクティブを認識したコンパイラやツール
等により並列処理実行時に並列処理についてのフラグを
立てるようコンパイルし、並列処理プログラム実行中の
実行状況確認時にこのフラグが立っていれば、並列処理
についてのカウントを1インクリメントするような構成
でも良い。(c)さらに、並列言語拡張を認識したコン
パイラやツール等により並列処理実行時に並列処理につ
いてのフラグを立てるようコンパイルし、当該並列処理
プログラム実行中の実行状況確認時にこのフラグが立っ
ていれば、並列処理についてのカウントを1インクリメ
ントするような構成でもよい。(d)又、コンパイラが
コンパイル時に自動的に並列処理を実行するように判断
した場合には当該並列処理実行時に並列処理についての
フラグを立てるようコンパイルし、並列処理プログラム
実行中の実行状況確認時にこのフラグが立っていれば、
並列処理についてのカウントを1インクリメントするよ
うな構成でもよい。(e)さらに、並列実行するモジュ
ール名をリストにまとめ、並列処理プログラム実行中の
実行状況確認時にモジュール名を識別して、並列処理中
であれば並列処理についてのカウントを1インクリメン
トするような構成でもよい。(f)並列実行するイベン
ト名をリストにまとめ、並列処理プログラム実行中の実
行状況確認時にイベント名を識別して、並列処理中であ
れば並列処理についてのカウントを1インクリメントす
るようにしてもよい。
【0031】(3)並列処理のためのオーバーヘッドに
より生ずる処理の事象については、 (a)並列処理プログラムにおいて並列処理のためのオ
ーバーヘッドにより生ずる処理部分を実行する場合にそ
の範囲を示すフラグを立てるようにプログラミングし、
当該並列処理プログラム実行中の実行状況確認時にこの
フラグが立っていれば、並列処理のためのオーバーヘッ
ドにより生ずる処理についてのカウントを1インクリメ
ントする。(b)また、通信用コンパイラ・ディレクテ
ィブを認識したコンパイラやツール等により通信処理実
行時に並列処理のためのオーバーヘッドにより生ずる処
理についてのフラグを立てるようコンパイルし、並列処
理プログラム実行中の実行状況確認時にこのフラグが立
っていれば、並列処理のオーバーヘッドのための処理に
ついてのカウントを1インクリメントするような構成で
もよい。(c)さらに、並列言語拡張を認識したコンパ
イラやツール等により通信処理実行時等に並列処理のた
めのオーバーヘッドにより生ずる処理についてのフラグ
を立てるようコンパイルし、当該並列処理プログラム実
行中の実行状況確認時にこのフラグが立っていれば、並
列処理のためのオーバーヘッドにより生ずる処理につい
てのカウントを1インクリメントするような構成でもよ
い。(d)また、通信ライブラリ名を識別しておき、こ
の通信ライブラリが実行された場合には、並列処理のた
めのオーバーヘッドにより生ずる処理についてのカウン
トを1インクリメントするような構成でもよい。(e)
さらに、コンパイラがコンパイル時に自動的に並列処理
のためのオーバーヘッドにより生ずる処理を識別し、並
列処理のためのオーバーヘッドにより生ずる処理実行時
にそのためのフラグを立てるようコンパイルし、並列処
理プログラム実行中の実行状況確認時にこのフラグが立
っていれば、並列処理のためのオーバーヘッドにより生
ずる処理についてのカウントを1インクリメントするよ
うな構成でもよい。(f)さらに、通信で使用するモジ
ュール名をリストにまとめ、並列処理プログラム実行中
の実行状況確認時にモジュール名を識別して、通信処理
中であれば並列処理のためのオーバーヘッドにより生ず
る処理についてのカウントを1インクリメントするよう
にしてもよい。(g)通信のイベント名をリストにまと
め、並列処理プログラム実行中の実行状況確認時にイベ
ント名を識別して、通信処理中であれば並列処理のため
のオーバーヘッドにより生ずる処理についてのカウント
を1インクリメントするような構成であってもよい。
【0032】どの場合であっても並列処理プログラム実
行中に直接カウントするのではなく、フラグや実行モジ
ュール、イベント等の履歴を残しておき、後から一定時
間間隔毎に事象を識別し、カウントを行うようにしても
良い。
【0033】指標データ計算部13は、データ取得部1
1で取得された逐次処理部分の処理時間α(p,n)と、並
列処理部分の処理時間β(p,n)/pと、並列処理のオー
バーヘッドにより生ずる処理時間σ(p,n)と、並列処理
時間τ(p,n)と、プロセッサ数pとを用いて、並列化率
para(p,n)と、逐次計算時間比Rα(p,n)と、並列オー
バーヘッド比Rσ(p,n)とを、式(4)、(5)及び
(6)を用いて計算する。なお、並列処理部分を逐次処
理した場合の処理時間β(p,n)は、並列処理部分の処理
時間β(p,n)/pをプロセッサ数p倍することにより得
られ、この値も用られる。
【0034】並列効率計算部15は、指標データ計算部
13により計算された並列化率Rpa ra(p,n)と、逐次計
算時間比Rα(p,n)と、並列オーバーヘッド比Rσ(p,n)
とを用いて、式(7)に従って並列効率Epara(p,n)を
計算する。
【0035】ここでは出力部17は、指標データ計算部
13により計算された並列化率Rpa ra(p,n)と、逐次計
算時間比Rα(p,n)と、並列オーバーヘッド比Rσ(p,n)
と、並列効率計算部15により計算された並列効率E
para(p,n)を、表示装置や、印刷装置等の出力装置に出
力する。
【0036】次に、図2を用いてコンピュータ1の処理
フローの一例を示す。最初に、コンピュータ1のデータ
取得部11は、プロセッサ数p、逐次処理部分の処理時
間α(p,n)、並列処理部分の処理時間β(p,n)/p、並列
処理のオーバーヘッドにより生ずる処理時間σ(p,n)及
び並列処理時間τ(p,n)を取得し、メインメモリ等の記
憶装置に格納する(ステップS1)。また、例えばデー
タ取得部11は、並列処理部分の処理時間β(p,n)/p
にプロセッサ数pを掛けて、並列処理部分を逐次処理し
た場合の処理時間β(p,n)を計算し、記憶装置に格納す
る(ステップS3)。
【0037】次に、指標データ計算部13は、並列化率
para(p,n)を式(4)に従って計算し、計算結果を記
憶装置に格納する(ステップS5)。また、指標データ
計算部13は、逐次計算時間比Rα(p,n)を式(5)に
従って計算し、計算結果を記憶装置に格納する(ステッ
プS7)。さらに、指標データ計算部13は、並列オー
バーヘッド比Rσ(p,n)を式(6)に従って計算し、計
算結果を記憶装置に格納する(ステップS9)。ステッ
プS5乃至ステップS9の実行順番は任意である。
【0038】そして、並列効率計算部15は、ステップ
S5乃至ステップS9において計算された並列化率R
para(p,n)、逐次計算時間比Rα(p,n)及び並列オーバー
ヘッド比Rσ(p,n)を用いて式(7)に従って並列効率
para(p,n)を計算し、記憶装置に格納する(ステップ
S11)。出力部17は、ステップS5乃至ステップS
11で計算した、並列化率Rpara(p,n)、逐次計算時間
比Rα(p,n)、並列オーバーヘッド比Rσ(p,n)、及び並
列効率Epara(p,n)を表示装置や印刷装置等に出力する
(ステップS13)。
【0039】これによりユーザは、並列効率を得るのと
同時に、性能改善を阻害する要因の指標である並列化
率、逐次計算時間比及び並列オーバーヘッド比の並列効
率に及ぼす寄与を定量的に論じることができるようにな
る。
【0040】図1及び図2は式(7)により並列効率を
計算する場合の機能ブロック及び処理フローを示してい
た。次に、図3及び図4を用いて式(9)により並列効
率を計算する場合の機能ブロック及び処理フローを説明
する。なお、式(9)は、並列効率と、並列化率、逐次
計算時間比及び並列オーバーヘッド比との関係が示され
ているわけではないが、経験的に精度良く並列効率を計
算できることが分かっている。
【0041】図3は、並列計算機システムの並列効率を
計算するための並列効率計算装置であるコンピュータ2
の機能ブロック図を示している。コンピュータ2は、デ
ータ取得部21と、前処理部23と、指標データ計算部
24、並列効率計算部25と、出力部27と、表示装置
や印刷装置等である出力装置29とを含む。データ取得
部21は、図1に示したデータ取得部11と同じ処理を
実施する。前処理部23は、並列処理部分の処理時間β
(p,n)/pにプロセッサ数pを掛けて、並列処理部分を
逐次処理した場合の処理時間β(p,n)を計算する。指標
データ計算部24は、データ取得部21で取得された逐
次処理部分の処理時間α(p,n)と、並列処理のオーバー
ヘッドにより生ずる処理時間σ(p,n)と、並列処理時間
τ(p,n)と、前処理部23により計算されたβ(p,n)とを
用いて、並列化率Rpara(p,n)と、逐次計算時間比R
α(p,n)と、並列オーバーヘッド比Rσ(p,n)とを、式
(4)、(5)及び(6)を用いて計算する。並列効率
計算部25は、データ取得部21により取得された逐次
処理部分の処理時間α(p,n)、並列処理時間τ(p,n)及び
プロセッサ数pと、前処理部23により計算された並列
処理部分を逐次処理した場合の処理時間β(p,n)とを用
いて、式(9)に従って並列効率Epara(p,n)を計算す
る。出力部27は、並列効率計算部25により計算され
た並列効率Epara(p,n)と、指標データ計算部24によ
り計算された並列化率Rpara(p,n)、逐次計算時間比R
α(p,n)及び並列オーバーヘッド比Rσ(p,n)とを表示装
置や印刷装置等に出力する。
【0042】図4を用いて式(9)により並列効率E
para(p,n)を計算する場合の処理フローの一例を示す。
データ取得部21は、プロセッサ数p、逐次処理部分の
処理時間α(p,n)、並列処理部分の処理時間β(p,n)/
p、並列処理のオーバーヘッドにより生ずる処理時間σ
(p,n)、並列処理のオーバーヘッドにより生ずる処理時
間σ(p,n)及び並列処理時間τ(p,n)を取得し、メインメ
モリ等の記憶装置に格納する(ステップS21)。ま
た、前処理部33は、並列処理部分の処理時間β(p,n)
/pにプロセッサ数pを掛けて、並列処理部分を逐次処
理した場合の処理時間β(p,n)を計算し、記憶装置に格
納する(ステップS23)。そして、指標データ計算部
24は、並列化率Rpara(p,n)を式(4)に従って計算
し、計算結果を記憶装置に格納する(ステップS2
4)。また、指標データ計算部24は、逐次計算時間比
α(p,n)を式(5)に従って計算し、計算結果を記憶
装置に格納する(ステップS25)。さらに、指標デー
タ計算部24は、並列オーバーヘッド比Rσ(p,n)を式
(6)に従って計算し、計算結果を記憶装置に格納する
(ステップS26)。ステップS24乃至ステップS2
6の実行順番は任意である。また、以下で述べるステッ
プS27と並列に実行するような構成も可能である。
【0043】そして、並列効率計算部25は、データ取
得部21により取得された逐次処理部分の処理時間α
(p,n)と並列処理時間τ(p,n)とプロセッサ数pと、前処
理部23により計算された並列処理部分を逐次処理した
場合の処理時間β(p,n)とを用いて、式(9)を用いて
並列効率Epara(p,n)を計算し、記憶装置に格納する
(ステップS27)。そして、出力部27は、ステップ
S24乃至ステップS27で計算した、並列化率Rpara
(p,n)、逐次計算時間比Rα(p,n)、並列オーバーヘッド
比Rσ(p,n)、及び並列効率Epara(p,n)を表示装置や印
刷装置等に出力する(ステップS28)。
【0044】このようにすれば、ユーザは並列計算機シ
ステムの並列効率を、一度の計測により短時間で簡単に
得ることができるようになる。また、性能改善を阻害す
る要因の指標である並列化率、逐次計算時間比及び並列
オーバーヘッド比の並列効率に及ぼす寄与を定量的に論
じることができるようになる。さらに、並列効率の計算
精度も式(7)及び(8)に比して同等か高くなる。
【0045】次に図5を用いて式(8)により並列効率
を計算する場合の処理フローの一例を説明する。なお、
この場合の並列効率計算装置であるコンピュータの機能
ブロック図は図1と同様である。但し、並列効率計算部
15は式(8)により並列効率を計算するようになって
いる。
【0046】データ取得部11は、プロセッサ数p、逐
次処理部分の処理時間α(p,n)、並列処理部分の処理時
間β(p,n)/p、並列処理のオーバーヘッドにより生ず
る処理時間σ(p,n)及び並列処理時間τ(p,n)を取得し、
メインメモリ等の記憶装置に格納する(ステップS3
1)。また、データ取得部11は、並列処理部分の処理
時間β(p,n)/pにプロセッサ数pを掛けて、並列処理
部分を逐次処理した場合の処理時間β(p,n)を計算し、
記憶装置に格納する(ステップS33)。
【0047】次に、指標データ計算部13は、並列化率
para(p,n)を式(4)に従って計算し、計算結果を記
憶装置に格納する(ステップS35)。また、指標デー
タ計算部13は、逐次計算時間比Rα(p,n)を式(5)
に従って計算し、計算結果を記憶装置に格納する(ステ
ップS36)。さらに、指標データ計算部13は、並列
オーバーヘッド比Rσ(p,n)を式(6)に従って計算
し、計算結果を記憶装置に格納する(ステップS3
7)。ステップS35乃至ステップS37の実行順番は
任意である。又、以下で述べるステップS38と並列に
実行するような構成も可能である。そして、並列効率計
算部15は、指標データ計算部13により計算された並
列化率Rpara(p,n)と、データ取得部11により取得さ
れた並列処理時間τ(p,n)と並列処理部分の処理時間β
(p,n)/pとを用いて式(8)に従って並列化率E
para(p,n)を計算し、記憶装置に格納する(ステップS
38)。出力部17は、ステップS5乃至ステップS1
1で計算した、並列化率Rpara(p,n)、逐次計算時間比
α(p,n)、並列オーバーヘッド比Rσ(p,n)、及び並列
効率Epa ra(p,n)を表示装置や印刷装置等に出力する
(ステップS39)。
【0048】これによりユーザは、並列計算機システム
の並列効率を、一度の計測により短時間で簡単に得るこ
とができるようになる。また、並列効率を得るのと同時
に、性能改善を阻害する要因の指標である並列化率、逐
次計算時間比及び並列オーバーヘッド比の並列効率に及
ぼす寄与を定量的に論じることができるようになる。
【0049】以上本発明の一実施の形態を説明したが、
本発明はこれに限定されるものではない。例えば、図1
及び図3に示したブロック図は、必ずしもプログラムモ
ジュールに対応するものではなく、別の分け方でモジュ
ール化してもよい。また、処理フローについても同時に
又は順番を入れ替えて実施することができる場合もあ
る。
【0050】[具体例1]時間測定により、逐次処理部
分の処理時間α(p,n)が8時間であり、並列処理部分の
処理時間β(p,n)/pが14時間であり、並列処理のた
めのオーバーヘッドにより生ずる処理時間σ(p,n)が1
0時間であり、プロセッサ数が100である場合に並列
効率などを計算する。 β(p,n)=β(p,n)/p×p=14×100=1400 Rpara(p,n)≡β(p,n)/[α(p,n)+β(p,n)] =1400/[8+1400]=0.994 Rα(p,n)≡α(p,n)/τ(p,n) =8/(8+14+10)=0.25 Rσ(p,n)≡σ(p,n)/τ(p,n) =10/(8+14+10)=0.313
【0051】これらの値を式(7)に代入すれば並列効
率が求められる。 Epara(p,n)=(1−0.25−0.313)/0.994 =0.440
【0052】また式(8)を使用する場合には以下のよ
うになる。 Epara(p,n)=14/[0.994・(8+14+10)] =0.440
【0053】さらに式(9)を使用する場合には以下の
ようになる。 Epara(p,n)=(8+1400)/[(8+14+10)・100] =0.440
【0054】[具体例2]サンプリングの場合に、逐次
処理のカウント回数が8回であり、並列処理のカウント
回数が14回であり、並列処理のためのオーバーヘッド
により生ずる処理のカウント回数が10回であり、プロ
セッサ数が100である場合に並列効率等を計算する。 β(p,n)=β(p,n)/p×p=14×100=1400 Rpara(p,n)≡β(p,n)/[α(p,n)+β(p,n)] =1400/[8+1400]=0.994 Rα(p,n)≡α(p,n)/τ(p,n) =8/(8+14+10)=0.25 Rσ(p,n)≡σ(p,n)/τ(p,n) =10/(8+14+10)=0.313
【0055】これらの値を式(7)に代入すれば並列効
率が求められる。 Epara(p,n)=(1−0.25−0.313)/0.994 =0.440
【0056】また式(8)を使用する場合には以下のよ
うになる。 Epara(p,n)=14/[0.994・(8+14+10)] =0.440
【0057】さらに式(9)を使用する場合には以下の
ようになる。 Epara(p,n)=(8+1400)/[(8+14+10)・100] =0.440 このように時間測定の場合と同じ結果になる。
【0058】[具体例3]p=10で、逐次処理部分の
処理時間α(p,n)が100分、並列処理部分の処理時間
β(p,n)/pが1分、並列処理のためのオーバーヘッド
により生じた処理時間σ(p,n)が1分、並列処理時間τ
(p,n)が102分と時間測定された場合、β(p,n)=1×
10=10となる。また、式(4)、式(5)及び式
(6)に代入することにより、以下の値を得る。 Rpara(p,n)=10/(100+10)=0.091 Rα(p,n)=100/102=0.980 Rσ(p,n)=1/102=0.0098
【0059】例えば式(9)で並列効率を計算すると、
以下のようになる。 Epara(p,n)=(100+10)/120/10=0.
108
【0060】これらの値から並列処理の性能評価を行う
と、並列処理を阻害する要因はRα(p,n)が大きいため
である。Rpara(p,n) が小さいことから、プロセッサ数
が増して相対的にRα(p,n)が大きく見えるのではな
く、たとえp=2としても並列性能がでないことがわか
る。
【0061】[具体例4]p=10で、逐次処理部分の
処理時間α(p,n)が1分、並列処理部分の処理時間β(p,
n)/pが100分、並列処理のためのオーバーヘッドに
より生じた処理時間σ(p,n)が1分、並列処理時間τ(p,
n)が102分と時間測定された場合、β(p,n)=100
×10=1000となる。また、式(4)、式(5)及
び式(6)に代入することにより、以下の値を得る。 Rpara(p,n)=1000/(10+1000)=0.9
99 Rα(p,n)=1/102=0.0098 Rσ(p,n)=1/102=0.0098
【0062】例えば式(8)で並列効率を計算すると、
以下のようになる。 Epara(p,n)=1/0.999×1/102×100=
0.981
【0063】これらの値から並列処理の性能評価を行う
と、並列効率0.981と非常に高い状態で並列処理を
実施していることが分かる。
【0064】[具体例5]p=10で、逐次処理部分の
処理時間α(p,n)が10分、並列処理部分の処理時間β
(p,n)/pが10分、並列処理のためのオーバーヘッド
により生じた処理時間σ(p,n)が10分、並列処理時間
τ(p,n)が30分と時間測定された場合、β(p,n)=10
×10=100となる。また、式(4)、式(5)及び
式(6)に代入することにより、以下の値を得る。 Rpara(p,n)=100/(10+100)=0.909 Rα(p,n)=10/30=0.333 Rσ(p,n)=10/30=0.333
【0065】例えば式(7)で並列効率を計算すると、
以下のようになる。 Epara(p,n)=(1−0.333−0.333)/0.909=
0.367
【0066】これらの値から並列処理の性能評価を行う
と、並列処理を阻害する要因はRα(p,n)及びRσ(p,n)
であり、0.333であり、同じ割合で阻害している。
【0067】[具体例6]p=10で、逐次処理のカウ
ント数が10000で、並列処理のカウント数が100
で、並列処理のためのオーバーヘッドにより生ずる処理
のカウント数が100であり、全体のカウント数が10
200とサンプリングされた場合、β(p,n)=100×
10=1000となる。また、式(4)、式(5)及び
式(6)に代入することにより、以下の値を得る。 Rpara(p,n)=1000/(10000+1000)=
0.091 Rα(p,n)=10000/10200=0.980 Rσ(p,n)=100/10200=0.0098
【0068】例えば式(9)で並列効率を計算すると、
以下のようになる。 Epara(p,n)=(10000+1000)/10200/10=0.10
【0069】これらの値から並列処理の性能評価を行う
と、並列処理を阻害する要因はRα(p,n)が大きいため
である。Rpara(p,n)が小さいことから、プロセッサ数
が増加して相対的にRα(p,n)が大きく見えるのではな
く、例えp=2としても並列性能がでないことが分か
る。
【0070】[具体例7]p=10で、逐次処理のカウ
ント数が100で、並列処理のカウント数が10000
で、並列処理のためのオーバーヘッドにより生ずる処理
のカウント数が100であり、全体のカウント数が10
200とサンプリングされた場合、β(p,n)=1000
0×10=100000となる。また、式(4)、式
(5)及び式(6)に代入することにより、以下の値を
得る。 Rpara(p,n)=100000/(100+100000)=0.999 Rα(p,n)=100/10200=0.0098 Rσ(p,n)=100/10200=0.0098
【0071】例えば式(8)で並列効率を計算すると、
以下のようになる。 Epara(p,n)=1/0.999・1/10200・10000=0.98
【0072】これらの値から並列処理の性能評価を行う
と、並列計算機システムは並列効率0.981と高い状
態で並列処理を実行していることが分かる。
【0073】[具体例8]p=10で、逐次処理のカウ
ント数が1000で、並列処理のカウント数が1000
で、並列処理のためのオーバーヘッドにより生ずる処理
のカウント数が1000であり、全体のカウント数が3
000とサンプリングされた場合、β(p,n)=1000
×10=10000となる。また、式(4)、式(5)
及び式(6)に代入することにより、以下の値を得る。 Rpara(p,n)=10000/(1000+10000)=0.909 Rα(p,n)=1000/3000=0.333 Rσ(p,n)=1000/3000=0.333
【0074】例えば式(7)で並列効率を計算すると、
以下のようになる。 Epara(p,n)=(1−0.333−0.333)/0.909=0.36
【0075】これらの値から並列処理の性能評価を行う
と、並列処理を阻害する要因はRα(p,n)及びRσ(p,n)
であり、0.333であり、同じ割合で阻害しているこ
とが分かる。
【0076】(付記1)並列計算機システムの並列効率
を計算する方法であって、並列処理プログラム実行時に
おける逐次処理部分の処理時間に関する情報と、前記並
列処理プログラム実行時における並列処理部分の処理時
間に関する情報と、並列処理のオーバーヘッドにより生
ずる処理時間に関する情報とを取得し、記憶装置に格納
するステップと、取得された前記逐次処理部分の処理時
間に関する情報と前記並列処理部分の処理時間に関する
情報と前記並列処理のオーバーヘッドにより生ずる処理
時間に関する情報とを用いて、並列化率と、逐次計算時
間比と、並列オーバーヘッド比とを計算し、記憶装置に
格納する指標計算ステップと、計算された前記並列化率
と前記逐次計算時間比と前記並列オーバーヘッド比とを
用いて並列効率を計算し、記憶装置に格納する並列効率
計算ステップと、を含む並列効率計算方法。
【0077】(付記2)前記逐次処理部分の処理時間に
関する情報が、前記並列処理プログラム実行期間内の所
定周期毎の実行状況確認において逐次処理が実施されて
いると判断された回数であり、* 前記並列処理部分の
処理時間に関する情報が、前記並列処理プログラム実行
期間内の所定周期毎の実行状況確認において並列処理が
実施されていると判断された回数であり、前記並列処理
のオーバーヘッドにより生ずる処理時間に関する情報
が、前記並列処理プログラム実行期間内の所定周期毎の
実行状況確認において前記並列処理のオーバーヘッドに
より生ずる処理が実施されていると判断された回数であ
ることを特徴とする付記1記載の並列効率計算方法。
【0078】(付記3)前記指標計算ステップが、前記
並列処理部分の処理時間に関する情報をプロセッサ数倍
し、前記並列処理プログラム実行時における並列処理部
分の逐次処理時における処理時間に関する情報として記
憶装置に格納するステップと、(前記並列処理部分の逐
次処理時における処理時間に関する情報)/(前記逐次
処理部分の処理時間に関する情報+前記並列処理部分の
逐次処理時における処理時間に関する情報)を計算し、
前記並列化率として記憶装置に格納するステップと、を
含む付記1記載の並列効率計算方法。
【0079】(付記4)前記指標計算ステップが、(前
記逐次処理部分の処理時間に関する情報)/(前記並列
処理プログラムの全処理時間に関する情報)を計算し、
前記逐次計算時間比として記憶装置に格納するステッ
プ、を含む付記1記載の並列効率計算方法。
【0080】(付記5)前記指標計算ステップが、(前
記並列処理のオーバーヘッドにより生ずる処理時間に関
する情報)/(前記並列処理プログラムの全処理時間に
関する情報)を計算し、前記並列オーバーヘッド比とし
て記憶装置に格納するステップ、を含む付記1記載の並
列効率計算方法。
【0081】(付記6)前記並列効率計算ステップが、
1/(前記並列化率)×(1−(前記逐次計算時間比)
−(前記並列オーバーヘッド比))を計算し、前記並列
効率として記憶装置に格納するステップ、であることを
特徴とする付記1記載の並列効率計算方法。
【0082】(付記7)並列計算機システムの並列効率
を計算する方法であって、並列処理プログラム実行時に
おける逐次処理部分の処理時間に関する情報と、前記並
列処理プログラム実行時における並列処理部分の処理時
間に関する情報と前記並列処理プログラムの全処理時間
に関する情報とを取得し、記憶装置に格納するステップ
と、取得された前記並列処理部分の処理時間に関する情
報をプロセッサ数倍し、前記並列処理プログラム実行時
における並列処理部分の逐次処理時における処理時間に
関する情報として記憶装置に格納するステップと、取得
された前記逐次処理部分の処理時間に関する情報と前記
並列処理部分の処理時間に関する情報とを少なくとも用
いて、並列化率と、逐次計算時間比と、並列オーバーヘ
ッド比とを計算し、記憶装置に格納する指標計算ステッ
プと、((前記逐次処理部分の処理時間に関する情報)
+(前記並列処理部分の逐次処理時における処理時間に
関する情報))/((前記並列処理プログラムの全処理
時間に関する情報)×(前記プロセッサ数))を計算
し、並列効率として記憶装置に格納するステップと、を
含む並列効率計算方法。
【0083】(付記8)並列計算機システムの並列効率
を計算する方法であって、並列処理プログラム実行時に
おける逐次処理部分の処理時間に関する情報と、前記並
列処理プログラム実行時における並列処理部分の処理時
間に関する情報と前記並列処理プログラムの全処理時間
に関する情報とを取得し、記憶装置に格納するステップ
と、取得された前記逐次処理部分の処理時間に関する情
報と前記並列処理部分の処理時間に関する情報とを用い
て並列化率を計算し、記憶装置に格納するステップと、
前記並列化率の逆数と前記並列処理プログラムの全処理
時間に関する情報の逆数と前記並列処理部分の処理時間
に関する情報との積を計算し、並列効率として記憶装置
に格納するステップと、を含む並列効率計算方法。
【0084】(付記9)並列計算機システムの並列効率
を計算するプログラムであって、並列処理プログラム実
行時における逐次処理部分の処理時間に関する情報と、
前記並列処理プログラム実行時における並列処理部分の
処理時間に関する情報と、並列処理のオーバーヘッドに
より生ずる処理時間に関する情報とを取得し、記憶装置
に格納するステップと、取得された前記逐次処理部分の
処理時間に関する情報と前記並列処理部分の処理時間に
関する情報と前記並列処理のオーバーヘッドにより生ず
る処理時間に関する情報とを用いて、並列化率と、逐次
計算時間比と、並列オーバーヘッド比とを計算し、記憶
装置に格納する指標計算ステップと、計算された前記並
列化率と前記逐次計算時間比と前記並列オーバーヘッド
比とを用いて並列効率を計算し、記憶装置に格納する並
列効率計算ステップと、をコンピュータに実行させるた
めのプログラム。
【0085】(付記10)並列計算機システムの並列効
率を計算するプログラムであって、並列処理プログラム
実行時における逐次処理部分の処理時間に関する情報
と、前記並列処理プログラム実行時における並列処理部
分の処理時間に関する情報と前記並列処理プログラムの
全処理時間に関する情報とを取得し、記憶装置に格納す
るステップと、取得された前記並列処理部分の処理時間
に関する情報をプロセッサ数倍し、前記並列処理プログ
ラム実行時における並列処理部分の逐次処理時における
処理時間に関する情報として記憶装置に格納するステッ
プと、取得された前記逐次処理部分の処理時間に関する
情報と前記並列処理部分の処理時間に関する情報とを少
なくとも用いて、並列化率と、逐次計算時間比と、並列
オーバーヘッド比とを計算し、記憶装置に格納する指標
計算ステップと、((前記逐次処理部分の処理時間に関
する情報)+(前記並列処理部分の逐次処理時における
処理時間に関する情報))/((前記並列処理プログラ
ムの全処理時間に関する情報)×(前記プロセッサ
数))を計算し、並列効率として記憶装置に格納するス
テップと、をコンピュータに実行させるためのプログラ
ム。
【0086】(付記11)並列計算機システムの並列効
率を計算するプログラムであって、並列処理プログラム
実行時における逐次処理部分の処理時間に関する情報
と、前記並列処理プログラム実行時における並列処理部
分の処理時間に関する情報と前記並列処理プログラムの
全処理時間に関する情報とを取得し、記憶装置に格納す
るステップと、取得された前記逐次処理部分の処理時間
に関する情報と前記並列処理部分の処理時間に関する情
報とを用いて並列化率を計算し、記憶装置に格納するス
テップと、前記並列化率の逆数と前記並列処理プログラ
ムの全処理時間に関する情報の逆数と前記並列処理部分
の処理時間に関する情報との積を計算し、並列効率とし
て記憶装置に格納するステップと、をコンピュータに実
行させるためのプログラム。
【0087】(付記12)付記9乃至11のいずれか1
つ記載のプログラムを格納した記録媒体。
【0088】(付記13)並列計算機システムの並列効
率を計算する装置であって、並列処理プログラム実行時
における逐次処理部分の処理時間に関する情報と、前記
並列処理プログラム実行時における並列処理部分の処理
時間に関する情報と、並列処理のオーバーヘッドにより
生ずる処理時間に関する情報とを取得し、記憶装置に格
納する手段と、取得された前記逐次処理部分の処理時間
に関する情報と前記並列処理部分の処理時間に関する情
報と前記並列処理のオーバーヘッドにより生ずる処理時
間に関する情報とを用いて、並列化率と、逐次計算時間
比と、並列オーバーヘッド比とを計算し、記憶装置に格
納する指標計算手段と、計算された前記並列化率と前記
逐次計算時間比と前記並列オーバーヘッド比とを用いて
並列効率を計算し、記憶装置に格納する並列効率計算手
段と、を有する並列効率計算装置。
【0089】(付記14)並列計算機システムの並列効
率を計算する装置であって、並列処理プログラム実行時
における逐次処理部分の処理時間に関する情報と、前記
並列処理プログラム実行時における並列処理部分の処理
時間に関する情報と前記並列処理プログラムの全処理時
間に関する情報とを取得し、記憶装置に格納する手段
と、取得された前記並列処理部分の処理時間に関する情
報をプロセッサ数倍し、前記並列処理プログラム実行時
における並列処理部分の逐次処理時における処理時間に
関する情報として記憶装置に格納する手段と、取得され
た前記逐次処理部分の処理時間に関する情報と前記並列
処理部分の処理時間に関する情報とを少なくとも用い
て、並列化率と、逐次計算時間比と、並列オーバーヘッ
ド比とを計算し、記憶装置に格納する指標計算手段と、
((前記逐次処理部分の処理時間に関する情報)+(前
記並列処理部分の逐次処理時における処理時間に関する
情報))/((前記並列処理プログラムの全処理時間に
関する情報)×(前記プロセッサ数))を計算し、並列
効率として記憶装置に格納する手段と、を有する並列効
率計算装置。
【0090】(付記15)並列計算機システムの並列効
率を計算する装置であって、並列処理プログラム実行時
における逐次処理部分の処理時間に関する情報と、前記
並列処理プログラム実行時における並列処理部分の処理
時間に関する情報と前記並列処理プログラムの全処理時
間に関する情報とを取得し、記憶装置に格納する手段
と、取得された前記逐次処理部分の処理時間に関する情
報と前記並列処理部分の処理時間に関する情報とを用い
て並列化率を計算し、記憶装置に格納する手段と、前記
並列化率の逆数と前記並列処理プログラムの全処理時間
に関する情報の逆数と前記並列処理部分の処理時間に関
する情報との積を計算し、並列効率として記憶装置に格
納する手段と、を含む並列効率計算方法。
【0091】
【発明の効果】以上のように本発明のよれば、並列効率
の値と性能改善を阻害する要因を定量的に結び付けるこ
とにより性能を阻害している原因を明確にするための技
術を提供することができる。
【0092】また、並列効率を1回の測定結果により計
算できるようにするための技術を提供することができ
る。
【0093】さらに、より精度よく並列効率を計算する
できるようにするための技術を提供することができる。
【0094】また、並列計算機システムの性能評価を容
易にし且つ評価に要する時間を短縮できるようにするた
めの技術を提供することもできる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るブロック図であ
る。
【図2】並列効率を計算するための第1の処理フローを
示す図である。
【図3】本発明の一実施の形態に係るブロック図であ
る。
【図4】並列効率を計算するための第2の処理フローを
示す図である。
【図5】並列効率を計算するための第3の処理フローを
示す図である。
【符号の説明】
1,2 コンピュータ 11,21 データ取得部 13 指標データ計算部 15,25 並列効率計算部 17,27 出力部 19,29 出力装置 23 前処理部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】並列計算機システムの並列効率を計算する
    方法であって、 並列処理プログラム実行時における逐次処理部分の処理
    時間に関する情報と、前記並列処理プログラム実行時に
    おける並列処理部分の処理時間に関する情報と、並列処
    理のオーバーヘッドにより生ずる処理時間に関する情報
    とを取得し、記憶装置に格納するステップと、 取得された前記逐次処理部分の処理時間に関する情報と
    前記並列処理部分の処理時間に関する情報と前記並列処
    理のオーバーヘッドにより生ずる処理時間に関する情報
    とを用いて、並列化率と、逐次計算時間比と、並列オー
    バーヘッド比とを計算し、記憶装置に格納する指標計算
    ステップと、 計算された前記並列化率と前記逐次計算時間比と前記並
    列オーバーヘッド比とを用いて並列効率を計算し、記憶
    装置に格納する並列効率計算ステップと、 を含む並列効率計算方法。
  2. 【請求項2】前記逐次処理部分の処理時間に関する情報
    が、前記並列処理プログラム実行期間内の所定周期毎の
    実行状況確認において逐次処理が実施されていると判断
    された回数であり、 前記並列処理部分の処理時間に関する情報が、前記並列
    処理プログラム実行期間内の所定周期毎の実行状況確認
    において並列処理が実施されていると判断された回数で
    あり、 前記並列処理のオーバーヘッドにより生ずる処理時間に
    関する情報が、前記並列処理プログラム実行期間内の所
    定周期毎の実行状況確認において前記並列処理のオーバ
    ーヘッドにより生ずる処理が実施されていると判断され
    た回数であることを特徴とする請求項1記載の並列効率
    計算方法。
  3. 【請求項3】前記指標計算ステップが、 前記並列処理部分の処理時間に関する情報をプロセッサ
    数倍し、前記並列処理プログラム実行時における並列処
    理部分の逐次処理時における処理時間に関する情報とし
    て記憶装置に格納するステップと、 (前記並列処理部分の逐次処理時における処理時間に関
    する情報)/(前記逐次処理部分の処理時間に関する情
    報+前記並列処理部分の逐次処理時における処理時間に
    関する情報)を計算し、前記並列化率として記憶装置に
    格納するステップと、 を含む請求項1記載の並列効率計算方法。
  4. 【請求項4】前記指標計算ステップが、 (前記逐次処理部分の処理時間に関する情報)/(前記
    並列処理プログラムの全処理時間に関する情報)を計算
    し、前記逐次計算時間比として記憶装置に格納するステ
    ップ、 を含む請求項1記載の並列効率計算方法。
  5. 【請求項5】前記指標計算ステップが、 (前記並列処理のオーバーヘッドにより生ずる処理時間
    に関する情報)/(前記並列処理プログラムの全処理時
    間に関する情報)を計算し、前記並列オーバーヘッド比
    として記憶装置に格納するステップ、 を含む請求項1記載の並列効率計算方法。
  6. 【請求項6】前記並列効率計算ステップが、 1/(前記並列化率)×(1−(前記逐次計算時間比)
    −(前記並列オーバーヘッド比))を計算し、前記並列
    効率として記憶装置に格納するステップ、 であることを特徴とする請求項1記載の並列効率計算方
    法。
  7. 【請求項7】並列計算機システムの並列効率を計算する
    方法であって、 並列処理プログラム実行時における逐次処理部分の処理
    時間に関する情報と、前記並列処理プログラム実行時に
    おける並列処理部分の処理時間に関する情報と前記並列
    処理プログラムの全処理時間に関する情報とを取得し、
    記憶装置に格納するステップと、 取得された前記並列処理部分の処理時間に関する情報を
    プロセッサ数倍し、前記並列処理プログラム実行時にお
    ける並列処理部分の逐次処理時における処理時間に関す
    る情報として記憶装置に格納するステップと、 取得された前記逐次処理部分の処理時間に関する情報と
    前記並列処理部分の処理時間に関する情報とを少なくと
    も用いて、並列化率と、逐次計算時間比と、並列オーバ
    ーヘッド比とを計算し、記憶装置に格納する指標計算ス
    テップと、 ((前記逐次処理部分の処理時間に関する情報)+(前
    記並列処理部分の逐次処理時における処理時間に関する
    情報))/((前記並列処理プログラムの全処理時間に
    関する情報)×(前記プロセッサ数))を計算し、並列
    効率として記憶装置に格納するステップと、 を含む並列効率計算方法。
  8. 【請求項8】並列計算機システムの並列効率を計算する
    方法であって、 並列処理プログラム実行時における逐次処理部分の処理
    時間に関する情報と、前記並列処理プログラム実行時に
    おける並列処理部分の処理時間に関する情報と前記並列
    処理プログラムの全処理時間に関する情報とを取得し、
    記憶装置に格納するステップと、 取得された前記逐次処理部分の処理時間に関する情報と
    前記並列処理部分の処理時間に関する情報とを用いて並
    列化率を計算し、記憶装置に格納するステップと、 前記並列化率の逆数と前記並列処理プログラムの全処理
    時間に関する情報の逆数と前記並列処理部分の処理時間
    に関する情報との積を計算し、並列効率として記憶装置
    に格納するステップと、 を含む並列効率計算方法。
  9. 【請求項9】並列計算機システムの並列効率を計算する
    プログラムであって、 並列処理プログラム実行時における逐次処理部分の処理
    時間に関する情報と、前記並列処理プログラム実行時に
    おける並列処理部分の処理時間に関する情報と、並列処
    理のオーバーヘッドにより生ずる処理時間に関する情報
    とを取得し、記憶装置に格納するステップと、 取得された前記逐次処理部分の処理時間に関する情報と
    前記並列処理部分の処理時間に関する情報と前記並列処
    理のオーバーヘッドにより生ずる処理時間に関する情報
    とを用いて、並列化率と、逐次計算時間比と、並列オー
    バーヘッド比とを計算し、記憶装置に格納する指標計算
    ステップと、 計算された前記並列化率と前記逐次計算時間比と前記並
    列オーバーヘッド比とを用いて並列効率を計算し、記憶
    装置に格納する並列効率計算ステップと、 をコンピュータに実行させるためのプログラム。
  10. 【請求項10】並列計算機システムの並列効率を計算す
    るプログラムであって、 並列処理プログラム実行時における逐次処理部分の処理
    時間に関する情報と、前記並列処理プログラム実行時に
    おける並列処理部分の処理時間に関する情報と前記並列
    処理プログラムの全処理時間に関する情報とを取得し、
    記憶装置に格納するステップと、 取得された前記並列処理部分の処理時間に関する情報を
    プロセッサ数倍し、前記並列処理プログラム実行時にお
    ける並列処理部分の逐次処理時における処理時間に関す
    る情報として記憶装置に格納するステップと、 取得された前記逐次処理部分の処理時間に関する情報と
    前記並列処理部分の処理時間に関する情報とを少なくと
    も用いて、並列化率と、逐次計算時間比と、並列オーバ
    ーヘッド比とを計算し、記憶装置に格納する指標計算ス
    テップと、 ((前記逐次処理部分の処理時間に関する情報)+(前
    記並列処理部分の逐次処理時における処理時間に関する
    情報))/((前記並列処理プログラムの全処理時間に
    関する情報)×(前記プロセッサ数))を計算し、並列
    効率として記憶装置に格納するステップと、 をコンピュータに実行させるためのプログラム。
JP2001241121A 2001-08-08 2001-08-08 並列効率計算方法及び装置 Withdrawn JP2003050721A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001241121A JP2003050721A (ja) 2001-08-08 2001-08-08 並列効率計算方法及び装置
US09/998,160 US7024667B2 (en) 2001-08-08 2001-12-03 Parallel efficiency calculating method and apparatus
EP01310317A EP1283470A3 (en) 2001-08-08 2001-12-10 Parallel efficiency calculating method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001241121A JP2003050721A (ja) 2001-08-08 2001-08-08 並列効率計算方法及び装置

Publications (1)

Publication Number Publication Date
JP2003050721A true JP2003050721A (ja) 2003-02-21

Family

ID=19071625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001241121A Withdrawn JP2003050721A (ja) 2001-08-08 2001-08-08 並列効率計算方法及び装置

Country Status (3)

Country Link
US (1) US7024667B2 (ja)
EP (1) EP1283470A3 (ja)
JP (1) JP2003050721A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100821681B1 (ko) * 2006-12-13 2008-04-14 리노공업주식회사 실장 테스트용 검사 소켓과 이를 장착한 실장테스트용회로기판 및 실장테스트용 회로기판의 제조방법
JP2009181554A (ja) * 2008-02-01 2009-08-13 Nec Corp 計算機システム、性能情報取得方法、および性能情報取得プログラム
JPWO2008010291A1 (ja) * 2006-07-21 2009-12-17 富士通株式会社 並列計算機システムのスケーラビリティに関するデータ処理方法及び装置
JP2014510357A (ja) * 2011-04-05 2014-04-24 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイスのマルチコアプロセッサにおける複数のコアへの電力を動的に制御するための方法およびシステム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004054680A (ja) * 2002-07-22 2004-02-19 Fujitsu Ltd 並列効率計算方法
JP4555145B2 (ja) * 2005-04-28 2010-09-29 富士通株式会社 バッチスケジューリングプログラム、バッチスケジューリング方法およびバッチスケジューリング装置
JP4780715B2 (ja) * 2006-08-01 2011-09-28 東京エレクトロン株式会社 サーバ装置およびプログラム
US8661424B2 (en) * 2010-09-02 2014-02-25 Honeywell International Inc. Auto-generation of concurrent code for multi-core applications

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01108638A (ja) * 1987-10-21 1989-04-25 Hitachi Ltd 並列化コンパイル方式
US5245638A (en) * 1990-10-29 1993-09-14 Iowa State University Research Foundation, Inc. Method and system for benchmarking computers
JP2622219B2 (ja) * 1991-12-26 1997-06-18 富士通株式会社 並列計算機の性能評価方法及びその装置
JP3480973B2 (ja) * 1993-11-30 2003-12-22 富士通株式会社 並列処理システムの動作解析装置
JPH11120040A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd 並列処理手続きの効果予測方法とそのための記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008010291A1 (ja) * 2006-07-21 2009-12-17 富士通株式会社 並列計算機システムのスケーラビリティに関するデータ処理方法及び装置
KR100821681B1 (ko) * 2006-12-13 2008-04-14 리노공업주식회사 실장 테스트용 검사 소켓과 이를 장착한 실장테스트용회로기판 및 실장테스트용 회로기판의 제조방법
JP2009181554A (ja) * 2008-02-01 2009-08-13 Nec Corp 計算機システム、性能情報取得方法、および性能情報取得プログラム
JP2014510357A (ja) * 2011-04-05 2014-04-24 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイスのマルチコアプロセッサにおける複数のコアへの電力を動的に制御するための方法およびシステム

Also Published As

Publication number Publication date
US7024667B2 (en) 2006-04-04
EP1283470A2 (en) 2003-02-12
EP1283470A3 (en) 2006-04-05
US20030036884A1 (en) 2003-02-20

Similar Documents

Publication Publication Date Title
JP5299161B2 (ja) 計算機装置および消費電力のサンプリング方法
Sprunt The basics of performance-monitoring hardware
JP2004054680A (ja) 並列効率計算方法
US20040148152A1 (en) System performance prediction mechanism and method based on software component performance measurements
JP5961971B2 (ja) シミュレーション装置,方法,およびプログラム
CA2231570A1 (en) Processor performance counter for sampling the execution frequency of individual instructions
CN100549979C (zh) 系统任务的cpu占用率检测方法及系统
Lindgren et al. Using measurements to derive the worst-case execution time
JP2003050721A (ja) 並列効率計算方法及び装置
Moore A comparison of counting and sampling modes of using performance monitoring hardware
JP3751466B2 (ja) プログラム応答時間予測装置
Maxwell et al. Accuracy of performance monitoring hardware
Dietrich et al. Open ACC programs examined: a performance analysis approach
Alomari et al. A slice-based estimation approach for maintenance effort
JPWO2008010291A1 (ja) 並列計算機システムのスケーラビリティに関するデータ処理方法及び装置
JP3821834B2 (ja) 並列効率計算方法
Mathur et al. Toward accurate performance evaluation using hardware counters
JPH11120040A (ja) 並列処理手続きの効果予測方法とそのための記録媒体
Roodi et al. Gene sequencing: where time goes
JP6503774B2 (ja) プログラム実行解析方法、情報処理装置及びプログラム実行解析プログラム
JP2004280295A (ja) ソフトウェア開発プロセス管理支援システム
Gravelle et al. Enabling Cache Aware Roofline analysis with Portable Hardware Counter Metrics
CN109783312B (zh) 一种资源用量的计量方法、装置及系统
JPH07295864A (ja) 計算機システム性能評価装置
JP2004341750A (ja) 並列性能評価方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060316

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080905