JP4680546B2 - 実行条件設定支援方法および装置 - Google Patents

実行条件設定支援方法および装置 Download PDF

Info

Publication number
JP4680546B2
JP4680546B2 JP2004212958A JP2004212958A JP4680546B2 JP 4680546 B2 JP4680546 B2 JP 4680546B2 JP 2004212958 A JP2004212958 A JP 2004212958A JP 2004212958 A JP2004212958 A JP 2004212958A JP 4680546 B2 JP4680546 B2 JP 4680546B2
Authority
JP
Japan
Prior art keywords
parameter
program
value
execution
values
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.)
Expired - Fee Related
Application number
JP2004212958A
Other languages
English (en)
Other versions
JP2006031605A (ja
Inventor
健 直野
光祥 猪貝
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 JP2004212958A priority Critical patent/JP4680546B2/ja
Priority to US11/172,876 priority patent/US7634386B2/en
Publication of JP2006031605A publication Critical patent/JP2006031605A/ja
Application granted granted Critical
Publication of JP4680546B2 publication Critical patent/JP4680546B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/3452Performance evaluation by statistical analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラムの性能保証技術に関する。
プログラム(ソフトウェア)の性能を向上させるために、様々な技術が存在する。例えば、特許文献1には、プログラムの実行時間に影響を与えるパラメータを用いて性能予測モデルを作成し、プログラムの実行時間を最小とするパラメータの値を特定するソフトウェアの構成方法が開示されている。
特開2000−276454号公報
プログラムの性能を向上させるため、さまざまな高性能化技術が開発されている。しかしながら、高性能化技術を用いた場合であっても、メモリ、キャッシュ、ネットワーク、ストレージなどの計算資源の競合を引き起こし、性能の不安定化を招く事態が多くなっている。この最も端的な例が、メモリバンク競合とキャッシュカラム競合である。
メモリバンク競合とは、次のような性能不安定現象である。メモリのデータ転送を高速化するために、同時に複数の番地のデータにアクセスし、同時並行で読み書きを行なう。しかしながら、違う番地のデータであっても、同じメモリバンクにあるデータを同時にアクセスする場合(すなわち、メモリバンク競合が発生する場合)がある。メモリバンク競合が発生すると、データの安全性を確保するためのペナルティの待ち時間が常に発生する。したがって、メモリバンク競合が発生すると、性能に大きな影響を与え、性能劣化を引き起こす原因となる。
キャッシュカラム競合もメモリバンク競合と同様の現象である。すなわち、キャッシュのデータ転送を高速化するために、同時に複数の番地のデータにアクセスし、同時並列で読み書きを行う。しかしながら、違う番地のデータであっても、同じキャッシュカラムにあるデータを同時にアクセスする場合(すなわち、キャッシュカラム競合が発生する場合)がある。キャッシュカラム競合が発生すると、データの安全性を確保するためのペナルティの待ち時間が常に発生し、かえって性能が劣化する。
このような性能不安定化現象は、プログラムの性能向上、チューニングが多種多様になるにつれ、頻繁に起きるようになっている。たとえば、キャッシュカラム競合による性能劣化現象は、「直野健、今村俊幸: 自動チューニング型固有値ソルバについて, SWoPP2002, 情報処理学会研究報告, Vol. 2002, No. 91, pp. 49-54.」および「今村俊幸、直野健: 性能安定化を目指した自動チューニング型固有値ソルバーについて, SACSIS (Symposium on Advanced Computing Systems and Infrastructures) 2003, pp.145-152.」に固有値計算の主要ループについて報告されている。これは、ループアンローリングという性能向上方法が、キャッシュカラム競合によって性能不安定化を招く例を提示している。
なお、図13は、プログラムの性能の実測結果を示したものである。図示するグラフは、縦軸に性能(Mflop/s)を、横軸に行列サイズを示している。そして、ループアンローリングの各パラメータ(アンローリング段数)毎に、各行列サイズで実測した結果を示している。例えば、(5−5−2)のパラメータの場合、行列サイズが3000から3050までは、安定しているが、3050から3080までは、キャッシュカラム競合により性能が急激に劣化している。
このように、様々なデータ競合による待ち時間のために、本来は高速化を目的とした技術が、かえって性能劣化を招いてしまうケースがあり、性能を保証することが容易ではない。
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、性能保証レベルを向上する技術を提供することにある。
上記課題を解決するために、本発明では、保証値が最大となる少なくとも1つのパラメータ値を含むグループを検出する。
例えば、本発明では、計算機により実行されるプログラムの実行条件の設定を支援する実行条件設定支援方法であって、前記プログラムは、当該プログラムの実行性能に影響を与えるパラメータである第1のパラメータと第2のパラメータとを含み、前記第1のパラメータは、前記プログラムの開発時に設定し前記プログラムを利用するユーザが設定しないパラメータであって、前記第2のパラメータは、前記プログラムの実行時に前記プログラムを利用するユーザが設定するパラメータであって、情報処理装置は、前記第1のパラメータがとり得る値の中から選択された複数の第1のパラメータ値各々と、前記第2のパラメータがとり得る値の中から選択された複数の第2のパラメータ値各々との組合せ毎に、当該組合せで前記プログラムを実行した場合の単位時間あたりの演算量を含む統計情報データを受け付ける統計情報受付ステップと、前記プログラムの最大同時実行数であるJを受け付ける実行数受付ステップと、前記第1のパラメータ値をk個(ただし、1≦k≦Jの自然数)含むグループを複数作成するグループ生成ステップと、前記生成したグループ毎に、前記プログラムの実行による計算が所定時間内で終了する保証度合いである保証値を算出する保証値算出ステップと、前記算出したグループ毎の保証値のうち最大のものを選択し、当該選択したグループの前記第1のパラメータ値を出力する出力ステップと、を実行し、前記保証値算出ステップは、前記グループの各々に対し、前記統計情報データに基づいて、当該グループに含まれる第1のパラメータ値の各々と前記第2のパラメータ値の各々との組合せのうち、前記第2のパラメータ値毎に、当該第2のパラメータ値における単位時間あたりの演算量が最大となるもの選択し、当該選択した前記第2のパラメータ値毎の演算量から、単位時間あたりの演算量の平均と標準偏差とを算出し、当該算出した平均と標準偏差とに基づいて前記保証値を算出する。
本発明では、より高い性能保証レベルを実現することができる。
以下に、本発明の実施の形態を説明する。
図1は、本発明の一実施形態が適用された実行条件設定支援システムの概略図である。図示するように、本システムは、情報収集装置1と、条件設定支援装置2と、実行管理装置3と、少なくとも1つの実行装置4とを有する。そして、情報収集装置1と、条件設定支援装置2と、実行管理装置3とは、インターネットまたはLANなどのネットワーク5により接続されている。また、実行管理装置3と、実行装置4各々とは、専用線6により接続されている。
情報収集装置1は、所定のプログラムを複数の実行条件で実行し、複数の実行条件毎に当該プログラムの実行時間を実測するための装置である。条件設定支援装置2は、情報収集装置1が実測した実測結果を用いて、性能保証値が最大となる実行条件の決定を支援するための装置である。実行管理装置3は、各実行装置4にそれぞれ異なる実行条件を入力し、所定のプログラムを同時に並列実行させるための装置である。各実行装置4は、それぞれ異なる実行条件で、所定のプログラムを実行する装置である。すなわち、実行管理装置3は、各実行装置4を用いてパラメータサーベイを行う。
なお、本実施形態におけるプログラムの実行条件は、プログラムの計算結果(実行結果)には影響を与えないが、プログラムの実行性能に影響を与えるクリティカルパラメータ(Critical ParaMeter)(以下、「CP」)とする。また、CPは、ユーザーインターフェイスに現れるユーザークリティカルパラメータ(Users' Critical ParaMeter)(以下、「UCP」)と、ユーザーインターフェイスに現れない内部のパラメータである内部クリティカルパラメータ(Inertial Critical ParaMeter)(以下、「ICP」)とに分類される。
具体的なICPとしては、ループ計算におけるアンローリング段数、行列計算におけるA(N、N)を例えばA(N+1、N+1)として計算するサイズ追加パラメータ、行列計算における分割ブロックサイズなどである。なお、アンローリング段数については、例えば、「自動チューニング型固有値ソルバーについて」(直野健、今村俊幸,情報処理学会研究報告, Vol. 2002, No. 91, pp. 49-54、)に、記載されている。本実施形態では、ICPとしてアンローリング段数を例に以下説明する。
UCPは、ユーザがプログラムの実行時にパラメータの値を指定する(すなわち、ユーザーインターフェイスに現れる)CPである。具体的なUCPとしては、行列計算における行列サイズなどである。本実施形態では、UCPとして行列サイズを例に以下説明する。
情報収集装置1は、図示するように、入力受付部11と、処理部12と、通信処理部13と、記憶部14とを有する。入力受付部11は、プログラム開発者からIPCおよびUCPのパラメータの値の入力を受け付ける。処理部12は、入力受付部11が受け付けたIPCおよびUCPのそれぞれの値を指定して所定のプログラムを実行し、後述する統計情報テーブルを作成する。通信処理部13は、ネットワーク5を介して他の装置とデータの送受信を行う。記憶部14には、処理部12が実行する所定のプログラムが記憶されている。また、記憶部14には、後述する統計情報テーブルが記憶される。
条件設定支援装置2は、図示するように、入力受付部21と、処理部22と、出力部23と、通信処理部24と、記憶部25と、を有する。入力受付部21は、プログラムの実行条件を設定するユーザから、後述する最大同時実行数の入力を受け付ける。処理部22は、後述する保証値が最大となるICPのグループを特定する。通信処理部13は、ネットワーク5を介して他の装置とデータの送受信を行う。記憶部25には、情報収集装置1が作成した統計情報テーブル、後述する保証値テーブル、および後述する対応テーブルが記憶される。
実行管理装置3は、図示するように、実行管理部31と、通信処理部32と、記憶部33とを有する。実行管理部31は、各実行装置4にプログラムの実行またはキャンセルを指示する。通信処理部32は、ネットワーク5または専用線6を介して他の装置とデータの送受信を行う。記憶部33には、条件設定支援装置2が特定したプログラムの実行条件および、プログラムの実行結果が記憶される。
以上説明した、情報収集装置1、条件設定支援装置2、実行管理装置3、および、実行装置4は、いずれも例えば図2に示すようなCPU901と、RAM等のメモリ902と、HDD等の外部記憶装置903と、キーボードやマウスなどの入力装置904と、ディスプレイやプリンタなどの出力装置905と、ネットワーク接続するための通信制御装置906と、これらの各装置を接続するバス907と、を備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。
例えば、情報収集装置1、条件設定支援装置2、実行管理装置3、および、実行装置4の各機能は、情報収集装置1用のプログラムの場合は情報収集装置1のCPU901が、条件設定支援装置2用のプログラムの場合は条件設定支援装置2のCPU901が、実行管理装置3用のプログラムの場合は実行管理装置3のCPU901が、そして、実行装置4用のプログラムの場合は実行装置4のCPU901が、それぞれ実行することにより実現される。また、情報収集装置1の記憶部14には、情報収集装置1のメモリ902または外部記憶装置903が用いられる。また、条件設定支援装置2の記憶部25には、条件設定支援装置2のメモリ902または外部記憶装置903が用いられる。また、実行管理装置3の記憶部33には、実行管理装置3のメモリ902または外部記憶装置903が用いられる。
次に、情報収集装置1の処理の流れについて説明する。なお、所定のプログラムを開発したプログラム開発者が、情報収集装置1を使用する。
図3は、情報収集装置1の処理フローを示した図である。まず、入力受付部11は、入力装置904から入力されたICP識別情報と、当該ICP識別情報により識別されるICPがとり得る少なくとも1つのICP値(パラメータの値)を受け付ける(S31)。ICP識別情報は、ICPを識別するための情報(例えば、ICP名称など)である。プログラム開発者は、自ら開発した所定のプログラムにおける、計算結果には影響を与えないが性能分布に影響を与えるICPを特定する。そして、プログラム開発者は、当該特定したICPのICP値を、少なくとも1つ特定する。そして、プログラム開発者は、特定したICP識別情報と、特定した各ICP値とを、入力装置904を用いて入力受付部11に入力する。なお、本実施形態では、ICPは、アンローリング段数とする。また、入力されたICP値は、ICP={ICP−1,ICP−2,…ICP−n}とする。
そして、入力受付部11は、入力装置904から入力されたUCP識別情報と、当該UCP識別情報により識別されるUCPの少なくとも1つのUCP値(パラメータの値)を受け付ける(S32)。なお、UCP識別情報は、UCPを識別するための情報(例えば、UCP名称など)である。プログラム開発者は、自ら開発した所定のプログラムにおける、計算結果には影響を与えないが性能分布に影響を与えるUCPを特定する。そして、プログラム開発者は、当該特定したUCPの取り得る区間(範囲)を特定し、当該区間内で複数のUCPの値をランダムに選択する。そして、プログラム開発者は、特定したUCP識別情報と、選択した各UCP値とを、入力装置904を用いて入力受付部11に入力する。なお、本実施形態では、UCPは、行列計算における行列サイズとする。また、入力されたUCP値は、UCP={UCP(1),UCP(2),…UCP(m)}とする。
そして、処理部12は、入力受付部11が受け付けた、各ICP値および各UCP値に基づいて後述する統計情報テーブルを作成し、記憶部14に記憶する(S33)。すなわち、処理部12は、各ICP値を統計情報テーブルの横(または縦)の各項目(フィールド)に設定し、また、各UCP値を統計情報テーブルの縦(または横)の各項目(フィールド)に設定したクロス表を作成する。そして、処理部12は、統計情報テーブルのセル毎に、当該セルに対応するICP値およびUCP値を指定して、記憶部14に記憶された所定の(同一の)プログラムをそれぞれ実行し、当該プログラムの性能を測定する。以下に詳細に説明する。
すなわち、処理部12は、「ICP−1」から「ICP−n」まで、以下に説明するS35からS37の処理を繰り返す(S34)。なお、繰り返しは、「ICP=ICP−1,ICP−n」で表すものとする。そして、処理部22は、「UCP−1」から「UCP−m」まで、以下に説明するS36およびS37の処理を繰り返す(S35)。そして、処理部12は、S34で設定された所定のICP値、および、S35で設定された所定のUCP値を設定し、所定の記憶部14に記憶された所定のプログラムを実行して、性能を測定する(S36)。そして、処理部は、測定した性能値を記憶部14に記憶された統計情報テーブルの対応するセルに記憶する(S37)。なお、性能値は、Perf(k、IPC)とする。
以上により統計情報テーブルの全てのセルに実測した性能値を設定した後、処理部12は、当該統計情報テーブルを、通信処理部14を用いて、条件設定支援装置2に送信する(S38)。
次に、統計情報テーブルについて説明する。
図4は、統計情報テーブルの一例を示したものである。図示するように、統計情報テーブル400は、列(横方向)として、複数のICP番号410と、当該ICP番号410各々に対応する複数のICP値420と、を有する。また、統計情報テーブル400は、行(縦方向)として、複数のUCP値430と、を有する。図示する例では、ICP値420には、S31において入力された、7つのアンローリング段数のパラメータ値が設定されている。
また、図示する例では、UCPは行列サイズである。UCP値430には、S32において入力された、10個の行列サイズが設定されている。すなわち、UCP値430には、行列サイズN=3001からN=3100までの100個の区間において、10区間ごとに区間内はランダムに選択された行列サイズが設定されている。
また、各セル440には、各ICP値および各UCP値を指定してプログラムを実測した性能値が設定されている。本実施形態では、性能値としてプログラムの実行時間の逆数(演算量÷プログラムの実行時間)を用いるものとする。したがって、性能値が大きいほど、プログラムの実行時間が短いこと(高性能であること)を示している。例えば、ICP番号が「7」(すなわち、IPC値が「6−6−2」)441においては、UCP値がN=3,006の場合の性能値「1,175」442が、もっとも大きい。なお、性能値の単位はMflop/Sである。
次に、条件設定支援装置2の処理の流れについて説明する。なお、所定のプログラムの実行条件を設定するユーザが、条件設定支援装置2を使用する。
図5は、条件設定支援装置2の処理フローを示した図である。図示する処理は、統計情報テーブルに設定された各ICPの値{ICP−1〜ICP−N}の中から、保証値を最大化するICP値をk個選択する処理である。保証値(QoS)は、プログラムの利用者に、性能を保証する、すなわち、所定の時間内でプログラムを完了し計算結果を出力することを保証する値である。例えば、図4に示す統計情報テーブルのIPC番号が「7」(すなわち、IPC値が「6−6−2」)441においては、UCP値によって性能値にばらつきがある。すなわち、UCP値が「N=3006」の場合が最大の性能値(1,175)442であって、UCP値が「N=3057」の場合が最低の性能値(1,099)443である。したがって、保証値は、性能値のばらつきを考慮し、性能値の平均値からそのぶれ幅(標準偏差など)を差し引いた値とする。なお、保証の度合いに応じて平均値(M)から、標準偏差(σ)もしくはその数倍の値を引けばよい。以下に説明する本実施形態においては、M−2×σを保証値とすることにする。
まず、処理部22は、通信処理部24を用いて、情報収集装置1から統計情報テーブルを受信する(S100)。そして、処理部22は、統計情報テーブルを、記憶部25に記憶する。次に、入力受付部21は、入力装置904から入力された、最大同時実行数およびUCP値を受け付ける(S200)。最大同時実行数は、異なるIPC値をそれぞれ指定して、同一のプログラムを同時実行する実行装置4の最大数である。ユーザは、使用可能な実行装置4の数などリソース上の制限により最大同時実行数を決定する。そして、ユーザは、入力装置904を用いて最大同時実行数を入力受付部21に入力する。なお、最大同時実行数を「J」とし、本実施形態では、「J=4」として以降の説明をする。また、S200において受け付けたUCP値は、実行装置4がプログラムを実行する際に設定される。
そして、処理部22は、「1」から最大同時実行数までの各同時実行数(k)において、以下に説明するS310からS330の処理を繰り返し行う(S300)。なお、繰り返しは、「k=1,J」で表わすものとする。J=4の場合、k=1と、k=2と、k=3と、k=4の4回の繰り返し(ループ処理)を行う。
まず、処理部22は、統計情報テーブルに設定されたICP値の数であるn個からk個を選択する場合の、全ての組合せを作成する(S310)。図4に示す統計情報テーブルの場合、n=7である。そして、例えばk=3の場合、n(=7)個からk(=3)個を選択したグループをG(1),…,G(z)とすると、7個中3個を選ぶ組合せの数は、nCk=7C3=35である。したがって、z=35となる。
次に、処理部22は、S310で作成したグループのG(1)からG(z)まで、各グループの性能値の平均および標準偏差と、各グループの保証値とを算出する。すなわち、処理部22は、kk=1からz(k=3の場合は35)まで、以下に説明するS321からS324を実行する。
まず、処理部22は、各グループ内において、UCP値毎に最大の性能値を特定する(S321)。第kkグループのICP値が「(5-5-2)と(5-5-4)と(6-6-1)」のグループとする。この場合、UCP値の1番目について、Perf(1, (5-5-2))とPerf(1, (5-5-4))とPerf(1, (6-6-1))の中で最大の値をとるものをMax-Perf(1)とする。これを各UCP値について行う。これにより第kkグループのMax-Perf(1)からMax-Perf(m)が特定される。
具体的に、図4に示す統計情報テーブルにおいて、ICP番号が「4(5-5-2)と5(5-5-4)と6(6-6-1)」のグループの場合を例に説明する。処理部22は、UCP値が「N=3,006」の場合、最大の性能値であるICP番号が「5」の性能値(1,263)444を特定する。また、処理部22は、UCP値が「N=3,038」の場合、最大の性能値であるICP番号が「4」の性能値(1,232)445を特定する。
そして、処理部22は、UCP値毎に特定した最大の性能値、すなわち、Max-Perf(1)からMax-Perf(m)のm個の値の平均(M)と標準偏差(σ)とを算出する(S322)。なお、第kkグループの平均(M)をM(kk)、また、第kkグループの標準偏差(σ)をσ(kk)とする。
そして、処理部22は、算出した平均(M)と標準偏差(σ)とに基づいて、保証値(QoS)を算出する(S323)。上記保証値の説明の通り、保証値(QoS)は、「平均(M)−2×標準偏差(σ)」により算出される。なお、第kkグループの保証値(QoS)をQoS(kk)とし、QoS(kk)=M(kk)−2σ(kk)とする。そして、処理部は、S321からS323において、特定または算出したMax-Perf(m)、平均(M)、標準偏差(σ)、および、保証値(QoS)を、後述する保証値テーブルに設定する(S324)。
次に、保証値テーブルについて説明する。
図6は、同時実行数がk=1の場合において、n(=7)個からk(=1)個を選択した保証値テーブルの例を示したものである。この場合、処理部22は、G(1)からG(7)の7個のグループを作成する。保証値テーブルは、図示するように、グループ番号(当該グループ番号に対応するICP値を含む)610、UCP値620、平均(M)630、標準偏差(σ)640、および、保証値650を有する。処理部22は、記憶部25に記憶された統計情報テーブルを読み出し、グループ毎およびUCP値毎に、特定した最大性能値(Max-Perf(m))を特定し、保証値テーブルの所定のセル(エリア)に設定する。なお、同時実行数がk=1の場合は、統計情報テーブルの各性能値が、そのまま最大性能値となる。また、処理部22は、グループ毎に算出した平均(M)630、標準偏差(σ)640、および、保証値650を、当該グループの各セルに設定する。
図7は、同時実行数がk=2の場合において、n(=7)個からk(=2)個を選択した保証値テーブルの例を示したものである。この場合、処理部22は、nCk=7C2
=21により、21個のグループを作成する。なお、図7に示す保証値テーブルは、図6で説明した保証値テーブルと同様である。処理部22は、統計情報テーブルを読み出し、グループ毎およびUCP値毎に特定した最大の性能値(Max-Perf(m))を設定する。例えば、IPC番号が「4」と「5」のグループ711の場合、処理部22は、記憶部25に記憶された統計情報テーブルのIPC番号が「4」の性能値と「5」の性能値とをUCP値に各々比較する。そして、処理部22は、大きい方の性能値を保証値テーブルの当該グループ711の対応するUCP値のセルに設定する。具体的には、統計情報テーブル(図4参照)のUCP値が「N=3006」の場合、ICP番号「4」の性能値は「1,242」446でICP番号「5」の性能値は「1,263」444である。処理部22は、性能値が大きいICP番号「5」の値「1,263」444を特定し、保証値テーブルの当該グループ771のUCP値「N=3006」のセル712に設定する。これによって、各グループおよび各UCP値において最大の性能値(Max-Perf)が特定される。
図8は、同時実行数がk=3の場合において、n(=7)個からk(=3)個を選択した保証値テーブルの例を示した図である。この場合、処理部22は、nCk=7C3
=35により、35個のグループを作成する。なお、図8に示す保証値テーブルは、図6および図7で説明した保証値テーブルと同様である。
図9は、同時実行数がk=4の場合において、n(=7)個からk(=4)個を選択した保証値テーブルの例を示した図である。この場合、処理部22は、nCk=7C4
=35により、35個のグループを作成する。なお、図9に示す保証値テーブルは、図6から図8で説明した保証値テーブルと同様である。
以上説明したように、処理部22は、kk=1からzまで、S321からS324の処理を繰り返し実行し、保証値テーブルを作成する。次に、処理部22は、記憶部25記憶された保証値テーブルを読み出し、最大の保証値(QoS)を有するグループを特定する(S330)。すなわち、処理部22は、M(kk)-2σ(kk):kk=1,…,zの中で、最大の保証値を有するkkを特定する。なお、特定したグループをMax-kkとし、当該グループ(Max-kk)の保証値をQoS(k)とする。また、Max-kkのグループの要素である各IPC値を、S-IPC-1からS-IPC-kとする。具体的には、図8に示す保証値テーブルの場合、保証値が最も大きいIPC番号が「4」と「5」と「7」のグループ861がMax-kkであって、QoS(k)が「1,155.007」860である。また、S-IPC-1はICP番号「4」の(5-5-2)、S-IPC-2はICP番号「5」の(5-5-4)、S-IPC-3はICP番号「7」の(6-6-2)である。
このように、処理部22は、k=1からJまでS310からS330を繰り返し実行し、k=1からJまでの各々の最大保証値を算出する(S300)。そして、処理部22は、同時実行数と最大保証値とを対応付けた対応テーブルを作成し、記憶部25に記憶する(S400)。なお、対応テーブルは、図10において後述する。そして、出力部23は、記憶部25に記憶された対応テーブルをグラフ化した同時実行数決定グラフを、出力装置905に出力する(S500)。なお、同時実行決定グラフは、図11において後述する。
そして、処理部22は、対応テーブルまたは同時実行決定グラフに基づいて、同時実行数および当該同時実行数における各ICP値を決定する(S600)。すなわち、処理部22は、対応テーブルを参照し、あらかじめ定められた要求保証値より大きな最大保証値を有する同時実行数を抽出する。そして、処理部22は、抽出した同時実行数の中で、最小の同時実行数を決定する。そして、処理部22は、対応テーブルを参照して、決定した同時実行数の各ICP値を特定する。そして、処理部22は、通信処理部23を用いて、実行管理装置3に決定した同時実行数と、各ICP値とを送信する(S700)。また、処理部22は、通信処理部23を用いて、S200で受け付けたUCP値を実行管理装置3に送信する。
次に、対応テーブルおよび同時実行数決定グラフについて説明する。
図10は、対応テーブルの一例を示した図である。図示するように、対応テーブルは、同時実行数(k)101と、最大保証値(QoS(k))102と、ICP番号およびIPC値103と、を有する。例えば、同時実行数が「1」の場合、処理部22は、図6に示す保証値テーブルを参照し、最大保証値である「1132.058」660を、対応テーブルの所定のセル104に設定する。また、処理部22は、図6に示す保証値テーブルを参照し、最大保証値のグループのICP番号およびICP値を、所定のエリア105に設定する。同様に、処理部22は、同時実行数が「2」の場合、図7に示す保証値テーブルを参照し、最大保証値である「1151.764」760を、また、最大保証値のグループのICP番号およびICP値を、対応テーブルの所定のセルに設定する。
図11は、同時実行数決定グラフの一例を示した図である。図示するように、本グラフの縦軸は保証値(Mflop/s)を、横軸は同時実行数を示している。そして、本グラフには、図10に示す各最大保証値をグラフ化した折れ線111と、あらかじめ定められた要求保証値を示す直線112と、が表示されている。なお、図示する例では、要求保証値は1,153Mflop/s112である。したがって、処理部22は、要求保証値より大きな保証値を有する同時実行数「3」と「4」を抽出する。そして、処理部22は、抽出した同時実行数のうち、最小の同時実行数である「3」を特定する。このように、各最大保証値をグラフ化した折れ線111と、要求保証値の直線112とを、クラフに表示することのより、条件設定支援装置2を使用するユーザは、最適な同時実行数を容易に把握することができる。
次に、実行管理装置3の処理について説明する。なお、所定のプログラムを利用(実行)するASPサイトの運用管理者などが、実行管理装置3を使用する。
図12は、実行管理装置3の処理フロー図である。実行管理装置3の実行管理部31は、通信処理部32を用いて、条件設定支援装置2から、同時実行数および各ICP値(S-IPC-1からS-IPC-k)を受信する(S121)。また、実行管理部31は、通信処理部32を用いて、条件設定支援装置2から、UCP値を受信する。
そして、実行管理部31は、受信した同時実行数、各ICP値およびUCP値を記憶部31に記憶する。そして、実行管理部31は、受信した同時実行数の数だけ実行装置4を割り当て、当該割り当てた実行装置4各々に受信したICP値をそれぞれ設定する(S122)。図10に示す対応テーブルにおいて、同時実行数を3とした場合、実行管理部31は、ICP番号「4」のICP値(5−5−2)と、ICP番号「5」のICP値(5−5−4)と、ICP番号「7」のICP値(6−6−2)を、割り当てた実行装置4各々のプログラムに設定する。また、実行管理部31は、割り当てた実行装置4各々に、受信したUCP値を設定する。
そして、実行管理部31は、各IPC値とUCP値とが設定された実行装置4各々に、同一のプログラムの同時実行を指示する(S123)。これにより、各実行装置4は、同一のプログラムを異なるICP値で実行する。そして、各実行装置4は、プログラムの実行終了後、実行結果(計算結果)を実行管理装置3に通知する。なお、各実行装置4が実行するプログラムは、あらかじめ実行装置のメモリ902または外部記憶装置903に記憶されているものとする。
そして、実行管理部31は、最も早く通知された実行結果のみを受信し、当該受信結果を、記憶部33に記憶する。そして、実行管理部31は、最も早く通知した実行装置4以外の実行装置4のプログラムの実行をキャンセルする(S124)。
以上、本発明の一実施形態を説明した。
本実施形態では、複数のICP値を設定し、複数の実行装置で同一のプログラムを同時実行する。これにより、メモリ競合またはカラム競合などにより、プログラムの実行性能にばらつきがある場合であっても、より高い保証値を設定することができる。また、所定の保証値を確保するために有効な同時実行数を決定することができる。
また、本実施形態では、実行するプログラムの処理を変更することなく、最適なICP値を特定すること、より高い保証値を設定することができる。
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
例えば、本実施形態では、ICPを、プログラムの計算結果(実行結果)には影響を与えないが、プログラムの実行性能に影響を与えるパラメータとした。しかしながら、本発明はこれに限定されず、ICPを、プログラムの計算精度に影響を与えるパラメータとしてもよい。この計算精度に影響を与えるICPにおいて、各IPC値を設定してプログラムを実行した場合、所定の時間内に計算結果が出力されるが、その精度にばらつきが生じる。この計算精度に影響を与えるICPの場合、保証値は精度保証である。情報収集装置1は、各IPC値を設定してプログラムを実行し、計算結果を図4に示す統計情報テーブルに設定する。そして、条件設定支援装置2は、図5に示す処理を実行し、同時実行数毎に保証値テーブルを作成し、最大精度保証値を特定する。そして、条件設定支援装置2は、あらかじめ定められた精度保証値を確保するために必要な同時実行数および、ICP値を特定する。そして、実行管理装置3は、所定の時間内で、各実行装置4が実行した計算結果にうち、最も高精度の計算結果のみを採用する。
また、本実施形態では、プログラムの実行性能に影響を与える1つのICPについて、説明した。しかしながら、本発明はこれに限定されず、複数の種類のICPを用いて、複数の目的関数(指標)に対して最大となる保証値を設定することとしてもよい。例えば、本実施形態で用いたプログラムの実行性能に影響を与えるパラメータ(第1のICP)と、プログラムの計算結果には影響を与えないが使用するメモリ量に影響を与えるパラメータ(第2のICP)とを用いて、実行時間および使用メモリ量の両方の目的関数に対して保証値のレベルを向上させることとしてもよい。なお、複数の種類のICPを用いる場合は、組合せ最適化処理を実行することにより、複数の目的関数に対して保証値のレベルを向上させることができる。なお、組合せ最適化処理については、「組合せ最適化とアルゴリズム」(久保幹雄 等著、共立出版)に記載されている。
図1は、本発明の一実施形態が適用された実行条件設定支援システムの概略図である。 図2は、各装置のハードウェア構成例を示す図である。 図3は、情報収集装置の処理フロー図である。 図4は、統計情報テーブルの一例を示す図である。 図5は、条件設定支援装置の処理フロー図である。 図6は、同時実行数が1の場合の保証値テーブルの一例を示す図である。 図7は、同時実行数が2の場合の保証値テーブルの一例を示す図である。 図8は、同時実行数が3の場合の保証値テーブルの一例を示す図である。 図9は、同時実行数が4の場合の保証値テーブルの一例を示す図である。 図10は、対応テーブルの一例を示す図である。 図11は、同時実行数決定グラフの一例を示す図である。 図12は、実行管理装置の処理フロー図である。 図13は、プログラムの実測結果を示すグラフである。
符号の説明
1:情報収集装置、11:入力受付部、12:処理部、13:通信処理部、14:記憶部、2:条件設定支援装置、21:入力受付部、22:処理部、23:出力部、24:通信処理部、25:記憶部、3:実行管理装置、31:実行管理部、32:通信処理部、33:記憶部、4:実行装置、5:ネットワーク、5:専用線

Claims (7)

  1. 計算機により実行されるプログラムの実行条件の設定を支援する実行条件設定支援方法であって
    前記プログラムは、当該プログラムの実行性能に影響を与えるパラメータである第1のパラメータと第2のパラメータとを含み、
    前記第1のパラメータは、前記プログラムの開発時に設定し前記プログラムを利用するユーザが設定しないパラメータであって、
    前記第2のパラメータは、前記プログラムの実行時に前記プログラムを利用するユーザが設定するパラメータであって、
    情報処理装置は、
    前記第1のパラメータがとり得る値の中から選択された複数の第1のパラメータ値各々と、前記第2のパラメータがとり得る値の中から選択された複数の第2のパラメータ値各々との組合せ毎に、当該組合せで前記プログラム実行した場合の単位時間あたりの演算量を含む統計情報データを受け付ける統計情報受付ステップと、
    前記プログラムの最大同時実行数であるJを受け付ける実行数受付ステップと、
    前記第1のパラメータ値をk個(ただし、1≦k≦Jの自然数)含むグループを複数作成するグループ生成ステップと、
    前記生成したグループ毎に、前記プログラムの実行による計算が所定時間内で終了する保証度合いである保証値を算出する保証値算出ステップと、
    前記算出したグループ毎の保証値のうち最大のものを選択し、当該選択したグループの前記第1のパラメータ値を出力する出力ステップと、を実行し、
    前記保証値算出ステップは、前記グループの各々に対し、
    前記統計情報データに基づいて、当該グループに含まれる第1のパラメータ値の各々と前記第2のパラメータ値の各々との組合せのうち、前記第2のパラメータ値毎に、当該第2のパラメータ値における単位時間あたりの演算量が最大となるもの選択し、当該選択した前記第2のパラメータ値毎の演算量から、単位時間あたりの演算量の平均と標準偏差とを算出し、当該算出した平均と標準偏差とに基づいて前記保証値を算出すること
    を特徴とする実行条件設定支援方法。
  2. 請求項1記載の実行条件設定支援方法であって
    前記グループ生成ステップは、
    前記kの値が1から前記Jである場合の各々における全ての組み合わせのグループを生成し、
    前記保証値算出ステップは、
    前記生成された全てのグループ毎の保証値を算出し、
    前記出力ステップは、
    前記算出された保証値のうち最大のものを選択し、当該選択したグループの前記第1のパラメータ値とk値とを出力すること
    を特徴とする実行条件設定支援方法。
  3. 計算機により実行されるプログラムの実行条件の設定を支援する実行条件設定支援方法であって
    前記プログラムは、第1のパラメータと第2のパラメータとを含み、
    前記第1のパラメータは、前記プログラムの計算精度に影響を与え、前記プログラムの開発時に設定し前記プログラムを利用するユーザが設定しないパラメータであって、
    前記第2のパラメータは、前記プログラムの実行性能に影響を与え、前記プログラムの実行時に前記プログラムを利用するユーザが設定するパラメータであって、
    情報処理装置は、
    前記第1のパラメータがとり得る値の中から選択された複数の第1のパラメータ値各々と、前記第2のパラメータがとり得る値の中から選択された複数の第2のパラメータ値各々との組合せ毎に、当該組合せで前記プログラム実行した場合の単位時間あたりの演算量を含む統計情報データを受け付ける統計情報受付ステップと、
    前記プログラムの最大同時実行数であるJを受け付ける実行数受付ステップと、
    前記第1のパラメータ値をk個(ただし、1≦k≦Jの自然数)含むグループを複数作成するグループ生成ステップと、
    前記生成したグループ毎に、前記プログラムを実行した際に所定時間内に計算結果が得られる精度の度合いである保証値を算出する保証値算出ステップと、
    前記算出したグループ毎の保証値のうち最大のものを選択し、当該選択したグループの前記第1のパラメータ値を出力する出力ステップと、を実行し、
    前記保証値算出ステップは、前記グループの各々に対し、
    前記統計情報データに基づいて、当該グループに含まれる第1のパラメータ値の各々と前記第2のパラメータ値の各々との組合せのうち、前記第2のパラメータ値毎に、当該第2のパラメータ値における単位時間あたりの演算量が最大となるもの選択し、当該選択した前記第2のパラメータ値毎の演算量から、単位時間あたりの演算量の平均と標準偏差とを算出し、当該算出した平均と標準偏差とに基づいて前記保証値を算出すること
    を特徴とする実行条件設定支援方法。
  4. 計算機により実行されるプログラムの実行条件の設定を支援する実行条件設定支援方法であって
    前記プログラムは、第1のパラメータと第2のパラメータとを含み、
    前記第1のパラメータは、前記プログラムの実行性能に影響を与え、前記プログラムの開発時に設定し前記プログラムを利用するユーザが設定しないパラメータと、前記プログラムの実行時に使用するメモリ量に影響を与え、前記プログラムの開発時に設定し前記プログラムを利用するユーザが設定しないパラメータと、を含み
    前記第2のパラメータは、前記プログラムの実行性能に影響を与え、前記プログラムの実行時に前記プログラムを利用するユーザが設定するパラメータであって、
    情報処理装置は、
    前記第1のパラメータがとり得る値の中から選択された複数の第1のパラメータ値各々と、前記第2のパラメータがとり得る値の中から選択された複数の第2のパラメータ値各々との組合せ毎に、当該組合せで前記プログラム実行した場合の単位時間あたりの演算量を含む統計情報データを受け付ける統計情報受付ステップと、
    前記プログラムの最大同時実行数であるJを受け付ける実行数受付ステップと、
    前記第1のパラメータ値をk個(ただし、1≦k≦Jの自然数)含むグループを複数作成するグループ生成ステップと、
    前記生成したグループ毎に、前記プログラムの実行による計算が所定時間内で終了する保証度合いである保証値を算出する保証値算出ステップと、
    前記算出したグループ毎の保証値のうち最大のものを選択し、当該選択したグループの前記第1のパラメータ値を出力する出力ステップと、を実行し、
    前記保証値算出ステップは、前記グループの各々に対し、
    前記統計情報データに基づいて、当該グループに含まれる第1のパラメータ値の各々と前記第2のパラメータ値の各々との組合せのうち、前記第2のパラメータ値毎に、当該第2のパラメータ値における単位時間あたりの演算量が最大となるもの選択し、当該選択した前記第2のパラメータ値毎の演算量から、単位時間あたりの演算量の平均と標準偏差とを算出し、当該算出した平均と標準偏差とに基づいて前記保証値を算出すること
    を特徴とする実行条件設定支援方法。
  5. ログラムの実行条件を設定する実行条件設定装置と、前記プログラムの実行を管理する実行管理装置と、前記プログラムを実行する少なくとも1つの実行装置とを有するシステムにおいて、プログラムの実行条件を設定する方法であって、
    前記プログラムは、当該プログラムの実行性能に影響を与えるパラメータである第1のパラメータと第2のパラメータとを含み、
    前記第1のパラメータは、前記プログラムの開発時に設定し前記プログラムを利用するユーザが設定しないパラメータであって、
    前記第2のパラメータは、前記プログラムの実行時に前記プログラムを利用するユーザが設定するパラメータであって、
    前記実行条件設定装置は、
    前記第1のパラメータがとり得る値の中から選択された複数の第1のパラメータ値各々と、前記第2のパラメータがとり得る値の中から選択された複数の第2のパラメータ値各々との組合せ毎に、当該組合せで前記プログラム実行した場合の単位時間あたりの演算量を含む統計情報データを受け付ける統計情報受付ステップと、
    前記プログラムの最大同時実行数であるJを受け付ける実行数受付ステップと、
    前記第1のパラメータ値をk個(ただし、1≦k≦Jの自然数)含むグループを複数作成するグループ生成ステップと、
    前記生成したグループ毎に、前記プログラムの実行による計算が所定時間内で終了する保証度合いである保証値を算出する保証値算出ステップと、
    前記算出したグループ毎の保証値のうち最大のものを選択し、当該選択したグループの前記第1のパラメータ値を出力する出力ステップと、を実行し、
    前記保証値算出ステップは、前記グループの各々に対し、
    前記統計情報データに基づいて、当該グループに含まれる第1のパラメータ値の各々と前記第2のパラメータ値の各々との組合せのうち、前記第2のパラメータ値毎に、当該第2のパラメータ値における単位時間あたりの演算量が最大となるもの選択し、当該選択した前記第2のパラメータ値毎の演算量から、単位時間あたりの演算量の平均と標準偏差とを算出し、当該算出した平均と標準偏差とに基づいて前記保証値を算出し、
    前記実行管理装置は、
    前記実行条件設定装置から出力された第1のパラメータ値を受信する受信ステップと、
    前記受信した第1のパラメータ値各々を前記実行装置各々に設定し、前記プログラムの同時実行を前記実行装置各々に指示する指示ステップと、
    前記実行装置各々から送信される実行結果のうち、最速の実行結果のみを受け付ける実行結果受付ステップと、を実行し、
    前記実行装置各々は、
    前記実行管理装置からの前記実行指示を受け付けて、前記プログラムを実行する実行ステップを実行すること
    を特徴とする実行条件設定方法。
  6. 計算機により実行されるプログラムの実行条件の設定を支援する実行条件設定支援装置であって
    前記プログラムは、当該プログラムの実行性能に影響を与えるパラメータである第1のパラメータと第2のパラメータとを含み、
    前記第1のパラメータは、前記プログラムの開発時に設定し前記プログラムを利用するユーザが設定しないパラメータであって、
    前記第2のパラメータは、前記プログラムの実行時に前記プログラムを利用するユーザが設定するパラメータであって、
    前記実行条件設定支援装置は、
    前記第1のパラメータがとり得る値の中から選択された複数の第1のパラメータ値各々と、前記第2のパラメータがとり得る値の中から選択された複数の第2のパラメータ値各々との組合せ毎に、当該組合せで前記プログラム実行した場合の単位時間あたりの演算量を含む統計情報データを受け付ける統計情報受付手段と、
    前記プログラムの最大同時実行数であるJを受け付ける実行数受付ステップと、
    前記第1のパラメータ値をk個(ただし、1≦k≦Jの自然数)含むグループを複数作成するグループ生成手段と、
    前記生成したグループ毎に、前記プログラムの実行による計算が所定時間内で終了する保証度合いである保証値を算出する保証値算出手段と、
    前記算出したグループ毎の保証値のうち最大のものを選択し、当該選択したグループの前記第1のパラメータ値を出力する出力手段と、を有し、
    前記保証値算出手段、前記グループの各々に対し、
    前記統計情報データに基づいて、当該グループに含まれる第1のパラメータ値の各々と前記第2のパラメータ値の各々との組合せのうち、前記第2のパラメータ値毎に、当該第2のパラメータ値における単位時間あたりの演算量が最大となるもの選択し、当該選択した前記第2のパラメータ値毎の演算量から、単位時間あたりの演算量の平均と標準偏差とを算出し、当該算出した平均と標準偏差とに基づいて前記保証値を算出すること
    を特徴とする実行条件設定支援装置。
  7. 務プログラムの実行条件の設定を支援する実行条件設定支援プログラムであって、
    前記プログラムは、当該プログラムの実行性能に影響を与えるパラメータである第1のパラメータと第2のパラメータとを含み、
    前記第1のパラメータは、前記プログラムの開発時に設定し前記プログラムを利用するユーザが設定しないパラメータであって、
    前記第2のパラメータは、前記プログラムの実行時に前記プログラムを利用するユーザが設定するパラメータであって、
    情報処理装置に、
    前記第1のパラメータがとり得る値の中から選択された複数の第1のパラメータ値各々と、前記第2のパラメータがとり得る値の中から選択された複数の第2のパラメータ値各々との組合せ毎に、当該組合せで前記プログラム実行した場合の単位時間あたりの演算量を含む統計情報データを受け付ける統計情報受付ステップと、
    前記プログラムの最大同時実行数であるJを受け付ける実行数受付ステップと、
    前記第1のパラメータ値をk個(ただし、1≦k≦Jの自然数)含むグループを複数作成するグループ生成ステップと、
    前記生成したグループ毎に、前記プログラムの実行による計算が所定時間内で終了する保証度合いである保証値を算出する保証値算出ステップと、
    前記算出したグループ毎の保証値のうち最大のものを選択し、当該選択したグループの前記第1のパラメータ値を出力する出力ステップと、を実行させ、
    前記保証値算出ステップは、前記グループの各々に対し、
    前記統計情報データに基づいて、当該グループに含まれる第1のパラメータ値の各々と前記第2のパラメータ値の各々との組合せのうち、前記第2のパラメータ値毎に、当該第2のパラメータ値における単位時間あたりの演算量が最大となるもの選択し、当該選択した前記第2のパラメータ値毎の演算量から、単位時間あたりの演算量の平均と標準偏差とを算出し、当該算出した平均と標準偏差とに基づいて前記保証値を算出すること
    を特徴とする実行条件設定支援プログラム。
JP2004212958A 2004-07-21 2004-07-21 実行条件設定支援方法および装置 Expired - Fee Related JP4680546B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004212958A JP4680546B2 (ja) 2004-07-21 2004-07-21 実行条件設定支援方法および装置
US11/172,876 US7634386B2 (en) 2004-07-21 2005-07-05 Method and apparatus for setting up runtime conditions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004212958A JP4680546B2 (ja) 2004-07-21 2004-07-21 実行条件設定支援方法および装置

Publications (2)

Publication Number Publication Date
JP2006031605A JP2006031605A (ja) 2006-02-02
JP4680546B2 true JP4680546B2 (ja) 2011-05-11

Family

ID=35658727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004212958A Expired - Fee Related JP4680546B2 (ja) 2004-07-21 2004-07-21 実行条件設定支援方法および装置

Country Status (2)

Country Link
US (1) US7634386B2 (ja)
JP (1) JP4680546B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4291306B2 (ja) 2005-07-22 2009-07-08 株式会社日立製作所 数値計算ライブラリのチューニングパラメータ算出プログラム及び方法
KR100804529B1 (ko) * 2006-09-18 2008-02-20 삼성에스디아이 주식회사 유기 발광 디스플레이 장치 및 그의 구동 방법
US9329876B2 (en) * 2009-05-20 2016-05-03 Microsoft Technology Licensing, Llc Resource aware programming
WO2012142069A2 (en) * 2011-04-11 2012-10-18 University Of Florida Research Foundation, Inc. Elastic computing
JP7430553B2 (ja) 2020-03-19 2024-02-13 株式会社キーエンス 光学読取装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3417984B2 (ja) * 1993-09-10 2003-06-16 株式会社日立製作所 キャッシュ競合削減コンパイル方法
US6006033A (en) * 1994-08-15 1999-12-21 International Business Machines Corporation Method and system for reordering the instructions of a computer program to optimize its execution
JP2000276454A (ja) 1999-03-26 2000-10-06 Hitachi Ltd ソフトウェアの構成方法
US6564175B1 (en) * 2000-03-31 2003-05-13 Intel Corporation Apparatus, method and system for determining application runtimes based on histogram or distribution information
US7299318B2 (en) * 2001-12-20 2007-11-20 Sun Microsystems, Inc. Method for reducing cache conflict misses

Also Published As

Publication number Publication date
US7634386B2 (en) 2009-12-15
US20060020934A1 (en) 2006-01-26
JP2006031605A (ja) 2006-02-02

Similar Documents

Publication Publication Date Title
JP4739472B2 (ja) 性能予測装置および方法、記録媒体
US8285836B2 (en) Policy creation support method, policy creation support system, and program therefor
JP6007906B2 (ja) システム性能予測方法、情報処理装置およびその制御プログラム
JP2011222017A (ja) 技術設計最適化における最も影響力のある設計変数の識別方法
KR20060048767A (ko) 표준화된 연료봉 타입 세트 결정 방법 및 장치
US20040030782A1 (en) Method and apparatus for deriving computer system configuration
Ding et al. Kubernetes-oriented microservice placement with dynamic resource allocation
US11416302B2 (en) Computer system and method for determining of resource allocation
JP4680546B2 (ja) 実行条件設定支援方法および装置
US20190101911A1 (en) Optimization of virtual sensing in a multi-device environment
JP2006202274A (ja) 制約問題に対して提案された解を評価するための方法及び装置
JP4208079B2 (ja) データベースサーバ、プログラム、記録媒体、及び制御方法
Mohamed et al. End-to-end latency prediction of microservices workflow on kubernetes: A comparative evaluation of machine learning models and resource metrics
KR20220073464A (ko) 설명 가능한 인공지능 제공 방법
JP4994199B2 (ja) 機械学習装置及び機械学習方法
US7120567B2 (en) Method and apparatus for determining output uncertainty of computer system models
WO2021181605A1 (ja) 機械学習モデル決定システム及び機械学習モデル決定方法
CN114629906A (zh) 一种可靠的基于深度强化学习的云容器集群资源调度方法及装置
EP1989618B1 (en) Software pipelining
Mesman et al. Q-profile: Profiling tool for quantum control stacks applied to the quantum approximate optimization algorithm
CN112330141A (zh) 船舶网络安全评估方法、系统、存储介质及终端
JP2020149230A (ja) 機械学習プログラム、機械学習方法および機械学習システム
US20110185167A1 (en) Change impact research support device and change impact research support method
JP7455769B2 (ja) 情報処理装置、情報処理方法、プログラム、および情報処理システム
US7277825B1 (en) Apparatus and method for analyzing performance of a data processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100817

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees