JP3663968B2 - マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体 - Google Patents

マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP3663968B2
JP3663968B2 JP10603399A JP10603399A JP3663968B2 JP 3663968 B2 JP3663968 B2 JP 3663968B2 JP 10603399 A JP10603399 A JP 10603399A JP 10603399 A JP10603399 A JP 10603399A JP 3663968 B2 JP3663968 B2 JP 3663968B2
Authority
JP
Japan
Prior art keywords
task
calculated
customers
model
program
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
JP10603399A
Other languages
English (en)
Other versions
JP2000298593A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP10603399A priority Critical patent/JP3663968B2/ja
Publication of JP2000298593A publication Critical patent/JP2000298593A/ja
Application granted granted Critical
Publication of JP3663968B2 publication Critical patent/JP3663968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はマルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体に関し、特に並列計算機をプラットホームとするマルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
並列計算機における向上度(並列度(同時に実行状態になるタスクやスレッドの最大数)に対する処理性能の向上を示す指標)の予測手法が1967年に発行されたAFIPS Conference Proceedingsの第483〜485頁に掲載された”Validity of the single−processor approach to achieving largescale computing”と題するG.Amdahlによる論文に掲載されている。この従来の方法においては、シングルタスク環境が想定されており、その仮定のもとに、並列度に対する処理性能の向上度の予測手法が示されている。
【0003】
又、1988年に発行されたCACM Vol.31(5)の第532−533頁に掲載された”Reevaluating Amdahl´s Law”と題するJ.Gustafsonによる論文、1996年に発行された並列処理シンポジウムの第227〜234頁に掲載された「高並列計算機の性能評価のための挙動予測モデルの構成」と題する古市らによる論文にも同様にシングルタスク環境の仮定をおいた向上度の予測手法が示されている。
【0004】
又、マルチタスク環境を想定した場合の予測手法が、1996年に発行されたCommun.ACM 39 (12) のArticle 231 に掲載された”Including Queueing Effects in Amdahl´s Law”と題するR.Nelsonによる論文に掲載されている。この論文ではマルチタスク環境によるタスク(又はスレッド)間のプロセッサ競合を考慮したパラメータを予測式に取り入れている。
【0005】
ところで、マルチプロセッサを搭載したSMP(symmetrical multiprocessor; 対称型マルチプロセッサ)マシンが比較的安価になるに伴い、コンピュータシステムのプラットホーム(platform)に採用されるなど、従来は大規模な科学計算などに用いられていた並列計算機が身近なものになりつつある。
【0006】
システム開発において、並列計算機をプラットホームとして採用する場合に問題となることの1つが、並列計算機において並列度をどの程度に設定するかである。並列度は計算機におけるプロセッサの数と一致することが多く、一般には並列度をあげると性能は向上するが、このことはプロセッサ数の増加に繋がるため、プラットフォームに対するコストは増加してしまう。
【0007】
コストパフォーマンスの高いシステム開発を行うためには、適度な並列度の設定を行うこと、さらには(要求された処理性能を満たす範囲内で)できるだけ並列度を低くするようなシステム設計が可能であることが望ましい。そのためには、システム構成を与えた場合に並列度に対する処理性能の指標(具体的には速度向上率、効率、スループット(throughput;単位時間当たりの処理能力)やレスポンスタイム、資源使用率などを指す。)を予測する必要がある。このような指標を予測する場合、従来は主にシングルタスク環境での利用を想定して行われていた。シングルタスク環境下での速度向上率や効率(これらの指標の定義は上記古市らの論文の第228項参照のこと)の予測手法が上記のようにG.Amdahによる論文をはじめとした論文で示されている。また、マルチタスク環境を想定し、向上度を予測する手法も上記R.Nelsonの論文で示されている。
【0008】
図8は並列計算機をプラットホームとするマルチタスク環境でのコンピュータシステムの一例を示す構成図である。図8を参照して、並列計算機101は複数のプロセッサ、この例では3つのプロセッサ102〜104を有している。一方、実行される複数のタスクとして、この例では4つのタスク105〜108が存在する。このコンピュータシステムでは、複数のプロセッサ102〜104を搭載したコンピュータ(並列計算機)101上で、同時に複数のタスク105〜108の実行が行われるのである。
【0009】
又、この種の技術の一例が特開平9−237203号公報、特開昭62−182864号公報、特開昭59−174957号公報及び特開平10−069469号公報に開示されている。
【0010】
【発明が解決しようとする課題】
第1の問題点は、マルチタスク環境又はマルチスレッド環境における並列計算機の並列度に対する性能の向上度や性能指標を正しく予測できないということである。その理由は、シングルタスク環境を想定して行った予測では、複数のタスクによるプロセッサの競合などのリソース競合を考慮していないので、誤った予測しか行えないためである。また、R.Nelsonの論文において示されている手法では、予測式の根拠となる理論が示されていないためにその精度に疑問があるからである。
【0011】
第2の問題点は、コストにふさわしい並列計算機のスペック、より具体的には並列度やプロセッサの処理速度といったものの決定を勘や経験にたよらざるを得ないということである。その理由は、第1の問題点に示されるように性能指標を適切に予測することができないためである。
【0012】
第3の問題点は、並列計算機上で実行されるプログラムの構造にボトルネック(bottle neck;阻害要因)があってもその箇所の特定ができないことである。その理由は、プログラムではセマフォ(semaphore)やクリティカルセクション(critical section)などを用いた制御が行われており、このことがボトルネックとなることが多々ある。しかしながら、従来の方法では、マルチタスク環境でのこれらプログラムの構造を適切に考慮していないということが理由である。なお、「セマフォ」とは複数のタスクが同時に動く場合にタスク間の同期を取るときに使う信号のことをいい、「クリティカルセクション」とは複数のタスクが同時実行される環境において、あるタスクがクリティカルな(重要な)資源を使用している間は他のタスクにその資源が解放されるまでその資源の使用を待たせること、即ちその待たせる期間のことをいう。
【0013】
第4の問題点は要求性能を満足するために、同時に実行するプログラムの構成やタスク数、スレッド数といったシステム負荷の設定を勘や経験のみで行わなければならないということである。その理由は、従来の方法にはマルチタスク環境又はマルチスレッド環境におけるシステムの性能指標を適切に予測するためのモデルおよびその解析手法が示されていないためである。
【0014】
第5の問題点は、システムにおけるスループット、レスポンスタイム(response time;応答時間)、リソース(resource;資源)の使用率といったより細かい性能指標の予測が不可能であることである。その理由は、従来の方法では解析を容易にするために、算出する指標を速度向上率や効率などの特定されたものに限定してしまっているからである。
【0015】
そこで本発明の目的は、上記課題を解決することが可能なマルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体を提供することにある。
【0016】
【課題を解決するための手段】
前記課題を解決するために本発明によるマルチタスクシステムの性能予測システムは、並列計算機をプラットホームとするマルチタスクシステムの性能予測システムであって、マルチタスク環境でのハードウェアのリソース競合と前記ハードウェアを利用するソフトウェアレベルでのリソース競合とを、リソース競合を階層的にモデル化した待ち行列網モデルにマッピングするモデル化手段と、前記待ち行列網モデルを近似解析し、客をサービスするサーバ数、タスクのトークンの個数、タスク実行中の客数に基づき処理速度を算出する計算式と、全タスクの種類、各タスクがハードウエア資産をどの程度利用するかという情報、ハードウエア資産の数、クリティカルセクションを表すトークンの数、各々のトークンの個数、各タスクを実行する要求(客)の数を用いてスループットを算出する積形式の式とを用いて、前記マルチタスクシステムの性能指標を予測する性能指標予測手段とを含むことを特徴とする。
【0017】
又、本発明による性能予測方法は、並列計算機をプラットホームとするマルチタスクシステムの性能予測方法であって、モデル生成部において、マルチタスク環境でのハードウェアのリソース競合と前記ハードウェアを利用するソフトウェアレベルでのリソース競合とを、リソース競合を階層的にモデル化した待ち行列網モデルにマッピングする第1ステップと、予測実行部において、前記待ち行列網モデルを近似解析し、客をサービスするサーバ数、タスクのトークンの個数、タスク実行中の客数に基づき処理速度を算出する計算式と、全タスクの種類、各タスクがハードウエア資産をどの程度利用するかという情報、ハードウエア資産の数、クリティカルセクションを表すトークンの数、各々のトークンの個数、各タスクを実行する要求(客)の数を用いてスループットを算出する積形式の式とを用いて、前記マルチタスクシステムの性能指標を予測する第2ステップとを含むことを特徴とする。
【0018】
又、本発明による記録媒体は、並列計算機をプラットホームとするマルチタスクシステムの性能予測方法プログラムを記録した記録媒体であって、コンピュータに、モデル生成部において、マルチタスク環境でのハードウェアのリソース競合と前記ハードウェアを利用するソフトウェアレベルでのリソース競合とを、リソース競合を階層的にモデル化した待ち行列網モデルにマッピングする第1ステップと、予測実行部において、前記待ち行列網モデルを近似解析し、客をサービスするサーバ数、タスクのトークンの個数、タスク実行中の客数に基づき処理速度を算出する計算式と、全タスクの種類、各タスクがハードウエア資産をどの程度利用するかという情報、ハードウエア資産の数、クリティカルセクションを表すトークンの数、各々のトークンの個数、各タスクを実行する要求(客)の数を用いてスループットを算出する積形式の式とを用いて、前記マルチタスクシステムの性能指標を予測する第2ステップとを機能させるプログラムを記録したことを特徴とする。
【0019】
本発明によれば、まず第1にマルチタスク環境又はマルチスレッド環境における並列計算機の並列度に対する性能の向上度や性能指標を正しく予測することができる。次に第2にかけられるコストにふさわしい並列度、より具体的にはプロセッサの数の決定を適切に判断することができる。第3にプログラム構造におけるボトルネックを特定することができる。第4に要求性能を満足するために、同時に実行するプログラムの構成やタスク数といったシステムに対する負荷をどのように設定すべきかを適切に判断することができる。第5にシステムにおけるスループット、レスポンスタイム、リソースの使用率といった細かい性能指標の予測が可能となる。
【0020】
【発明の実施の形態】
まず、本発明の概要について説明する。本発明に係るマルチタスクシステムの性能予測システムは、プラットホームとなる並列計算機の並列度、プロセッサの処理速度などのスペックを表すパラメータ、同時に処理されるプログラムの種類やそれらの数、各プログラムにおいてスレッド(thread)化がどのようになされているかを示すパラメータ、各プログラムにおいてセマフォ、クリティカルセクションがどのように採用されているかを示すパラメータなどを入力パラメータとし、これらのパラメータを基に、マルチプロセッサを(プロセッサの数の)複数個のサーバ(server)として捉え、それらのサーバがプロセッサシェアリング(processor sharing)でタスク、又はスレッドを処理するとして、セマフォやクリティカルセクションをトークン(token)を用いて、システムに対する負荷を客としてモデル化するモデル生成部を持つことを特徴としている。
【0021】
このモデル生成部により生成されるモデルには、待ち行列理論の適用が可能であるため、陽に処理性能の向上度や性能指標を予測する式が求められ、この式から予測値が容易に求められるという効果が得られる。さらに、解析手段として待ち行列理論を用いることにより、必要な入力パラメータを大幅に削減できることを特徴としている。入力パラメータとして、システムの動作などの細かいデータが不必要となり、予測のための準備が容易になるという効果が得られる。
【0022】
又、解析手段としては、待ち行列理論の代わりにシミュレーションを用いてもよく、この場合は数値的に処理性能の向上度や性能指標を予測することができる。又、モデル化においては、プラットフォームのリソースをさらに細かくモデル化してもよい。この場合は待ち行列理論を用いても陽な式としては処理性能の向上度や性能指標を予測することは一般にはできないが、近似計算法やシミュレーションを用いることにより精度よく数値的に予測することが可能である。
【0023】
以下、本発明の実施の形態について添付図面を参照しながら説明する。図1は本発明に係るマルチタスクシステムの性能予測システムの第1の実施の形態の構成図である。図1を参照して、性能予測システムは、プラットホームとなる並列計算機の並列度やプロセッサの処理速度などのスペック、及び同時に処理されるプログラムの種類やそれらの数、各プログラムにおいてスレッド化がどのようになされているかやセマフォ、クリティカルセクションがどのように採用されているかを示すデータが入力されるシステムデータ入力部11と、システムデータ入力部11からの情報を入力としモデルを生成するモデル生成部12と、生成されたモデルから向上度やより細かい性能指標であるスループット、レスポンス、リソース使用率などの性能指標予測値を算出する予測実行部13と、予測実行部13から出力された値を可視的に表現する予測結果出力部14とを含んで構成されている。
【0024】
図2は性能予測システムの動作の手順を示すフローチャートである。次に、この図2を参照しながら性能予測システムの動作について説明する。まず、プラットフォームとなる並列計算機のスペックがシステムデータ入力部11へ入力される(S1)。ここでのスペックとは並列計算機の並列度などをいう。次に、システムデータ入力部11へプログラムに関するデータが入力される(S2)。そのプログラムに関するデータとは、(1)同時に実行されるプログラムの種類およびそれらの数を示すデータ、(2)各プログラムがどのようなタスク、スレッドで構成されているかを示すデータ、(3)各プログラムがセマフォやクリティカルセクションをどのように用いているかを示すデータ、(4)各タスク、スレッドのプラットフォーム上のリソースの平均使用頻度や平均使用時間を示すデータである。これらの入力されたデータを基にモデル生成部12によりモデルが生成される(S3)。
【0025】
図1におけるモデル生成部12では、(1)プログラムのセマフォやクリティカルセクションなどの構造がトークンを用いてモデル化され、(2)実行状態にあるプログラムおよびスレッドが(待ち行列モデルでいうところの)客としてモデル化され、(3)並列計算機が、プロセッサシェアリングによりサービスを行う、並列度と等しい数の(待ち行列モデルでいうところの)サーバとしてモデル化され、これにより待ち行列網モデルが生成される。
【0026】
この待ち行列網モデルが予測実行部13により解析される(S4)。このモデルの状態の変化は各タスク又はスレッドの処理速度が分かれば追うことができるということが待ち行列理論において知られている。この処理速度は、上記のようなシンプルなモデル化をしたことにより、算出することが可能である。予測実行部13では、これらの処理速度を算出した後、これらを用いてモデルの状態の定常分布、モデルのスループット、レスポンスタイムなどの性能予測値を待ち行列理論を用いて算出する。そして、この算出値を予測結果出力部14が受け取り、数値のみならず指定されればグラフなども用いてユーザに理解しやすい形式にして掲示する(S5)。
【0027】
例えば次のようなシステムを例として取り上げてみる。図3はプログラムの実行タイミングの一例を示すタイミングチャートである。同時に実行されるプログラムは1種類でその数は常時K(Kは2以上の整数)個であるとする。又、図3に示されるように各プログラムは、タスク1とタスク2とから構成され、この2つのタスク1,2の実行を繰り返すものとする。又、タスクi(iは1又は2とする)はh(i)個のセマフォで制御されている。つまり、同時にタスクiを実行できるプログラムはシステム全体でh(i)個である。又、並列計算機の並列度に関わらず、タスク1の処理は平均1/μ(1)秒/回だけプロセッサを使用し、タスク2の処理は1/μ(2)秒/回だけプロセッサを使用するとする。又、並列度はnとする。
【0028】
このようなシステムは、図4の待ち行列網モデルの模式説明図に示されるように、(1)K人の客21が網内を循環し、(2)客21は種類i(iは1又は2)のトークンを確保したのちにタスクiの処理をサービスステーション22で受け、処理を終了するとトークンを解放し、(3)トークンの割り当てはFIFO(先着先出し)の規律で行われ、(4)客21はタスク1とタスク2を交互に行い、(5)種類iのトークンはh(i)個あり、(6)サービスステーション22はプロセッサシェアリングで客21をサービスするn(nは正の整数)個のサーバ23で構成される、という待ち行列網モデルとしてモデル生成部12においてモデル化される。
【0029】
さらに具体的に説明すると、「K人の客21」とはプログラム1〜Kの各々をいい、客21は種類1のトークンを獲得した後に行う処理1と、種類2のトークンを獲得した後に行う処理2の2種類の処理を交互に繰り返す。ただし、各種類のトークンの数には制限があるため、トークンを獲得できるまで客21はバッファ24に並んで空きができるまで待つ。そして、トークンを獲得した客21はサービスステーション22に進み、n個のサーバ23からプロセッサシェアリングの規律でサービスを受ける。そして、サービスステーション22にて処理1を終了した客21は種類2のトークンを獲得するために移動し、処理2を終了した客21は種類1のトークンを獲得するために移動する。
【0030】
この待ち行列網モデルを予測実行部13において解析する。タスクiを実行中の客数をX(i)で表現するならば、モデルの状態は
X=(X(1),X(2)) …(1)
により表現することができる。この状態Xの変化の速度は(この状態Xに依存する)タスクiの処理速度として求めることができる。L(i)=min(h(i),X(i))と表すと、この例の場合、状態Xの時の各タスクの処理速度は、
処理1の処理速度τ(1| X)=n*μ(1)L(1)/max(n,L(1)+L(2)) …(2)
処理2の処理速度τ(2| X)=n*μ(2)L(2)/max(n,L(1)+L(2)) …(3)
と求めることができる。モデルの状態変化の速度を算出できれば状態Xとなる定常分布、モデルのスループット、レスポンスタイムを算出することは待ち行列理論を用いれば容易なことである。例えばこの例におけるスループットλは、
【0031】
【数1】
Figure 0003663968
【0032】
のように陽に算出することができる。速度向上率、効率、レスポンス、リソースの使用率などの他の性能指標も待ち行列理論を適用することで陽に予測することができる。予測実行部13はモデルの性能指標の計算結果を予測値として出力する。そして、この出力を予測結果出力部14が受け取り、数値をグラフなども用いてユーザに理解しやすい形式にして掲示する。
【0033】
次に第1の実施の形態の効果について説明する。本発明は、マルチタスク環境又はマルチスレッド環境における実際のシステムを適切にかつシンプルに理論解析が可能な待ち行列網モデルとしてモデル化しているために、マルチタスク環境又はマルチスレッド環境における並列計算機システムの性能指標を容易にかつ精度よく予測できる。又、適切なモデル化により、従来の手法に比べ様々な指標を予測することができる。
【0034】
なお、上記実施の形態では、先に触れたように、予測実行部13における解析手段として、待ち行列理論のかわりにシミュレーションを用いてもよい。又、モデル化においては、プラットフォームのリソースをさらに細かく待ち行列でいうサーバとしてモデル化してもよい。この場合は待ち行列理論を用いても陽な式としては処理性能の向上度や性能予測指標を求めることはできないが、近似計算法やシミュレーションを用いることにより同様に精度よく数値的に算出することが可能である。
【0035】
プラットホームのリソースをさらに細かくモデル化した例を挙げることにする。図5はプラットホームのリソースをさらに細かくした待ち行列網モデルの模式説明図である。なお、図4の模式説明図と同様の構成部分には同一番号を付し、その説明を省略する。予測の対象となるシステムは上記と同様であるが、プラットホームとなる並列計算機のリソースとしてハードディスク32,34が夫々存在し、これらのリソースのタスク、スレッドによる競合も考慮に入れて性能指標の予測を行う。
【0036】
タスク1はハードディスク32を利用し、タスク2はハードディスク34を利用するとする。この場合は、図5に示されるように、図4で示された待ち行列網モデルにハードディスク32に相当するサービスステーション31とハードディスク34に相当するサービスステーション33を加えた形で待ち行列網モデルとしてモデル化すればよい。ここでは、サービスステーション31とサービスステーション33はともに1つのサーバーと1つのバッファで構成されており、サービス規律をFIFOとしているが、リソースのモデル化はその特性を反映した形で適切に行う必要がある。又、予測のための解析手法は上記と同様である。
【0037】
次に、第2の実施の形態について説明する。その基本的構成は第1の実施の形態と同様であるが、システムにおいて適切なプラットホームのスペックを特定するために、プラットホームのスペック(具体的には並列度など)を予測を行いたい範囲のパラメータとしてシステムデータ入力部11に与える。モデル生成部12は、プラットホームのスペックをパラメータにした形でモデル化を行う。予測実行部13は、与えられた範囲でパラメータを変化させ、第1の実施の形態と同じ方法で予測値を算出する。予測結果出力部14はその計算結果を受取り、パラメータに対する予測値をユーザに理解しやすい形式にし表示を行う。ユーザはこの結果から、どのパラメータが適切であるかを判断する。つまり、適切なプラットホームとなる並列計算機のスペックを判断する。
【0038】
例えば、先の第1の実施の形態で用いたシステムに対して並列度nを1から16の範囲とした場合のスループットを予測し、適切な並列度を算出することを考える。ユーザは第1の形態における実施例と同様の手順でモデルを生成するが、並列度は1からnのパラメータであると指定した入力をシステムデータ入力部11に対して行う。モデル生成部12は、並列度を1からnまでのパラメータとしてモデルを生成し、それらのモデルを予測実行部13においてパラメータの値を変えながら性能指標の予測値を算出する。そしてユーザに理解しやすい形にし、表示を行うが、この場合、並列度nに対するスループットを数値だけではなく、図6に示すようなグラフにして表示するとよい。図6を参照して、要求性能が秒当り4件だとするならば、並列度は5以上でなければならないことがわかる。
【0039】
次に第2の実施の形態の効果について説明する。本発明はプラットホームのスペックをパラメータとし、そのパラメータに対する予測値を見ることができる。このため、システムが要求されている性能仕様を満たすために必要なプラットホームのスペックを決定するために必要な客観的なデータ(性能指標)を予測値として得ることができる。
【0040】
次に、第3の実施の形態について説明する。その基本的構成は第1の実施の形態と同様であるが、プログラムにおけるセマフォやクリティカルセクションの数や構成、各タスク,スレッドのプラットホーム上のリソースの平均使用時間、平均利用頻度などといったプログラム構造に関するデータを予測を行いたい範囲のパラメータとしてシステムデータ入力部11に与える。
【0041】
モデル生成部12は、プログラムデータをパラメータにした形でモデル化を行う。予測実行部13は、与えられた範囲でパラメータを変化させ、第1の実施の形態と同じ方法で予測値を算出する。予測結果出力部14はその計算結果を受け取り、パラメータに対する予測値をユーザに理解しやすい形式にし表示を行う。ユーザはこの結果から、どのパラメータが適切であるかを判断する。つまり、適切なプログラム構造を判断する。
【0042】
例えば、先の第1の実施の形態で用いたシステムに対してタスク1のセマフォの数を1(h(1)=1)とし、タスク2のセマフォの数h(2)をパラメータとし、1〜hまで変化させた場合のスループットを予測し、適切セマフォの数を算出することを考える。ユーザは第1の形態における実施例と同様の手順でモデルを生成するが、セマフォの数h(2)は1からhのパラメータであると指定した入力をシステムデータ入力部11に対して行う。モデル生成部12は、セマフォの数h(2)を1からhまでのパラメータとしてモデルを生成し、それらのモデルを予測実行部13がパラメータの値を変えながら性能予測値を算出する。そして予測結果出力部14においてユーザに理解しやすい形にし表示を行う。この場合もh(2)に対するスループットを数値だけではなく、グラフデータなども表示するとよい。
【0043】
次に第3の実施の形態の効果を示す。本発明はプログラムにおけるセマフォの数などプログラム構造に関するデータをパラメータとし、そのパラメータに対する予測値を見ることができる。このため、システムが要求されている性能仕様を満たすためにはプログラム構造をどのようにすればよいか判断するために必要な客観的なデータを得ることができる。
【0044】
次に、第4の実施の形態について説明する。その基本的構成は第1の実施の形態と同様であるが、同時に実行されるプログラム又はタスクの数、スレッドの数などのシステムの負荷に関するデータを予測を行いたい範囲のパラメータとしてシステムデータ入力部11に与える。モデル生成部12は、このようなシステムの負荷をパラメータにした形でモデル化を行う。予測実行部13は、与えられた範囲でパラメータを変化させ、第1の実施の形態と同じ方法で予測値を算出する。予測結果出力部14はその計算結果を受け取り、パラメータに対する予測値をユーザに理解しやすい形式にし表示を行う。ユーザはこの結果から、どのパラメータが適切であるかを判断する。つまり、適切な負荷を判断する。
【0045】
例えば、先の第1の実施の形態で用いたシステムに対してプログラムの数を1〜Kまで変化させた場合のスループットを予測し、適切な同時に実行するプログラムの数を算出することを考える。ユーザは第1の形態における実施例と同様の手順でモデルを生成するが、プログラムの数を1からKのパラメータであると指定した入力をシステムデータ入力部11に対して行う。モデル生成部12は、プログラムの数kを1からKまでのパラメータとしてモデルを生成し、それらのモデルを予測実行部13がパラメータの値を変えながら性能予測値を算出する。そして予測結果出力部14はその計算結果を受け取り、ユーザに理解しやすい形にし表示を行う。
【0046】
次に、第4の実施の形態の効果を示す。本発明はプログラムにおけるプログラムの数などシステムにおける負荷をパラメータとし、そのパラメータに対する予測値を見ることができる。このため、システムが要求されている性能仕様を満たすためにはシステムにおける負荷をどのようにすればよいか判断するために必要な客観的なデータを得ることができる。
【0047】
次に、第5の実施の形態について説明する。第5の実施の形態は性能予測方法プログラムを記録した記録媒体に関するものである。図7は記録媒体及び記録媒体駆動装置の構成図である。図7を参照して、記録媒体駆動装置はCPU(中央処理装置)41と、入力部42と、記憶部43と、性能予測システム44とを含んで構成され、この駆動装置で記録媒体45を駆動する。
【0048】
性能予測システム44は図1に示されるシステムデータ入力部11、モデル生成部12、予測実行部13及び予測結果出力部14から構成されている。又、記録媒体45には図2のフローチャートで示される性能予測方法プログラムが予め記憶されている。
【0049】
次に、この駆動装置の動作について説明する。まず、入力部42を介してCPU41に性能予測方法プログラムのロード(LOAD)命令が入力されると、CPU41は記録媒体45から性能予測方法プログラムを読込み、その読込んだプログラムを記憶部43に書込む。次に、入力部42を介してCPU41に性能予測方法プログラムのラン(RUN)命令が入力されると、CPU41は記憶部43から性能予測方法プログラムを読込み、その読込んだプログラムにより性能予測システム44を制御する。その制御の内容については前述したので説明を省略する。
【0050】
【発明の効果】
本発明による第1の発明によれば、並列計算機をプラットホームとするマルチタスクシステムの性能予測システムであって、そのシステムはマルチタスク環境でのリソースの競合を待ち行列網モデルを用いてモデル化するモデル化手段と、そのモデル化されたリソースの競合を待ち行列理論を用いて解析し前記マルチタスクシステムの性能指標を予測する性能指標予測手段とを含むため、まず第1にマルチタスク環境またはマルチスレッド環境における並列計算機の並列度に対する性能の向上度や性能指標を正しく予測することができる。次に第2にかけられるコストにふさわしい並列度、より具体的にはプロセッサの数の決定を適切に判断することができる。第3にプログラム構造におけるボトルネックを特定することができる。第4に要求性能を満足するために、同時に実行するプログラムの構成やタスク数といったシステムに対する負荷をどのように設定すべきかを適切に判断することができる。第5にシステムにおけるスループット、レスポンスタイム、リソースの使用率といった細かい性能指標の予測が可能となる。
【0051】
又、本発明による第2の発明によれば、並列計算機をプラットホームとするマルチタスクシステムの性能予測方法であって、その方法はマルチタスク環境でのリソースの競合を待ち行列網モデルを用いてモデル化する第1ステップと、そのモデル化されたリソースの競合を待ち行列理論を用いて解析し前記マルチタスクシステムの性能指標を予測する第2ステップとを含むため第1の発明と同様の効果を奏する。
【0052】
又、本発明による第3の発明によれば、並列計算機をプラットホームとするマルチタスクシステムの性能予測方法プログラムを記録した記録媒体であって、その記録媒体にはマルチタスク環境でのリソースの競合を待ち行列網モデルを用いてモデル化する第1ステップと、そのモデル化されたリソースの競合を待ち行列理論を用いて解析し前記マルチタスクシステムの性能指標を予測する第2ステップとを含むプログラムが記録されているため第1の発明と同様の効果を奏する。
【図面の簡単な説明】
【図1】本発明に係るマルチタスクシステムの性能予測システムの第1の実施の形態の構成図である。
【図2】性能予測システムの動作の手順を示すフローチャートである。
【図3】プログラムの実行タイミングの一例を示すタイミングチャートである。
【図4】待ち行列網モデルの模式説明図である。
【図5】プラットホームのリソースをさらに細かくした待ち行列網モデルの模式説明図である。
【図6】スループット対並列度特性図である。
【図7】記録媒体及び記録媒体駆動装置の構成図である。
【図8】並列計算機をプラットホームとするマルチタスク環境でのコンピュータシステムの一例を示す構成図である。
【符号の説明】
11 システムデータ入力部
12 モデル生成部
13 予測実行部
14 予測結果出力部
45 記録媒体

Claims (3)

  1. 並列計算機をプラットホームとするマルチタスクシステムの性能予測システムであって、
    マルチタスク環境でのハードウェアのリソース競合と前記ハードウェアを利用するソフトウェアレベルでのリソース競合とを、プログラムのセマフォ若しくはクリティカルセクションの構造は待ち行列モデルにおけるトークンとして、実行状態にあるプログラムおよびスレッドは待ち行列モデルにおける客として、並列計算機は待ち行列モデルにおけるプロセッサシェアリングによるサーバとして、前記サーバ数は並列計算機の並列度として、待ち行列網モデルへのマッピングを行うモデル化手段と、
    タスクを実行中の客数の状態に依存して決まるタスクの単位時間あたりの処理量を、全サーバが全て該タスクを処理すると仮定した場合の単位時間あたりの処理量に、該タスクが確保しているトークンの数を全タスクが確保しているトークンの数とサーバ数の大きい方の値で除した値を、掛けたものとして全てのタスクを実行中の客数の状態に対して算出し、
    異なるタスク間での前記タスクの単位時間あたりの処理量の比を客数の状態毎に算出し、
    前記算出された比の積形式として定義される前記待ち行列網モデルの近似解析式に前記算出された比を代入することで客数の状態の確率分布を算出し、前記算出した客数の状態の確率分布により、前記マルチタスクシステムの性能指標を予測する性能指標予測手段
    とを含むことを特徴とするマルチタスクシステムの性能予測システム。
  2. 並列計算機をプラットホームとするマルチタスクシステムの性能予測システムを用いるマルチタスクシステムの性能予測方法であって、
    前記マルチタスクシステムの性能予測システムに、マルチタスク環境でのハードウェアのリソース競合と前記ハードウェアを利用するソフトウェアレベルでのリソース競合とを、プログラムのセマフォ若しくはクリティカルセクションの構造は待ち行列モデルにおけるトークンとして、実行状態にあるプログラムおよびスレッドは待ち行列モデルにおける客として、並列計算機は待ち行列モデルにおけるプロセッサシェアリングによるサーバとして、前記サーバ数は並列計算機の並列度として、待ち行列網モデルへのマッピングをモデル化手段に行わせる第一ステップと、
    タスクを実行中の客数の状態に依存して決まるタスクの単位時間あたりの処理量を、全サーバが全て該タスクを処理すると仮定した場合の単位時間あたりの処理量に、該タスクが確保しているトークンの数を全タスクが確保しているトークンの数とサーバ数の大きい方の値で除した値を、掛けたものとして全てのタスクを実行中の客数の状態に対して算出させ、異なるタスク間での前記タスクの単位時間あたりの処理量の比を客数の状態毎に算出させ、前記算出された比の積形式として定義される前記待ち行列網モデルの近似解析式に前記算出された比を代入させることで客数の状態の確率分布を算出させ、前記算出した客数の状態の確率分布により、前記マルチタスクシステムの性能指標の予測を性能指標予測手段に行わせる第二ステップ、
    とを含むことを特徴とするマルチタスクシステムの性能予測方法。
  3. 並列計算機をプラットホームとするマルチタスクシステムの性能予測方法プログラムを記録した記録媒体であって、
    コンピュータに、モデル生成部において、マルチタスク環境でのハードウェアのリソース競合と前記ハードウェアを利用するソフトウェアレベルでのリソース競合とを、プログラムのセマフォ若しくはクリティカルセクションの構造は待ち行列モデルにおけるトークンとして、実行状態にあるプログラムおよびスレッドは待ち行列モデルにおける客として、並列計算機は待ち行列モデルにおけるプロセッサシェアリングによるサーバとして、前記サーバ数は並列計算機の並列度とするモデルとして、待ち行列網モデルへのマッピングを行わせる第一ステップと、
    タスクを実行中の客数の状態に依存して決まるタスクの単位時間あたりの処理量を、全サーバが全て該タスクを処理すると仮定した場合の単位時間あたりの処理量に、該タスクが確保しているトークンの数を全タスクが確保しているトークンの数とサーバ数の大きい方の値で除した値を、掛けたものとして全てのタスクを実行中の客数の状態に対して算出させ、異なるタスク間での前記タスクの単位時間あたりの処理量の比を客数の状態毎に算出させ、前記算出された比の積形式として定義される前記待ち行列網モデルの近似解析式に前記算出された比を代入させることで客数の状態の確率分布を算出させ、前記算出させた客数の状態の確率分布により、前記マルチタスクシステムの性能指標を予測させる第二ステップを含むプログラムを記録した記録媒体。
JP10603399A 1999-04-14 1999-04-14 マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体 Expired - Fee Related JP3663968B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10603399A JP3663968B2 (ja) 1999-04-14 1999-04-14 マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10603399A JP3663968B2 (ja) 1999-04-14 1999-04-14 マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000298593A JP2000298593A (ja) 2000-10-24
JP3663968B2 true JP3663968B2 (ja) 2005-06-22

Family

ID=14423337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10603399A Expired - Fee Related JP3663968B2 (ja) 1999-04-14 1999-04-14 マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3663968B2 (ja)

Families Citing this family (11)

* 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 並列効率計算方法
WO2006046297A1 (ja) * 2004-10-28 2006-05-04 Fujitsu Limited 分析方法及び装置
JP5036595B2 (ja) * 2008-02-28 2012-09-26 三菱電機株式会社 性能評価装置、性能評価プログラム及び性能評価方法
JP2010009160A (ja) 2008-06-25 2010-01-14 Nec Corp 性能値算出装置
US9323319B2 (en) 2011-06-29 2016-04-26 Nec Corporation Multiprocessor system and method of saving energy therein
KR101553923B1 (ko) 2012-09-24 2015-09-18 삼성에스디에스 주식회사 시스템 사용량 분석 장치 및 방법
IN2013MU03699A (ja) * 2013-11-25 2015-07-31 Tata Consultancy Services Ltd
JP5946068B2 (ja) 2013-12-17 2016-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 演算コア上で複数の演算処理単位が稼働可能なコンピュータ・システムにおける応答性能を評価する計算方法、計算装置、コンピュータ・システムおよびプログラム
CN109840597B (zh) * 2017-11-28 2023-04-07 珠海市君天电子科技有限公司 一种模型预测方法、装置、电子设备及存储介质
CN111352085B (zh) * 2020-04-29 2023-06-27 北京国鼎源创智能科技有限公司 脉冲多普勒雷达信号处理性能及计算资源使用判定系统
JP7012905B1 (ja) * 2020-12-28 2022-01-28 三菱電機株式会社 スケジュール生成装置、スケジュール生成方法及びスケジュール生成プログラム

Also Published As

Publication number Publication date
JP2000298593A (ja) 2000-10-24

Similar Documents

Publication Publication Date Title
US8788986B2 (en) System and method for capacity planning for systems with multithreaded multicore multiprocessor resources
Schwetman CSIM: A C-based process-oriented simulation language
Polo et al. Deadline-based MapReduce workload management
US20090055823A1 (en) System and method for capacity planning for systems with multithreaded multicore multiprocessor resources
JP5874811B2 (ja) 情報処理方法、プログラム、および情報処理装置
US20130339974A1 (en) Finding resource bottlenecks with low-frequency sampled data
JP3663968B2 (ja) マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体
WO2010092483A1 (en) Devices and methods for optimizing data-parallel processing in multi-core computing systems
JP2006285350A (ja) Smtプロセッサ用課金処理装置,課金処理方法,および課金処理プログラム
US20200073677A1 (en) Hybrid computing device selection analysis
US20120089724A1 (en) Diagnosis of application server performance problems via thread level pattern analysis
Rolia Predicting the performance of software systems.
Chen et al. Machine learning for load balancing in the linux kernel
Uddin One-IPC high-level simulation of microthreaded many-core architectures
JPH1196130A (ja) マルチプロセッシングシステムの性能評価方法および装置並びにマルチプロセッシングシステムの性能評価プログラムを格納した記憶媒体
Rehm et al. Performance modeling of heterogeneous HW platforms
Zhang et al. Performance modeling and optimization of deadline-driven pig programs
KR20210013707A (ko) 메타데이터를 사용하여 신경망에서 기회주의적 로드 밸런싱을 위한 방법 및 시스템
Chéramy et al. Simulation of real-time multiprocessor scheduling with overheads
Bobrek et al. Stochastic contention level simulation for single-chip heterogeneous multiprocessors
Buzen et al. Best/1-design of a tool for computer system capacity planning
US20230109752A1 (en) Deterministic replay of a multi-threaded trace on a multi-threaded processor
Yi et al. Harnessing parallelism in multicore clusters with the all-pairs and wavefront abstractions
JP2004192052A (ja) ソフトウェア処理方法およびソフトウェア処理システム
Dasari et al. WCET analysis considering contention on memory bus in COTS-based multicores

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040909

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040909

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050131

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: 20050308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050321

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080408

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090408

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100408

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees