JP2000276454A - ソフトウェアの構成方法 - Google Patents

ソフトウェアの構成方法

Info

Publication number
JP2000276454A
JP2000276454A JP11083962A JP8396299A JP2000276454A JP 2000276454 A JP2000276454 A JP 2000276454A JP 11083962 A JP11083962 A JP 11083962A JP 8396299 A JP8396299 A JP 8396299A JP 2000276454 A JP2000276454 A JP 2000276454A
Authority
JP
Japan
Prior art keywords
software
executed
parallel
performance
execution 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.)
Pending
Application number
JP11083962A
Other languages
English (en)
Inventor
Takeshi Naono
健 直野
Yusaku Yamamoto
有作 山本
Satoshi Ito
智 伊藤
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 JP11083962A priority Critical patent/JP2000276454A/ja
Publication of JP2000276454A publication Critical patent/JP2000276454A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 性能を左右し、かつ、ユーザーインターフェ
イスには現れないパラメータを、性能予測方法に基づ
き、ユーザーインターフェイスに現れるパラメータに応
じて自動的に調節してインストールを行う並列ソフトウ
ェアの構成方法。 【解決手段】 性能を大きく左右するパラメータ、クリ
ティカルパラメータCPを抽出し、さらにそのパラメー
タ群を、ユーザーインターフェイスに現れるユーザーク
リティカルパラメータUCPと、そうでない内部クリテ
ィカルパラメータICPとに分類する。次に、UCPと
ICPとを用いたソフトウェアの性能(実行時間)を予
測する性能予測モデルを作成する。さらに、ソフトウェ
アを実行する環境下での、ICPの最適なパラメータ選
択を行うため、上記のUCPとICPとの関数に対し、
与えられたUCPの制限の下で実行時間を最小にするよ
うなICPの値を定める。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、並列計算環境で動
くソフトウェアの構成方法に係り、特に、インストール
の容易な高性能の並列ソフトウェア群(並列プログラム
群)の構成方法に関する。
【0002】
【従来の技術】並列ソフトウェア(並列プログラム)が
実行される計算環境には、主に2種類ある。1つは、複
数の同一プロセッサユニットあるいは計算機から構成さ
れるフラットな並列計算環境であり、もう1つは、異な
ったプロセッサや計算機から構成される分散計算環境で
ある。
【0003】フラットな並列計算環境のものとして、例
えば、日立のSR2201、CrayT3D、T3E、日
本電気のSX−5、富士通のVPP700等の分散メモ
リ型並列計算機、同じ性能のワークステーションから構
成されるワークステーションクラスター、同じ性能のパ
ーソナルコンピューターから構成されるパーソナルコン
ピュータークラスターなどがある。このようなフラット
な並列計算環境を単に並列計算機と呼ぶことにする。ま
た、分散計算環境のものとして、例えば、スーパーコン
ピューターとワークステーションとパーソナルコンピュ
ーターとがネットワークで接続されているような複数の
異なる計算機が接続されて構成されたみのがある。
【0004】次に、前述のような計算環境で実行させる
ソフトウェアについて説明する。並列計算機上で実行さ
せるソフトウェアは、並列計算機の構成要素であるプロ
セッサあるいは計算機に、実行に要するメモリを分けて
担当させる。これを単に並列ソフトウェアと呼ぶことに
する。
【0005】一方、分散計算環境で実行させるソフトウ
ェアは、サブルーチン等プログラムのある一部分がある
特定の機能を有するまとまり毎に、実行させる計算機を
指定して実行される。例えば、あるソフトウェアがサブ
ルーチンAとサブルーチンBとから構成され、そのソフ
トウェアを実行する計算環境がスーパーコンピューター
XとワークステーションYとがネットワークで接続され
て構成されている場合、サブルーチンAをスーパーコン
ピューターXで実行させ、サブルーチンBをワークステ
ーションYで実行させる。これらのサブルーチン等のプ
ログラム中のあるまとまりを、コンポーネントと呼ぶこ
とにし、このコンポーネントが複数で構成されるソフト
ウェアを複数コンポーネントソフトウェアと呼ぶ。
【0006】並列ソフトウェアや複数コンポーネントソ
フトウェアをこれらの計算環境で実行させる場合、特に
その性能が重要視される。そして、単一のワークステー
ションや単一のスーパーコンピューターでソフトウェア
を実行させるよりも、より高速に実行させるために並列
計算機や分散計算環境が求められている。そのため、並
列計算機で実行させる並列ソフトウェアに対するものと
して、実行に要するメモリを上手く分散させる技術が、
また、複数コンポーネントソフトウェアに対するものと
して、プログラムのある部分を他の計算機のライブラリ
をネットワークを介して接続する技術や、もともと別の
計算機毎にあるプログラムを接続させる技術が知られて
いる。以下、これらの技術のそれぞれについて説明す
る。
【0007】(1)並列計算機で実行させる並列ソフト
ウェアのデータ分割技術 並列計算機上で実行するソフトウェアとして、ScaLAPAC
K (http://www.netlib.org/scalapack)、NAG(http://
www.nag.co.uk/)等の並列行列ライブラリが知られてい
る。この技術は、並列計算機上で行列計算を行う場合
に、行列データを、ソフトウェアを実行するプロセッサ
に分割して保持させものであり、行列の分割ブロックサ
イズを定めて分割を行うものである。
【0008】図5は行列の分割ブロックサイズについて
説明する図であり、以下、これについて説明する。図5
において、0〜15の数字が内部にあるブロックのそれ
ぞれ1つは、分割ブロックであり、内部の数字がその分
割ブロックについての処理を行うプロセッサ番号を示し
ている。
【0009】図5に示す例は、縦方向が320、横方向
が320の正方行列を16台のプロセッサで分割して持
つ1つの方法を表わしたものであり、縦方向が40、横
方向が40の正方行列の分割ブロック毎に各プロセッサ
に割り当てた例である。その際、横方向に、0番プロセ
ッサ、1番プロセッサ、2番プロセッサ、3番プロセッ
サと割り当てる。次の段でも同様に、縦方向が40、横
方向が40の正方行列毎に4番プロセッサ、5番プロセ
ッサ、6番プロセッサ、7番プロセッサと割り当てる。
その次の段でも同様にして8番プロセッサ、9番プロセ
ッサ、10番プロセッサ、11番プロセッサ、その次の
段でも12番プロセッサ、13番プロセッサ、14番プ
ロセッサ、15番プロセッサと割り当てる。
【0010】この結果、0番プロセッサから15番プロ
セッサまで合計16台のプロセッサが縦方向が160、
横方向が160の正方行列503を構成する。そして、
この正方行列503を縦、横にならべる形で、縦方向が
320、横方向が320の正方行列を16台のプロセッ
サが分割する。例えば、5番プロセッサが持つ行列デー
タは、影を付けた縦方向が40、横方向が40の正方行
列の分割ブロック部分504〜507である。なお、以
下では、各プロセッサに割り当てられた一番小さい正方
行列のサイズ(縦方向でも横方向でもよい)を行列の分
割ブロックサイズと呼ぶ。図5に示す例では40であ
る。
【0011】(2)分散計算環境での複数コンポーネン
トソフトウェアの実行技術 プログラムが複数のコンポーネントで構成される場合、
各コンポーネントを、別々の計算機上で稼動させること
ができる。これを分散計算環境での複数コンポーネント
ソフトウェアの実行という。
【0012】分散計算環境でのソフトウェアの実行方法
としては、プログラム中の一部のコンポーネントを高速
に実行できる別の計算機に割り当て、残りは同じ計算機
で実行する方法、予め別々の計算機上で実行できるプロ
グラムをネットワークを介して接続し、1つのプログラ
ムとみなして実行する方法の2つの方法がある。
【0013】前者の方法としては、例えば、NetSolve
(http://www.cs.utk.edu/~casanova/NetSolve、あるい
は、NetSolve: A Network-Enabled Server for Solving
Computational Science Problems, H. Casanova and
J. Dongarra, The International Journal of Supercom
puter Applications and High Performance Computing,
Volume 11, Number 3, pp 212-223, Fall 1997.)、Nin
f(http://ninf.etl.go.jp 、あるいは、Ninf: A Netwo
rk based Information Library for a Global World-Wi
de Computing Infrastracture. Mitsuhisa Sato, Hidem
oto Nakada, Satoshi Sekiguchi, Satoshi Matsuoka, U
mpei Nagashima and Hiromitsu Takagi, HPCN'97 (LNCS
-1225), pp. 491-50,1997.)といったコンポーネントの
一部をライブラリ呼び出しによって実行させる方法が知
られている。
【0014】また、後者の方法としては、CORBA
(= Common Object Request BrokerArchitecture、 ht
tp://www.acl.lanl.gov/CORBA/)という分散計算環境で
のソフトウェアをつなげる方法によって、異なる計算機
上でソフトウェア群を実行させる技術が知られている。
【0015】
【発明が解決しようとする課題】前述した従来技術にお
いても説明したように、並列計算環境においては性能が
重要視される。そこで、並列計算機で実行させる並列ソ
フトウェアの技術としては、例えば、行列等のデータを
分割する技術があり、また、分散計算環境での複数コン
ポーネントソフトウェアの実行技術としては、プログラ
ム中の一部を高速に実行できる別の計算機に割り当てる
方法、予め別々の計算機上で実行できるプログラムをネ
ットワークを介して接続して実行する方法がある。
【0016】しかし、前述した従来技術は、計算環境の
充分な性能を引き出し、できる限り短い実行時間でソフ
トウェアを実行させるには不充分な面があるという問題
点を有している。また、前述した従来技術は、性能を引
き出すためにインターフェイスを追加しなければならな
いという課題もあった。それらの課題について以下に説
明する。
【0017】(課題1)前述の従来技術の1つである並
列計算機で実行させる並列ソフトウェアのデータ分割技
術は、行列の分割ブロックサイズを利用者が定めなけれ
ばならず、その条件をプログラム中に組み込まなければ
ならないものである。
【0018】図7は単一の計算機と並列計算機とに同一
の行列演算を実行させる場合のプログラム例を示す図で
あり、図7に示すように、単一の計算機の場合、例え
ば、図7のプログラム701のように、行列データaと
行列サイズnとのみをインターフェイスに記述すればよ
かったのが、並列計算機の場合、プログラム702とし
て示すように、実行するプロセッサ数 npuとさらに行列
の分割ブロックサイズLBを追加しなければならない。
【0019】(課題2)また、前述の従来技術の1つで
ある並列計算機で実行させる並列ソフトウェアのデータ
分割技術は、行列の分割ブロックサイズの値によって計
算実行時間が大きく変わり、また、利用する計算機や使
用するプロセッサ数によっても最適な値が変わる場合が
多く、実行の条件が変わるごとに調整しなければならな
い。
【0020】図6はこのことを説明するための行列の分
割を示す図であり、以下、これについて説明する。
【0021】図6に示す例は、図5に示す行列と同一の
大きさ、すなわち、縦方向が320、横方向が320の
行列であるが、行列の分割ブロックサイズを20とした
ものである。そして、縦方向に20、横方向に20の正
方行列を図5の場合と同様に0番プロセッサから15番
プロセッサまでならべて、縦方向に80、横方向に80
の正方行列603を構成する。そして、その正方行列を
横に4つならべたものを4段重ねる構成で縦方向32
0、横方向320の正方行列を分割している。5番プロ
セッサが担当する行列データは影を付けた分割ブロック
604〜619である。
【0022】図5、図6に示す例では、行列の分割ブロ
ックサイズが変わっても、各プロセッサが担当する行列
データはいずれも縦方向80、横方向80と変化はな
い。しかし、核プロセッサが担当する部分が違い、ま
た、連続的に扱うことができる範囲が異なってくる。す
ると、計算機によって、また行列計算のアルゴリズムに
よって、計算の実行時間が変わってくる。例えば、行列
のデータで縦方向に一列のデータが同時に計算される場
合、4台のプロセッサが実行し、その間、他のプロセッ
サが待ちとなる。計算される縦方向の一列のデータの範
囲が横方向に順次必要な場合、行列の分割ブロックサイ
ズによって待ちの時間が短かったり長かったりして、実
行時間に大きく影響を及ぼす。待ちの状態について見る
と、図5の場合に比べ、図6の場合は短く、全体で実行
する計算負荷の均等性では優れている。すなわち、図6
のような分割のほうが実行時間が短い場合がある。
【0023】一方、ベクトルプロセッサと呼ばれる計算
機構を有する計算機の場合、必要なデータを連続的にア
クセスし、データフローをパイプライン的に運ぶことに
より計算実行時間を短縮している。この場合、連続的に
データをアクセスできる範囲が長い図5に示す例のよう
な分割のほうが実行時間が短い場合がある。このよう
に、実行するプロセッサ台数や、実行する計算機等、様
々な条件によって、行列の最適な分割ブロックサイズは
大きく変わってくる。このため、この従来技術は、ユー
ザーが、行列の分割ブロックサイズを調整することが非
常に困難であるという問題点があった。
【0024】(課題3)前述の従来技術の1つである分
散計算環境での複数コンポーネントソフトウェアの実行
技術は、複数コンポーネントソフトウェアを稼動させる
場合、どのコンポーネントをどの計算機に行わせるかの
指定を行わなければならない。このため、この従来技術
は、それらの情報を利用インターフェイスに追加する
等、利用者が実行前にこれらの情報を指定をしなければ
ならなかった。
【0025】(課題4)また、前述の従来技術の1つで
ある分散計算環境での複数コンポーネントソフトウェア
の実行技術は、複数コンポーネントソフトウェアを稼動
させる場合、どのコンポーネントをどの計算機に行わせ
れば短い実行時間でできるかが不明であった。たとえあ
る特定の場合に実行時間が最短になるような各コンポー
ネントを各計算機に実行させる組みがわかったとして
も、各コンポーネントの稼動させる条件が異なると、長
い実行時間となる場合があった。
【0026】図11は複数コンポーネントからなるプロ
グラムと2台のワークステーションとによる並列計算環
境を説明する図であり、以下、図11を参照して、前述
の課題4について説明する。
【0027】例えば、図11に示すように、プログラム
がP−1というコンポーネント1101と、P−2とい
うコンポーネント1102とを有し、そのソフトウェア
を実行する計算環境が、WS−1(ワークステーション
1)1103とWS−2(ワークステーション2)11
04とがネットワーク1105で結合されて構成されて
いるものとする。この場合、P−1、P−2をそれぞれ
WS−1、WS−2のどちらで実行させるかは、P−
1、P−2のそれぞれの実行上のパラメータをどう定め
るか、また、WS−1、WS−2の計算機の性質等によ
って変わる。しかし、前述の従来技術は、このような場
合に、各コンポーネントを各計算機に実行させる組みを
定める方法が確立されていないものであった。
【0028】従って、本発明の目的は、前述した従来技
術の課題を解決し、並列計算環境において、並列ソフト
ウェアや複数コンポーネントソフトウェアをできる限り
短い時間で実行させることのできる性能調整インストー
ル機能付きの並列ソフトウェアの構成方法を提供するこ
とにある。具体的には、以下の4つの目的がある。
【0029】本発明の第1の目的は、前記課題1の解決
のため、従来技術の1つである並列計算機で実行させる
並列ソフトウェアのデータ分割技術におけるデータ分割
を、処理を行わせる並列計算機に合わせて自動的に定め
ることのできる並列ソフトウェアの構成方法を提供する
ことにある。
【0030】本発明の第2の目的は、前記課題2の解決
のため、従来技術の1つである並列計算機の利用者が、
並列計算機で実行させる並列ソフトウェアのデータ分割
を、並列計算機毎に調整したり、利用インターフェイス
に追加しなくてもよい並列ソフトウェアの構成方法を提
供することにある。
【0031】本発明の第3の目的は、前記課題3の解決
のため、従来技術の1つである分散計算環境での複数コ
ンポーネントソフトウェアの実行技術において、どのコ
ンポーネントをどの計算機で実行させるかを、処理を行
わせる分散計算環境に合わせて自動的に定めることので
きる並列ソフトウェアの構成方法を提供することにあ
る。
【0032】本発明の第4の目的は、前記課題4の解決
のため、従来技術の1つである分散計算環境での複数コ
ンポーネントソフトウェアの実行技術において、利用者
が、どのコンポーネントをどの計算機で実行させるかを
分散計算環境毎に調整したり、利用インターフェイス等
に追加しなくてもよい並列ソフトウェアの構成方法を提
供することにある。
【0033】
【課題を解決するための手段】本発明によれば前記目的
は、以下に説明する3つの手段を備えることにより達成
される。
【0034】第1は、性能を大きく左右するパラメータ
を抽出し、さらにそのパラメータ群を、ユーザーインタ
ーフェイスに現れるものと、そうでないものに分類する
ことである。この性能を大きく左右するパラメータをク
リティカルパラメータ(Critical Parameter、以下、
CPという)と呼ぶことにし、また、ユーザーインター
フェイスに現れて性能を大きく左右するパラメータをユ
ーザークリティカルパラメータ(Users' Critical P
arameter、以下、UCPという)と呼ぶことにし、さら
に、ユーザーインターフェイスに現れないが性能を大き
く左右するパラメータを内部クリティカルパラメータ
(Inertial Critical Parameter、以下、ICPとい
う)と呼ぶことにする。
【0035】第2は、前述のCP、すなわち、UCPと
ICPとを用いた性能予測モデルの構成である。ソフト
ウェアの性能(実行時間)は、実行させるべき計算環境
が定まれば、前述のクリティカルパラメータCPの関数
fとして定まる。特に、ソフトウェアの性能としての実
行時間は、CPをUCPとICPとに分けて書くと、
【0036】
【数1】
【0037】として示す数1の式のようになる。特に、
UCPとICPとの多項式で、
【0038】
【数2】
【0039】として示す数2の式となる場合がある。数
2の式において、「*」は乗算を意味し、また、UC
P、ICP以外は係数である。この場合、最小2乗法と
呼ばれる統計処理手法(FORTRAN77 時系列解析プログラ
ミング、北川源四郎著、岩波コンピュータサイエンス)
により、適当な個数のUCP、ICPとそれに対応する
実行結果から、実行させる計算環境に特有の数2の式に
おける係数を定めるができる。これを、実行させたいソ
フトウェアのインストールの際に行う。
【0040】第3は、ソフトウェアを実行する環境下で
の、ICPの最適なパラメータ選択を行うことの定式化
である。できる限り実行時間を短くするためには、与え
られたUCPの制限の下で関数fの値を最小にするよう
なICPの値を定める問題になる。数2に示す式の例の
場合、計算環境下で特有の係数が定まった性能(実行時
間)の予測関数に対し、実行させたいICPの制限の下
で、関数の値を最小にするようなICPを求めて実行さ
せる。
【0041】次に、前述した3つの解決手段により、課
題1〜課題4を解決することができることを説明する。
【0042】まず、並列計算機で実行させる並列ソフト
ウェアのデータ分割技術の場合、行列データの分割サイ
ズ等を、ICPとし、それを自動的に定める方法にする
ことにより、利用者は、分割サイズを書く必要がなくな
り、本来ソフトウェアを実行させるのに必要なパラメー
タのみをインターフェイスに記述すればよくなる。これ
により、前述の課題1を解決することができる。
【0043】また、並列ソフトウエアを実行させる並列
計算機が決定されれば、ICPとUCPとが組み込まれ
た性能予測方法によって、ICPとUCPとに対応する
並列ソフトウェアの実行時間が判る。この性能予測方法
による定式化によって、逆に、実行時間をできるだけ短
くするように、利用者が与えるUCPの制限の下でIC
Pを定めるという、いわゆる逆問題を定式化することが
できる。このように、ICPを定める処理を実行前に自
動的に行うことにより、並列ソフトウェアをできる限り
短い時間で実行させることができる。これにより、前述
の課題2を解決することができる。
【0044】次に、分散計算環境での複数コンポーネン
トソフトウェアの実行技術の場合、どのコンポーネント
をどの計算機に実行させるかという情報をICPとし、
それを自動的に定める方法とすることにより、利用者
は、どのコンポーネントをどの計算機に実行させるかと
いう情報を書く必要がなくなり、本来ソフトウェアを実
行させるのに必要なパラメータのみをインターフェイス
に記述すればよくなる。これにより、これにより、前述
の課題3を解決することができる。
【0045】また、前述により実行させる分散計算環境
が決定されれば、ICPとUCPとが組み込まれた性能
予測方法によって、ICPとUCPとに対応する複数コ
ンポーネントソフトウェアの実行時間が判る。この性能
予測方法による定式化によって、逆に、実行時間をでき
るだけ短くするように、利用者が与えるUCPの制限の
下でICPを定めるという、いわゆる逆問題が定式化す
ることができる。このように、ICPを定める処理を実
行前に自動的に行うことにより、複数コンポーネントソ
フトウェアをできる限り短い時間で実行させることがで
きる。これにより、前述の課題4を解決することができ
る。
【0046】
【発明の実施の形態】以下、本発明による並列ソフトウ
ェアの構成方法の実施形態を図面により詳細に説明す
る。
【0047】図1は本発明の第1の実施形態による並列
ソフトウェアの構成方法を説明するフローチャート、図
2は未定係数を決定するためのUCP、ICPの数値例
を示す図である。
【0048】本発明の第1の実施形態によるソフトウェ
ア構成方法は、ソフトウェアのインストール方法及び実
行も含んでおり、図1に示すように、実行時間予測モデ
ル付きの並列ソフトウェアの作成の処理(ステップ10
1)と、並列計算機への並列ソフトウェアのインストー
ルの処理(ステップ102)と、ユーザーが並列ソフト
ウェアを実行する処理(ステップ103)とから成る。
【0049】まず、ステップ101での実行時間予測モ
デル付きの並列ソフトウェアの作成の処理について説明
する。ステップ101の処理において、並列ソフトウェ
アの作成の処理(ステップ104)により、並列ソフト
ウエアの本体を作成し、この並列ソフトウェアの中から
並列ソフトウェアの性能を大きく左右するクリティカル
パラメータ(簡単のためCP)を抽出する処理(ステッ
プ105)を行う。このクリティカルパラメータCP
は、プログラム中に現れる全ての変数の中で、その値が
変わると、ソフトウェア実行時間が大きく変わるものの
全てとする。
【0050】次に、CPをユーザークリティカルパラメ
ータ(簡単のためUCP)と内部クリティカルパラメー
タ(簡単のためICP)に分類する処理(ステップ10
6)行う。次に、UCPとICPとを変数として未定係
数を持つ並列ソフトウェアの実行時間予測モデル作成の
処理(ブロック107)を行う。この実行時間予測モデ
ルの作成は、前述した数1、具体的には数2に示す式を
作ることである。さらに、統計処理(最小2乗法)に必
要な、未定係数を決定できるUCPとICPとの数値例
の表を作成する処理(ステップ108)を行う。
【0051】ステップ108で作成する表は、例えば、
図2に示すように、並列ソフトウェアの実行が可能な各
UCP201とICP202との組を項目とし、それぞ
れの組に対する実行時間203が記入できるようなもの
である。例えば、行列計算の場合、図2に示す表のUC
P201に例示する値は、行列全体のサイズであり、I
CP202に例示する値は分割ブロックサイズである。
【0052】次に、ステップ102での並列計算機への
並列ソフトウェアのインストールの処理について説明す
る。ステップ102の処理において、図2に例示したよ
うな数値例のICP、UCPの値によって並列ソフトウ
ェアの実行時間を計測する処理、すなわち、試験実行
(ステップ109)を行い、実行時間の実測結果を図2
の実行時間203に記入する。次に、統計処理(最小2
乗法)によって性能予測モデルの未定係数を決定する処
理(ステップ110)を行い、UCPの値が全て定まれ
ば性能予測のモデルから、最も実行時間が短くなるよう
なICPの値を直ちに求められるようにしておく。
【0053】次に、ステップ103でのユーザーが並列
ソフトウェアを実行する処理について説明する。ステッ
プ103の処理において、ユーザーが実行するユーザー
が指定するUCPについて、実行時間が最も短くなるI
CPを性能予測モデルから決定する処理(ステップ11
1)を行い、ユーザーの定義したUCPに対応する最適
なICPによって、並列ソフトウェアを実行(ステップ
112)する。
【0054】図3は並列ソフトウェアの実際の実行時間
をフィードバックして性能予測のモデルに利用する本発
明の第2の実施形態による並列ソフトウェアの構成方法
を説明するフローチャートであり、以下、図3を参照し
て、本発明の第2の実施形態を説明する。
【0055】本発明の第2の実施形態は、前述した本発
明の第1の実施形態におけるユーザーが並列ソフトウェ
アを実行する図1のステップ103において、実際に実
行した時間の測定結果を性能予測のモデルに利用する表
に追加していく方法である。
【0056】ユーザーが並列ソフトウェアの実行を開始
し(ステップ301)、ユーザーが実行するUCPか
ら、インストール時に作成された最も実行時間が短くな
るICPを定める図2に示すような表を参照し、最適な
ICPを決定する(ステップ302)。次に、ユーザー
の定義したUCPと最適なICPによって、並列ソフト
ウェアを実行する(ステップ303)。ステップ303
による実際の実行時間を計測し、UCPとICPとの組
みに対する図2に示すような実行時間測定表にデータを
追加する(ステップ304)。以上によりユーザーの並
列ソフトウェアの実行を終了する(ステップ305)。
【0057】図4は本発明の第3の実施形態による並列
行列ライブラリの構成方法を説明するフローチャート、
図8、図9は並列行列ライブラリの構成の処理で作成す
るUCP、ICP、実行時間の表(その1、その2)を
説明する図である。
【0058】本発明の第3の実施形態による並列行列ラ
イブラリの構成方法は、並列行列ライブラリのインスト
ール方法及び実行も含んでおり、図4に示すように、実
行時間予測モデル付きの並列行列ライブラリの作成の処
理(ステップ401)と、並列計算機への並列行列ライ
ブラリのインストールの処理(ステップ402)と、ユ
ーザーが並列行列ライブラリを実行する処理(ステップ
403)から成る。
【0059】まず、ステップ401での実行時間予測モ
デル付きの並列行列ライブラリの作成の処理について説
明する。ステップ401の処理において、並列行列ライ
ブラリの作成の処理(ステップ404)により、並列計
算機向けの行列ライブラリのプログラム本体を作成す
る。次に、そのプログラムの中に現れる、性能を左右す
るパラメータを抽出する。すなわち、行列の次元数N、
プロセッサ数NPU、行列データの分割ブロックサイズ
LBをクリティカルパラメータCPとして抽出する(ス
テップ405)。次に、前述のCPのうち、行列次元数
Nとプロセッサ数NPUとをUCP、行列データの分割
ブロックサイズLBをICPとして分類する(ステップ
406)。次に、並列行列ライブラリの実行時間予測モ
デルを作成する(ステップ407)。この実行時間予測
モデルは、例えば、数3の式によって表わすことができ
る。数3において、Nは行列サイズ、NPUはプロセッサ
数、LBは分割ブロックサイズである。これらは他の式の
場合も同一である。
【0060】
【数3】
【0061】数3の式は、並列行列ライブラリの典型的
な実行時間予測モデルであり、プロセッサの演算時間の
項 a*(N*N*N/NPU)*(1+0.01*LB)と、プロセッサ間の通信
時間の項 b*(N*N/NPU)と、プロセッサ間の通信時間の起
動の項 c*(N*N/(LB*LB))*NPUとにより構成される。プロ
セッサの演算時間の項 a*(N*N*N/NPU)*(1+0.01*LB)は、
全体計算時間の一部が行列分割のための処理にかかるの
で、行列の分割ブロックサイズLB分の項がある。プロ
セッサ間の通信時間の項 b*(N*N/NPU)は、各プロセッサ
のデータ量がLBに関係なく一定であるのでLBがない
式となる。また、プロセッサ間の通信時間の起動の項 c
*(N*N/(LB*LB))*NPUは、通信の起動が各プロセッサが持
っている最小の行列ブロックの数なので、(N*N/(LB*L
B))に比例し、それを他のプロセッサに送るので NPU倍
されたものとする。
【0062】次に、上記モデルの未定係数を定めるため
のN、NPU、LBの数値例の表を作成する(ステップ
408)。この数値の表は、図8、図9に示すように、
ユーザークリティカルパラメータUCPである行列デー
タサイズN、プロセッサ数NPU、内部クリティカルパ
ラメータICPである行列データ分割ブロックサイズL
B、実行時間の項から構成されている。但し、この時点
では、実行時間は記述されていないが、ユーザークリテ
ィカルパラメータUCPである行列データサイズN、プ
ロセッサ数NPU、内部クリティカルパラメータICP
である行列データ分割ブロックサイズLBについては、
数3の式における係数を定めるために適当な数値を用意
しておく。
【0063】以上が、ステップ401の処理による実行
時間予測モデル付きの並列行列ライブラリの作成の処理
内容である。
【0064】次に、ステップ402での並列計算機への
並列行列ライブラリのインストールの処理について説明
する。ステップ402の処理において、まず、図8、図
9に示すようなICP(N、NPU)、UCP(LB)
の数値例の表の値を代入して並列行列ライブラリを実行
し、その実行時間を計測する。そして、図8、図9に示
す表に計測した実行時間を記入する(ステップ40
9)。次に、統計処理によって性能予測モデルの未定係
数を決定する。この処理は、図8、図9に示す表の実行
時間、行列データサイズ、プロセッサ数、行列データ分
割ブロックサイズのそれぞれの値を数3の式の time(se
c)、N、NPU、LBに代入し、数3の式の未定係数a、b、
cの値を定める処理である。実際に図8と図9とに示す
表にある値から、最小2乗法という統計処理の手法によ
り未定係数を求めると、およその値として、aが10
~9、bが10~8、cが10~7となる(ステップ41
0)。
【0065】以上が、ステップ402の処理による並列
計算機への並列行列ライブラリのインストールの処理内
容である。
【0066】最後に、ステップ403でのユーザーが並
列行列ライブラリを実行する処理について説明する。ス
テップ403の処理において、まず、ユーザーが実行す
るUCP(N,NPU)から、インストール時に作成され
た最も実行時間が短くなるICP(LB)を、未定係数が
決定されたモデルから決定する。すなわち、この処理に
より、数3の式で定まった係数a、b、cの値によって
実行時間を具体的に求める式が定まり、また、ユーザー
が実行するUCPを代入すれば実行時間が短くなるよう
にLBの値を定めることができる。図8、図9に示す表
にある値から定まった係数a、b、cにより、例えば、
数3の式が(10-9)*(N*N*N/NPU)*(1+0.01*LB)+(10-8)*(N
*N/NPU)+(10-7)*(N*N/(LB*LB))*NPUとなる。この数3の
式から、例えば、N=1000、NPU=16としたとき、LBは、
図5、図6に示すように、2方向格子のような分割にす
る必要があるので、250の約数になり、LB=1では実行時
間が1.600、LB=2では実行時間が0.400、LB=5では実行時
間が0.065、LB=10では実行時間が0.017、LB=25では実行
時間が0.005、LB=50では実行時間が0.004、LB=125では
実行時間が0.008、LB=250では実行時間が0.016となり、
LB=50が最も短い実行時間になると判り、ユーザーは、L
Bとして50を採用して並列行列ライブラリを実行させれ
ばよいことが判る(ステップ411)。ステップ411
の処理で最適なLBが定まったので、ユーザーの指定し
たUCP(N,NPU)と、最適なICP(LB)とによっ
て、並列行列ライブラリを実行する(ステップ41
2)。
【0067】以上が、ステップ403の処理によるユー
ザーが並列行列ライブラリを実行する処理内容である。
【0068】図10は本発明の第4の実施形態による複
数コンポーネントソフトウェアの構成方法を説明するフ
ローチャート、図11はすでに説明しているが複数コン
ポーネントからなるプログラムと2台のワークステーシ
ョンとによる並列計算環境を説明する図、図12は2つ
のコンポーネントを両方ともワークステーション1に実
行させる場合の並列計算環境を説明する図、図13、図
14は2つのコンポーネントのうち一方をワークステー
ション1にもう一方をワークステーション2に実行させ
る場合の並列計算環境を説明する図、図15は複数コン
ポーネントソフトウェアのUCP、ICP、実行時間の
対応例を説明する図である。
【0069】本発明の第4の実施形態によるコンポーネ
ントソフトウェア構成方法は、ソフトウェアのインスト
ール方法及び実行も含んでおり、図10に示すように、
実行時間予測モデル付きの複数コンポーネントソフトウ
ェアの作成の処理(ステップ1001)と、並列計算環
境への複数コンポーネントソフトウェアのインストール
の処理(ステップ1002)と、ユーザーが複数コンポ
ーネントソフトウェアを実行する処理(ステップ100
3)とから成る。
【0070】まず、ステップ1001での実行時間予測
モデル付きの複数コンポーネントソフトウェアの作成の
処理について説明する。ステップ1001の処理におい
て、まず、複数コンポーネントソフトウェアを作成す
る。この処理は、ソフトウェアのプログラムの本体を作
成する処理である(ステップ1004)。次に、ステッ
プ1004で作成したソフトウェアを構成する各コンポ
ーネントにP−1、P−2等の番号を付ける。このコン
ポーネントは、1つの計算機で実行するプログラムの範
囲で区切られるプログラムの各部分であるとする。例え
ば、ある計算機で実行させる部分をP−1とし、別の計
算機で実行させる部分をP−2とする等である(ステッ
プ1005)。次に、ソフトウェアからクリティカルパ
ラメータCPを抽出し、ユーザークリティカルパラメー
タをUCP−1、UCP−2等とする(ステップ100
6)。また、内部クリティカルパラメータとして、各コ
ンポーネントを実行させる計算機を定めるパラメータを
ICPとして抽出する(ステップ1007)。
【0071】ここで、前述のICPについて具体的に説
明する。例えば、図11に示すように、複数コンポーネ
ントソフトウェアがP−1とP−2という2つのコンポ
ーネント部分1101、1102から構成されていて、
そのソフトウェアを実行する計算環境がワークステーシ
ョンWS−1とWS−2とがネットワーク1105で結
合されて構成されているものとする。そして、例えば、
ICPの値が(1,1)であれば、図12に示すよう
に、コンポーネント部分P−1をワークステーションW
S−1で実行させ、コンポーネント部分P−2もワーク
ステーションWS−1により実行させるとし、ICPの
値が(2,1)であれば、図13に示すように、コンポ
ーネント部分P−1をワークステーションWS−2によ
り実行させ、コンポーネント部分P−2をワークステー
ションWS−1により実行させるとし、さらに、ICP
の値が(1,2)であれば、図14に示すように、コン
ポーネント部分P−1をワークステーションWS−1に
より実行させ、コンポーネント部分P−2をワークステ
ーションWS−2で実行させるとする。このICPは複
数コンポーネントソフトウェアに必須の特徴的なパラメ
ータである。
【0072】次に、複数コンポーネントソフトウェアの
実行時間予測モデルの作成を行う。このモデルは、各コ
ンポーネントの計算回数を各UCPの関数としてカウン
トし、そのコンポーネントを実行する計算機の計算性能
で割って計算実行時間を予測するものである(ステップ
1008)。
【0073】例えば、コンポーネントP−1の計算回数
COUNT(P−1)が、
【0074】
【数7】
【0075】として示す数7の式のように、UCP−
1、UCP−2の関数で書かれ、コンポーネントP−2
の計算回数COUNT(P−2)が、
【0076】
【数8】
【0077】として示す数8の式のように、UCP−2
の関数で書かれているものとする。
【0078】この場合、ICP=(1,1)の実行時間
time(ICP=(1,1))は、コンポーネントP
−1の計算回数を、コンポーネントP−1をワークステ
ーションWS−1で実行する計算性能で割った値と、コ
ンポーネントP−2の計算回数を、コンポーネントP−
2をワークステーションWS−1で実行する計算性能で
割った値との和となるので、
【0079】
【数4】
【0080】として示す数4の式で求めることができ
る。この数4の式において、SPEED(P−1、WS−1)
は、P−1をWS−1で実行した場合のWS−1の計算
性能、SPEED(P−2、WS−1)は、P−2をWS−1
で実行した場合のWS−1の計算性能である。
【0081】同様に、ICP=(1,2)の場合の実行
時間time(ICP=(1,2))は、コンポーネン
トP−1の計算回数を、コンポーネントP−1をワーク
ステーションWS−1で実行する計算性能で割った値
と、コンポーネントP−2の計算回数を、コンポーネン
トP−2をワークステーションWS−2で実行する計算
性能で割った値との和となるので、
【0082】
【数5】
【0083】として示す数5の式で求めることができ
る。この数5の式において、SPEED(P−2、WS−2)
は、P−2をWS−2で実行した場合のWS−2の計算
性能である。
【0084】同様に、ICP=(2,1)の場合の実行
時間time(ICP=(2,1))は、コンポーネン
トP−1の計算回数を、コンポーネントP−1をワーク
ステーションWS−2で実行する計算性能で割った値
と、コンポーネントP−2の計算回数を、コンポーネン
トP−2をワークステーションWS−1で実行する計算
性能で割った値との和となるので、
【0085】
【数6】
【0086】として示す数6の式で求めることができ
る。この数6の式において、SPEED(P−1、WS−2)
は、P−1をWS−2で実行した場合のWS−2の計算
性能である。
【0087】以上が、ステップ1001の処理による実
行時間予測モデル付きの複数コンポーネントソフトウェ
アを作成する処理内容である。
【0088】次に、ステップ1002での並列計算環境
への複数コンポーネントソフトウェアのインストールの
処理について説明する。ステップ1002の処理におい
て、まず、並列計算環境における各計算機上での各コン
ポーネントの性能を測定し、実行時間予測モデルに組み
込む(ステップ1009)。
【0089】このステップ1009の処理は、ワークス
テーションWS−1がコンポーネントP−1を実行する
場合の計算性能が、
【0090】
【数9】
【0091】で示す数9の式で示され、ワークステーシ
ョンWS−2がコンポーネントP−1を実行する場合の
計算性能が、
【0092】
【数10】
【0093】で示す数10の式で示され、ワークステー
ションWS−1がコンポーネントP−2を実行する場合
の計算性能が、
【0094】
【数11】
【0095】で示す数11の式で示され、ワークステー
ションWS−2がコンポーネントP−2を実行する場合
の計算性能が、
【0096】
【数12】
【0097】で示す数12の式で示されるとしたとき、
これらを前述した数4、数5、数6の各式に代入する処
理であり、これにより、各ICP毎にUCPを代入すれ
ばすぐに実行時間が予測できるようにしておくことがで
きる。
【0098】この結果、各ICPに対する実行時間の予
測モデルは、次のような、数13、数14、数15の各
式に示すようなものとなる。
【0099】
【数13】
【0100】
【数14】
【0101】
【数15】
【0102】前述した数9〜数12の各式において、計
算性能SPEEDの値として示されている数値の単位
は、例えば、M Flops/Secである。
【0103】次に、並列計算環境において、各ICPが
計算機の資源の制約上問題がないか否かをチェックす
る。この処理は、例えば、コンポーネントP−1とP−
2との両方をワークステーションWS−2に実行させる
ことが不可能となるような場合に、このような組合せに
よる実行時間の予測モデルから外すというような処理で
ある(ステップ1010)。
【0104】すなわち、例えば、コンポーネントP−1
において使用するメモリ量が100メガバイトであり、
ワークステーションP−2において使用するメモリ量が
200メガバイトであり、ワークステーションWS−1
に搭載してあるメモリ量が400メガバイトであり、ワ
ークステーションWS−2に搭載してあるメモリ量が2
50メガバイトであるとする。このとき、コンポーネン
トP−1とP−2との両方をワークステーションWS−
2に実行させる場合の実行時間の予測だけは行えるが、
実際にコンポーネントP−1とP−2とのメモリ量の合
計が同時に必要な場合、コンポーネントP−1とP−2
との両方をワークステーションWS−2に実行させるこ
とは不可能になる。このような場合に、実行時間の予測
モデルから外す処理を行う。
【0105】以上が、ステップ1002の処理による複
数並列計算環境への複数コンポーネントソフトウェアの
インストールの処理内容である。
【0106】次に、ステップ1003でのユーザーが複
数コンポーネントソフトウェアを実行する処理について
説明する。ステップ1003の処理において、まず、ユ
ーザーが実行するUCPから、インストール時に作成さ
れたモデルによりICPを決定する(ステップ101
1)。
【0107】例えば、前述で説明した例において、複数
コンポーネントソフトウェアのUCP、ICP、実行時
間の対応が図15に示す例のようなものであるとする。
なお、図15におけるUCP−1、1、UCP−2の欄
に示される数値は、計算回数を決めるパラメータであ
り、図示数値の106 倍程度の値であり、実行時間time
の欄の数値は、Secである。いま、ユーザーが、UCP
−1を1、UCP−2を1とすると、図15に示すよう
に、ICPが(1、2)の場合、実行時間が80、IC
Pが(2、1)の場合、実行時間が64となる。ICP
が(1、1)の場合は、数13、数14、数15の各式
の相互比較により、どんなUCP−1、UCP−2で
も、ICPが(1、2)、(2、1)の場合の実行時間
よりも長くなることが判る。この結果、ICPが(2、
1)、すなわち、コンポーネントP−1をワークステー
ションWS−2で実行させ、コンポーネントP−2をワ
ークステーションWS−1で実行させるのがよいことが
判る。
【0108】また、ユーザーが、UCP−1を1、UC
P−2を5とすると、図15に示すように、ICPが
(1、2)の場合、実行時間が200、ICPが(2、
1)の場合、実行時間が240となり、ICPが(1、
2)、すなわち、コンポーネントP−1をワークステー
ションWS−1で実行させ、コンポーネントP−2をワ
ークステーションWS−2で実行させるのがよいことが
判る。また、ユーザーが、UCP−1を2、UCP−2
を1とすると、ICPが(1、2)の場合、実行時間が
130、ICPが(2、1)の場合、実行時間が84と
なり、ICPが(2、1)、すなわち、コンポーネント
P−1をワークステーションWS−2で実行させ、コン
ポーネントP−2をワークステーションWS−1で実行
させるのがよいことが判る。
【0109】次に、前述の処理により得られた最適なI
CPに従い、各コンポーネントを並列計算環境の各計算
機に割り振り、複数コンポーネントソフトウェアを実行
する(ステップ1012)。
【0110】以上が、ステップ1003の処理による複
数コンポーネントソフトウェアを実行する処理内容であ
る。
【0111】前述した本発明の実施形態によれば、以下
に説明するような効果を得ることができる。
【0112】本発明の実施形態は、並列計算機におい
て、プロセッサ台数の多少、プロセッサ性能の高低等の
性能を大きく左右するパラメータを抽出し、そのうちユ
ーザーインターフェイスに現れるものをUCP、ユーザ
ーインターフェイスに現れないものをICPとして、U
CPとICPとから成る性能予測モデルを構成し、その
性能予測モデルを用いて、任意の実行環境下で任意のU
CPに応じたICPを定めるようにしており、これによ
り、最適な実行時間で並列ソフトウェアを稼動させるこ
とができる。
【0113】例えば、並列行列ライブラリを実行させる
場合、本来、ユーザーが行わなければならなかった行列
の分割ブロックサイズ等の調整を行う必要がなくなり、
ユーザは、最短の実行時間にするための調整を行う必要
がなくなる。また、ブロックサイズをインターフェイス
に書く必要がなくなり、簡潔なインターフェイスにな
る。
【0114】また、本発明の実施形態は、分散計算環境
において、計算機の台数、性能の高低等、プロセッサ台
数の多少、プロセッサ性能の高低等の性能を大きく左右
するパラメータを抽出し、そのうちユーザーインターフ
ェイスに現れるものをUCP、ユーザーインターフェイ
スに現れないもの(どのコンポーネントをどの計算機に
実行させるか)をICPとして、UCPとICPとから
成る性能予測モデルを構成し、その性能予測モデルを用
いて、任意の実行環境下で任意のUCPに応じたICP
を定めるようにしており、これにより、最適な実行時間
で複数コンポーネントソフトウェアを稼動させることが
できる。
【0115】すなわち、ユーザは、どのコンポーネント
をどの計算機に実行させるかの組み合わせについての複
雑な調整を行うことなく、最適な実行時間で複数コンポ
ーネントソフトウェアを実行させることができる。ま
た、どのコンポーネントをどの計算機に実行させるか
を、利用者が複数コンポーネントソフトウェアの実行毎
に指定する必要がなくなり、簡潔な利用法とすることが
できる。
【0116】
【発明の効果】以上説明したように本発明によれば、並
列計算機で実行させる並列ソフトウェアのデータ分割
を、処理を行わせる並列計算機に合わせて自動的に定め
ることができ、また、並列計算機の利用者が、並列計算
機で実行させる並列ソフトウェアのデータ分割を、並列
計算機毎に調整したり、利用インターフェイスに追加す
る必要をなくすことができる。
【0117】また、本発明によれば、分散計算環境での
複数コンポーネントソフトウェアの実行において、どの
コンポーネントをどの計算機で実行させるかを、処理を
行わせる分散計算環境に合わせて自動的に定めることが
でき、また、利用者が、どのコンポーネントをどの計算
機で実行させるかを分散計算環境毎に調整したり、利用
インターフェイス等に追加する必要をなくすことができ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施形態による並列ソフトウェ
アの構成方法を説明するフローチャートである。
【図2】未定係数を決定するためのUCP、ICPの数
値例を示す図である。
【図3】並列ソフトウェアの実際の実行時間をフィード
バックして性能予測のモデルに利用する本発明の第2の
実施形態による並列ソフトウェアの構成方法を説明する
フローチャートである。
【図4】本発明の第3の実施形態による並列行列ライブ
ラリの構成方法を説明するフローチャートである。
【図5】行列の分割ブロックサイズ40で16台のプロ
セッサに縦横320の正方行列を分割実行させる例につ
いて説明する図である。
【図6】行列の分割ブロックサイズ20で16台のプロ
セッサに縦横320の正方行列を分割実行させる例につ
いて説明する図である。
【図7】単一の計算機と並列計算機とに同一の行列演算
を実行させる場合のプログラム例を示す図である。
【図8】並列行列ライブラリの構成の処理で作成するU
CP、ICP、実行時間の表(その1)を説明する図で
ある。
【図9】並列行列ライブラリの構成の処理で作成するU
CP、ICP、実行時間の表(その2)を説明する図で
ある。
【図10】本発明の第4の実施形態による複数コンポー
ネントソフトウェアの構成方法を説明するフローチャー
トである。
【図11】すでに説明しているが複数コンポーネントか
らなるプログラムと2台のワークステーションとによる
並列計算環境を説明する図である。
【図12】2つのコンポーネントを両方ともワークステ
ーション1に実行させる場合の並列計算環境を説明する
図である。
【図13】2つのコンポーネントのうち一方をワークス
テーション1にもう一方をワークステーション2に実行
させる場合の並列計算環境を説明する図である。
【図14】2つのコンポーネントのうち一方をワークス
テーション1にもう一方をワークステーション2に実行
させる場合の並列計算環境を説明する図である。
【図15】複数コンポーネントソフトウェアのUCP、
ICP、実行時間の対応例を説明する図である。
【符号の説明】
P−1、P−2 コンポーネントプログラム WS−1、WS−2 ワークステーション
───────────────────────────────────────────────────── フロントページの続き (72)発明者 伊藤 智 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5B045 GG02 GG11

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 並列計算機に実行させるソフトウェアの
    構成方法において、前記ソフトウェアの実行性能を大き
    く左右し、かつ、ユーザーインターフェイスには現れな
    いパラメータを調節してインストールを行う機能を有す
    ることを特徴とするソフトウェアの構成方法。
  2. 【請求項2】 分散計算環境で実行させるソフトウェア
    の構成方法において、前記ソフトウェアの実行性能を大
    きく左右し、かつ、ユーザーインターフェイスには現れ
    ないパラメータを調節してインストールを行う機能を有
    する複数のコンポーネントプログラムからなることを特
    徴とするソフトウェアの構成方法。
  3. 【請求項3】 並列計算機に実行させるソフトウェアの
    構成方法において、前記ソフトウェアの実行性能を大き
    く左右し、かつ、ユーザーインターフェイスには現れな
    いパラメータを、性能予測方法に基づいて、ユーザーイ
    ンターフェイスに現れるパラメータに応じて自動的に調
    節してインストールを行う機能を有することを特徴とす
    るソフトウェアの構成方法。
  4. 【請求項4】 分散計算環境で実行させるソフトウェア
    の構成方法において、前記ソフトウェアの実行性能を大
    きく左右し、かつ、ユーザーインターフェイスには現れ
    ないパラメータを、性能予測方法に基づいて、ユーザー
    インターフェイスに現れるパラメータに応じて自動的に
    調節してインストールを行う機能を有する複数のコンポ
    ーネントプログラムからなることを特徴とするソフトウ
    ェアの構成方法。
  5. 【請求項5】 並列計算機に実行させるソフトウェアの
    構成方法において、前記ソフトウェアの実行性能を大き
    く左右し、かつ、ユーザーインターフェイスには本来必
    要のない行列を分割するサイズを表わすパラメータを、
    性能予測方法に基づいて、ユーザーインターフェイスに
    現れるパラメータに応じて自動的に調節してインストー
    ルを行う機能を有することを特徴とする並列行列計算用
    のソフトウェアの構成方法。
  6. 【請求項6】 分散計算環境で実行させるソフトウェア
    の構成方法において、前記ソフトウェアの実行性能を大
    きく左右し、かつ、ユーザーインターフェイスには本来
    必要のないどのコンポーネントをどの計算機で実行させ
    るかを表わすパラメータを、性能予測方法に基づいて、
    ユーザーインターフェイスに現れるパラメータに応じて
    自動的に調節してインストールを行う機能を有する複数
    のコンポーネントプログラムからなることを特徴とする
    ソフトウェアの構成方法。
  7. 【請求項7】 並列計算機に実行させるソフトウェアの
    構成方法において、前記ソフトウェアの実行性能を大き
    く左右し、かつ、ユーザーインターフェイスには現れな
    いパラメータを、性能予測方法に基づいて、また、過去
    の性能実績に基づいて、ユーザーインターフェイスに現
    れるパラメータに応じて自動的に調節してインストール
    を行う機能を有することを特徴とするソフトウェアの構
    成方法。
  8. 【請求項8】 分散計算環境で実行させるソフトウェア
    の構成方法において、前記ソフトウェアの実行性能を大
    きく左右し、かつ、ユーザーインターフェイスには現れ
    ないパラメータを、性能予測方法に基づいて、また、過
    去の性能実績に基づいて、ユーザーインターフェイスに
    現れるパラメータに応じて自動的に調節してインストー
    ルを行う機能を有する複数のコンポーネントプログラム
    からなることを特徴とするソフトウェアの構成方法。
JP11083962A 1999-03-26 1999-03-26 ソフトウェアの構成方法 Pending JP2000276454A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11083962A JP2000276454A (ja) 1999-03-26 1999-03-26 ソフトウェアの構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11083962A JP2000276454A (ja) 1999-03-26 1999-03-26 ソフトウェアの構成方法

Publications (1)

Publication Number Publication Date
JP2000276454A true JP2000276454A (ja) 2000-10-06

Family

ID=13817195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11083962A Pending JP2000276454A (ja) 1999-03-26 1999-03-26 ソフトウェアの構成方法

Country Status (1)

Country Link
JP (1) JP2000276454A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295738A (ja) * 2003-03-28 2004-10-21 Nec Corp 耐障害計算機システム、プログラム並列実行方法およびプログラム
JP2004355144A (ja) * 2003-03-28 2004-12-16 Japan Science & Technology Agency 計算装置、計算方法、プログラムおよび記録媒体
US7634386B2 (en) 2004-07-21 2009-12-15 Hitachi, Ltd. Method and apparatus for setting up runtime conditions
US7870439B2 (en) 2003-05-28 2011-01-11 Nec Corporation Fault tolerant multi-node computing system using periodically fetched configuration status data to detect an abnormal node
WO2013102813A1 (en) * 2012-01-03 2013-07-11 International Business Machines Corporation Software installation

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295738A (ja) * 2003-03-28 2004-10-21 Nec Corp 耐障害計算機システム、プログラム並列実行方法およびプログラム
JP2004355144A (ja) * 2003-03-28 2004-12-16 Japan Science & Technology Agency 計算装置、計算方法、プログラムおよび記録媒体
JP4565201B2 (ja) * 2003-03-28 2010-10-20 独立行政法人科学技術振興機構 計算装置、計算方法、プログラムおよび記録媒体
US7870439B2 (en) 2003-05-28 2011-01-11 Nec Corporation Fault tolerant multi-node computing system using periodically fetched configuration status data to detect an abnormal node
US7634386B2 (en) 2004-07-21 2009-12-15 Hitachi, Ltd. Method and apparatus for setting up runtime conditions
WO2013102813A1 (en) * 2012-01-03 2013-07-11 International Business Machines Corporation Software installation
US8661431B2 (en) 2012-01-03 2014-02-25 International Business Machines Corporation Accurately estimating install time
US9170799B2 (en) 2012-01-03 2015-10-27 International Business Machines Corporation Accurately estimating install time
CN104025048B (zh) * 2012-01-03 2017-01-11 国际商业机器公司 用于估计软件产品在操作环境中的安装时间的方法和系统
US9996332B2 (en) 2012-01-03 2018-06-12 International Business Machines Corporation Accurately estimating install time

Similar Documents

Publication Publication Date Title
US7844928B2 (en) Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information
Marjanović et al. Performance modeling of the HPCG benchmark
JP2017130036A (ja) 情報処理装置、演算方法、および演算プログラム
CN107533473B (zh) 用于仿真的高效波形生成
US10140399B2 (en) Corner database generator
US9779192B2 (en) Multi-rate parallel circuit simulation
US10127339B2 (en) Efficient emulation of circuits
Clarke et al. FuPerMod: a software tool for the optimization of data-parallel applications on heterogeneous platforms
Vanegas et al. Multi-port abstraction layer for FPGA intensive memory exploitation applications
JP2000276454A (ja) ソフトウェアの構成方法
Khan et al. Accelerating SpMV multiplication in probabilistic model checkers using GPUs
JP2002108958A (ja) 回路設計システム、回路設計方法および回路設計プログラムを格納したコンピュータ読取り可能な記録媒体
Sharapov et al. A case study in top-down performance estimation for a large-scale parallel application
CN105095545B (zh) 电路仿真中基于工作区域的器件缓冲
US20230056423A1 (en) Processor core simulator including trace-based coherent cache driven memory traffic generator
JP2023180315A (ja) 変換プログラムおよび変換処理方法
Schneider et al. Multi-level timing simulation on GPUs
Bytyn et al. Dataflow aware mapping of convolutional neural networks onto many-core platforms with network-on-chip interconnect
Anuradha et al. Efficient workload characterization technique for heterogeneous processors
Sato et al. ArchHDL: A new hardware description language for high-speed architectural evaluation
JP2001188810A (ja) 入力パラメータ設定支援方法
Johnson et al. Waveform-relaxation-based circuit simulation on the Victor V256 parallel processor
JP2005038430A (ja) 回路パラメータの異なる組合せにおける制約パラメータの測定
Kumar et al. Relaxation based circuit simulation acceleration over CPU-FPGA
CN116227400A (zh) 用于瞬态行为分析的系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070612