JPH0973405A - 並列プログラム稼働状態表示方法 - Google Patents

並列プログラム稼働状態表示方法

Info

Publication number
JPH0973405A
JPH0973405A JP7229889A JP22988995A JPH0973405A JP H0973405 A JPH0973405 A JP H0973405A JP 7229889 A JP7229889 A JP 7229889A JP 22988995 A JP22988995 A JP 22988995A JP H0973405 A JPH0973405 A JP H0973405A
Authority
JP
Japan
Prior art keywords
processor
program
parallel
data
user
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
JP7229889A
Other languages
English (en)
Inventor
Miyuki Saji
みゆき 佐治
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7229889A priority Critical patent/JPH0973405A/ja
Publication of JPH0973405A publication Critical patent/JPH0973405A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【構成】本並列プログラム稼働表示処理部100は、並
列プログラム101と稼働表示方法種類102とユーザ
データ103を受け付け、内部情報テーブル105を生
成するデータ受付処理104と、並列プログラム101
を実行して得られた稼働データ108と、さきの内部情
報テーブル105より目的の稼働表示方法で並列プログ
ラムの実行状態を表示する稼働状態表示処理109より
なる。 【効果】ユーザの指定した形状にプロセッサを配置して
並列計算機の稼働状況を表示できるため、プログラムの
構造に沿った表示が可能である。また、プロセッサをグ
ループに分けてグループ単位に稼働状況を表示できるた
め、大規模プログラムでもその稼働状態を一度にみるこ
とができ、並列プログラムのデバッグ,最適化の工数を
削減できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は任意の並列プログラムを
対象とし、この並列プログラムの稼働状況の表示方法に
関する。
【0002】
【従来の技術】従来技術として以下に二つ示す。一つは
計算機性能そのものの表示技術である。
【0003】並列計算機の性能を引き出すためには、そ
の上で動くプログラムが複数のプロセッサを偏り無く利
用し、かつ各CPU,I/O,ネットワークに極端に負
荷の大きい場所(ボトルネックという)を発生させない
ことが重要である。通常、このような理想的な並列プロ
グラムを利用者が初めから記述することは容易ではな
い。したがって、まず論理的に正しく稼働するプログラ
ムを作成し、その並列機上での稼働状況を観察してチュ
ーニングを施し、最終的に高速に稼働するプログラムに
仕上げるという手順がとられる。そのための手間を低減
するためには、並列プログラムの稼働状況を利用者がす
ばやく把握できるツールが不可欠である。
【0004】これに対して、従来、計算機の性能データ
(CPU稼働率,I/O利用状況,メモリ利用状況,ネ
ットワーク利用状況など)を表示する方法は、インテル
(Intel)社のパレード(Parade)で行われているよう
に、並列計算機に対応する図をコンピュータスクリーン
上に描画し、性能データの高低によって対応する部分の
色を変更させて並列計算機の稼働状況を表示していた。
これは並列計算機に対応して各プロセッサ一つ一つの性
能を表示するものである。
【0005】もう一つの従来技術は、さらに、並列プロ
グラムのもっと詳細な実行状態を把握するものである。
メッセージパッシング型の並列計算機では、各プロセッ
サ毎にローカルメモリを持ち、必要な情報はプロセッサ
からプロセッサへ通信路を介して送受信される。
【0006】効率よい並列プログラムを作成するには、
プログラム中のデータをどのように各メモリに配分する
かが大きな要因となる。また、デバッグにおいてはこれ
ら配置したデータが正しく動作しているか確認すること
が重要である。一般的なプログラム記述言語C,フォー
トラン(FORTRAN)などを用いる場合はデータ割り付けお
よび通信に関する指示はプログラム上でユーザが記述す
る。具体的には、あるプロセッサからセンド(send)命
令を用いて情報を送信し、指定されたプロセッサではレ
シーブ(receive)命令を用いてこれを受け取る、またあ
るプロセッサからブロードキャスト(broadcast)命令を
用いてすべてのプロセッサへ情報を送信し、全プロセッ
サではこれをreceive 命令を用いて受け取る、などが一
般的である。このプロセッサ間通信はタイミングを制御
してプログラミングしないと、無駄な待ち時間ができた
り、デッドロックを起こしたりする。そして、並列プロ
グラムに於てはこのプロセッサ間通信のタイミングを最
適化することがプログラムの実行時間の短縮に、最終的
にはプログラムの性能向上につながる。
【0007】このプロセッサ間通信に関する最適化を支
援するための従来技術は、一つに、XPVM(Oak Ridge
国立研究所)など、ユーザプログラムを実行し、プロ
セッサ間のデータの送受信のタイミングを、縦軸をプロ
セッサ,横軸を時間で表すガントチャートなどを用いて
グラフィカルに表示するものがある。これを用いれば送
受信の時間や、待ち時間,タイミングなどが一目でわか
るので、プログラムの修正すべき点が把握しやすく、プ
ログラムの最適化をはかる際に有用である。
【0008】
【発明が解決しようとする課題】上記従来技術を用いる
と、並列計算機の性能や並列計算機の作成プログラムに
おける各実行文のタイミングやデータ通信のタイミング
の把握は可能である。しかし、以下の課題が残る。
【0009】(1)プロセッサの稼働状況がわかって
も、それがプログラムの構造上どの役割の部分か把握す
るのが困難である。
【0010】(2)プロセッサの数が多い場合、全ての
プロセッサの稼働状態を出力するとその並列計算機の動
作の把握が非常に困難である。
【0011】(3)プロセッサの数が多い場合、全ての
プロセッサのガントチャートを出力するとプログラムの
動作の把握が非常に困難である。ガントチャートは時系
列なデータが一目で把握できるため並列プログラムのデ
バッグ・チューニングには欠かせないツールであるが、
並列機は少ない数十台のプロセッサでさえ、全プロセッ
サのガントチャートを出力すると情報量は多くなりプロ
グラム動作の把握はむずかしい。
【0012】本発明の目的はこれらの課題を解決し、効
率よく並列計算機性能および並列プログラムの稼働状態
を表示する方法を提供することにある。
【0013】
【課題を解決するための手段】上記各課題を解決するた
めの手段は以下の通りである。
【0014】(1)メッセージパッシング型の並列計算
機を用いる際には、大きなデータを複数のプロセッサに
割り付けプログラミングするケースが多く、このデータ
のメモリ割り付けがプログラミング上重要である。そし
てこのデータはユーザが形状をイメージしていることが
多い。そこで、プロセッサをこのユーザイメージ形状に
配置してプロセッサの稼働状態を表示することにより、
並列プログラム構造上に沿った稼働状態の表示が達成さ
れる。
【0015】(2)複数のプロセッサを1プロセッサと
みて並列プログラムの性能を表示する、またプログラム
の実行状態を示すガントチャートの表示においても複数
のプロセッサの情報を1プロセッサの情報とみなして表
示項目を削減することにより、少ない表示項目で大規模
なプログラムの稼働状態の表示が達成される。
【0016】
【作用】上記手段に対する作用は以下の通りである。
【0017】(1)プロセッサをユーザイメージ形状に
配置してプロセッサの性能を表示することにより、プロ
グラムの稼働状態の把握が簡単になる。
【0018】(2)全てのプロセッサに関する情報を、
少ない情報量で表示するため、プログラム全体の動作が
簡単に把握できる。
【0019】
【実施例】図4は本発明の前提にするハードウエア構成
である。ユーザにより稼働表示の対象である並列プログ
ラム101はワークステーション上の並列プログラム稼
働表示処理部100および並列計算機110に入力され
処理される。並列計算機110には複数のcpu401
があり、それぞれメモリ402およびデータ採集部40
3を持つ。この並列計算機110で並列プログラムを実
行して得られた稼働データ108は通信路404をへ
て、並列プログラム稼働表示処理部100へ送られ、処
理される。本発明はこの並列プログラム稼働表示処理部
100の処理に関する。以下、この並列プログラム稼働
表示処理部100および並列処理部106について詳細
に説明する。
【0020】図1は本発明の実施例を示す並列プログラ
ム稼働表示方法の処理手順である。並列プログラム稼働
表示処理部100の入力は稼働表示の対象である並列プ
ログラム101と、どのような表示を指定するかを示す
稼働表示方法種類102、および各稼働表示方法におい
て必要となるユーザデータ103である。稼働表示方法
種類102は3種類あり、並列計算機の各プロセッサの
稼働状態をユーザの指定する形状にマッピングして表示
するグラフィカルプロセッサ稼働状態表示機能1021
と、複数のプロセッサを1プロセッサのようにして示す
プロセッサグループ稼働状態表示機能1022およびガ
ントチャートをプロセッサグループで表示するガントチ
ャート機能1023である。それぞれに必要なユーザデ
ータ103はグラフィカルプロセッサ稼働状態表示機能1
021を指定した場合はプロセッサの表示形状を示すマ
ッピング形状1031,プロセッサグループ稼働状態表
示機能1022およびガントチャート機能1023を指
定した場合はプロセッサのグループ分け情報1032で
ある。
【0021】プログラム稼働表示処理部100では、デ
ータ受付処理104によって入力データ101,10
2,103を受けとるとはじめに、ユーザデータ103
に対応する内部情報テーブル105を生成する。内部情
報テーブル105は具体的には、マッピング形状103
1に対応したプロセッサ座標テーブル1051,プロセ
ッサのグループ分け情報1032に対応したプロセッサ
グループテーブル1052を生成する。次に処理を並列計算
機の並列計算機処理部106に移し、コンパイル・リン
ク・実行処理107によって並列プログラム101を実
行する。プログラムを実行しながら、各プロセッサやメ
モリの性能データである稼働データ108を出力する。
この稼働データ108を受けて、プログラム稼働表示処
理部100では、次に、稼働表示処理109によりユー
ザの指定した各種稼働表示種類102に応じて稼働状況を
表示する。具体的には、実行時に並列計算処理部106
から送られる稼働データ108を内部情報テーブル10
5にマッピングして、目的の表示を実施する。以上が、
並列プログラム稼働表示方法100の処理手順の概略で
ある。
【0022】以下、例を用いて本発明の詳細を示す。
【0023】入力情報および、最初の処理であるデータ
受付処理104の詳細を図2を用いて示す。図2は入力
情報に対する、データ受付画面201である。データ受
付処理104はこの受付処理画面201によって対話型
に入力情報101,102,103を受け付ける。
【0024】はじめに、稼働状態表示対象である並列プ
ログラム101をファイル名称によって読み込む(20
2)。これはユーザが複数のプロセッサを対象にFORTRA
N やCなどのプログラミング言語で記述したものであ
る。
【0025】次に、稼働表示方法種類102を選択形式
で読み込む(203)。選択肢は三つでグラフィカルプ
ロセッサ稼働状態表示機能1021とプロセッサグルー
プ稼働状態表示機能1022とガントチャート機能10
23で、ユーザは対応するトグルボタンを押下すること
によって選択する。グラフィカルプロセッサ稼働状態表
示機能1021とプロセッサグループ稼働状態表示機能
1022は両方を押下することも可能である。本例では
この二つを選択している。
【0026】次に選択された機能に従い、必要なデータ
を要求する。まず、グラフィカルプロセッサ稼働状態表
示機能1021が指定された場合は、グラフィカルプロ
セッサ表示用データ受付204の画面を表示し、データ
を受け付ける。具体的にはまず、指定する形状が個々の
プロセッサに対するものかプロセッサグループに対する
ものかトグルボタンによって選択する(205)。本例
では上記でプロセッサグループ表示も選択しているた
め、プロセッサグループを選択する。
【0027】次に、マッピングすべき形状を入力する。
画面右中にある四つの部品206から形状を選択しこれ
らを組み合わせて目的の形状を作成する(207)。部
品中のn,m,p等はプロセッサ番号をユーザが入力す
る箇所である。部品中に一つの番号を入力する場合は1
プロセッサまたはプロセッサグループを示し、二つの場
合は連続するプロセッサ番号のはじめと終わりを意味す
る。例えばユーザ記入例207の一番上の長方形はプロ
セッサグループ番号1〜5までを示している。一つの四
角形に四つの番号を入力する場合も連続するプロセッサ
番号であり、途中の番号を二つ記入することで縦横どち
らの方向にプロセッサを連続して配置するかを指示す
る。本例では6〜25までのプロセッサグループを横方
向に五つずつ連続して配置したものを縦方向に並べるこ
とを指示している。
【0028】また、プロセッサグループ稼働状態表示機
能1022およびガントチャート機能1023が指示さ
れた場合はプロセッサグループ表示用データ受付208
の画面を表示し、データを受け付ける。具体的にはグル
ープ番号を記入し209それに付属するプロセッサ番号
を記入する(210)。連続したプロセッサ番号は記号
〜を用いて記述することができる。例えば本例ではグル
ープ1にはプロセッサ番号1〜10が含まれることを指
示している。
【0029】以上の方法を用いてユーザは入力データの
指示を行い、終了したら終了ボタン212を押下する。
データ受付処理102は終了ボタン212の押下によっ
て入力データ101,102,103の受け付けを終了
し、内部情報テーブル105として、プロセッサ座標テ
ーブル1051およびプロセッサグループテーブル10
52を生成する。
【0030】プロセッサ座標テーブル1051の例を図
3に示す。プロセッサ座標テーブル105は全てのプロ
セッサまたはプロセッサグループ311に対してその座
標値312を持つ。座標値はデータ受付処理104でユ
ーザに指定された配置より求める。また、プロセッサグ
ループテーブル1051では各グループ番号に付属する
全てのプロセッサ番号を持つ。
【0031】次に処理を並列計算機110における、並
列計算機処理部106に移し、コンパイル・リンク・実
行処理107によって並列プログラム101を実行す
る。プログラムを実行しながら、各プロセッサやメモリ
の性能データである稼働データ108を出力する。
【0032】図4を用いて説明する。並列計算機には複
数のcpu401があり、それぞれメモリ402を持
つ。また、それぞれデータ収集部403を持ち、性能の
データを収集する。収集するのは、例えば、プロセッ
サ,メモリ,通信系,受信系などの使用状態である。各
性能データは各プロセッサ上で稼働するオペレーティン
グシステムにシステムコールを発行することにより得る
ことができる。それぞれ収集した性能データである稼働
データ108はネットワーク404経由で、プログラム
稼働表示処理部100のあるワークステーションなどの
計算機に送られる。
【0033】並列計算機107から稼働データ108が
プログラム稼働表示処理部100に送られると、稼働表
示処理109によりユーザの指定した各種稼働表示種類
102に応じて稼働状況を表示する。指定された稼働表示
種類102がグラフィカルプロセッサ稼働状態表示機能
1021の場合は、プロセッサ座標テーブル105にあ
わせてプロセッサを配置し、稼働データ108を表示す
る。また、プロセッサグループ稼働状態表示機能102
2が指定されている場合は、稼働データ108をプロセ
ッサグループテーブル106にあわせて統合し、これを
表示する。
【0034】図2に示したユーザの入力に対する出力例
を図5に示す。図5の画面表示例で上段(501)は、
図2のユーザ指定のプロセッサグループおよびプロセッ
サグループ配置上で入力した並列プログラム101の稼
働状態である。マウス507でプロセッサグループをク
リックするとグループ名称とその所属プロセッサを表示
する(502)。下段(503)には以下の選択項目を
表示する。表示データとしてcpu稼働率,メモリ,通
信のいずれかをユーザは選ぶ(504)。また、各プロ
セッサグループの番号を入力するとそのプロセッサグル
ープの詳細を表示することも可能である(505)。上
段の画面表示の視点を変更することもできる(50
6)。
【0035】本実施例によれば、以下の効果がある。
【0036】本プログラムは入力した形状と同一の物理
形状を持つモデルの数値シミュレーションであるが、プ
ロセスグループ1〜5の負荷が重く、21〜25のプロ
セスグループの稼働の負荷が軽い。よって、メモリ割り
付けにおいてプロセスグループ1〜5に対応する物理領
域を少なく、プロセスグループ21〜25に対応する物
理領域を多くすればよいことが一目でわかる。
【0037】
【発明の効果】本発明を用いれば、ユーザの指定した形
状にプロセッサを配置して並列計算機の稼働状況を表示
できる。よって、プログラムの構造に沿った表示が可能
である。また、プロセッサをグループに分けてグループ
単位に稼働状況を表示できるため、大量のプロセッサを
駆動するプログラムでも、プログラム全体の稼働状態を
一度にみることができる。よって本発明によれば、並列
プログラムのデバッグ,最適化の工数を削減できる。
【図面の簡単な説明】
【図1】本発明の実施例を示す並列プログラム稼働表示
処理のフローチャート。
【図2】データ受付処理画面の例の説明図。
【図3】プロセッサ座標テーブルの例の説明図。
【図4】ハードウェア構成の説明図。
【図5】並列プログラム稼働状態表示例の説明図。
【符号の説明】
100…並列プログラム稼働表示処理部、101…並列
プログラム、102…稼働表示方法種類、1021…グ
ラフィカル稼働状態表示方法、1022…プロセッサグ
ループ稼働状態表示方法、103…ユーザデータ、10
31…マッピング形状、1032…プロセッサのグルー
プ分け情報、104…データ受付処理、105…内部情
報テーブル、1051…プロセッサ座標テーブル、10
52…プロセッサ座標テーブル、108…稼働データ、
109…稼働状態表示処理。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】並列計算機の各プロセッサから得られた情
    報を、ユーザが指定した形状にプロセッサを配置し、そ
    の稼働状態を表示することを特徴とする並列プログラム
    稼働状態表示方法。
  2. 【請求項2】並列計算機の各プロセッサから得られた情
    報をユーザの指定した複数のグループに分け、グループ
    単位に前記情報を表示することを特徴とする並列プログ
    ラム稼働状態表示方法。
  3. 【請求項3】並列計算機の各プロセッサから得られた情
    報をユーザの指定した複数のグループに分け、ユーザ指
    定した形状に前記プロセッサのグループを配置して、グ
    ループ単位に前記情報を表示する請求項第1または2に
    記載の並列プログラム稼働状態表示方法。
  4. 【請求項4】並列プログラムの実行状態表示方法におい
    て、全プロセッサをユーザの指定した複数のグループに
    分け、1グループが1プロセッサのように稼働状況を表
    示することを特徴とする並列プログラム稼働状態表示方
    法。
JP7229889A 1995-09-07 1995-09-07 並列プログラム稼働状態表示方法 Pending JPH0973405A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7229889A JPH0973405A (ja) 1995-09-07 1995-09-07 並列プログラム稼働状態表示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7229889A JPH0973405A (ja) 1995-09-07 1995-09-07 並列プログラム稼働状態表示方法

Publications (1)

Publication Number Publication Date
JPH0973405A true JPH0973405A (ja) 1997-03-18

Family

ID=16899311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7229889A Pending JPH0973405A (ja) 1995-09-07 1995-09-07 並列プログラム稼働状態表示方法

Country Status (1)

Country Link
JP (1) JPH0973405A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213205A (ja) * 2006-02-08 2007-08-23 Fujitsu Ltd システム分析プログラム、システム分析装置、およびシステム分析方法
US7975261B2 (en) 2006-05-26 2011-07-05 Fujitsu Semiconductor Limited Task transition chart display method and display apparatus
JP2025531494A (ja) * 2022-09-30 2025-09-19 テスラ,インコーポレイテッド システムオンウェハのテレメトリのための方法及び装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213205A (ja) * 2006-02-08 2007-08-23 Fujitsu Ltd システム分析プログラム、システム分析装置、およびシステム分析方法
US7975261B2 (en) 2006-05-26 2011-07-05 Fujitsu Semiconductor Limited Task transition chart display method and display apparatus
JP2025531494A (ja) * 2022-09-30 2025-09-19 テスラ,インコーポレイテッド システムオンウェハのテレメトリのための方法及び装置

Similar Documents

Publication Publication Date Title
EP0790559B1 (en) Method of monitoring a computer system, featuring performance data distribution to plural monitoring processes
Heath et al. ParaGraph: A tool for visualizing performance of parallel programs
JP2012094166A (ja) アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置
JP3484718B2 (ja) 計算機システムの運用管理システム
Fromm et al. Experiences with performance measurement and modeling of a processor array
CN109637592A (zh) 分子力场参数生成的计算任务管理分析系统及其运行方法
JPH0973405A (ja) 並列プログラム稼働状態表示方法
JP3224426B2 (ja) プログラム解析支援装置
KR20050057834A (ko) 멀티프로세서 시스템에서 스케줄러를 이용한 대규모데이터 처리 방법
JP3274581B2 (ja) プロセス監視装置
CN111782482B (zh) 接口压力测试方法及相关设备
CN115033374A (zh) 一种多核可编程控制器的任务到线程匹配方法
JPH03257633A (ja) マルチスレッド環境の計算機システム
JPH10177564A (ja) シミュレーションプログラム実行方法
JP2745567B2 (ja) 計算機システム
CN113721989A (zh) 一种多处理器并行操作系统及计算机架构
JP3374480B2 (ja) データ処理装置
JPH0916436A (ja) 並列プログラム最適化支援方法
JPH10171999A (ja) グラフ表示装置
JP3068509B2 (ja) 3次元棒グラフの要素取り出し表示装置
JPH05210444A (ja) 電子計算機の自動入力システム
JPH1139128A (ja) グラフィカル表示方法
JPH08137700A (ja) エキスパートシステムのプログラム作成支援装置。
JPH05108137A (ja) 製造工程管理システム
JPH0279150A (ja) 分散処理方式