JP2001527235A - 並列処理システムの機能を解析する方法 - Google Patents

並列処理システムの機能を解析する方法

Info

Publication number
JP2001527235A
JP2001527235A JP2000525812A JP2000525812A JP2001527235A JP 2001527235 A JP2001527235 A JP 2001527235A JP 2000525812 A JP2000525812 A JP 2000525812A JP 2000525812 A JP2000525812 A JP 2000525812A JP 2001527235 A JP2001527235 A JP 2001527235A
Authority
JP
Japan
Prior art keywords
values
performance
application
input
graph
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.)
Granted
Application number
JP2000525812A
Other languages
English (en)
Other versions
JP2001527235A5 (ja
JP4269066B2 (ja
Inventor
イズマン、マーシャル、エー.
Original Assignee
エービー イニティオ ソフトウェア コーポレーション
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 エービー イニティオ ソフトウェア コーポレーション filed Critical エービー イニティオ ソフトウェア コーポレーション
Publication of JP2001527235A publication Critical patent/JP2001527235A/ja
Publication of JP2001527235A5 publication Critical patent/JP2001527235A5/ja
Application granted granted Critical
Publication of JP4269066B2 publication Critical patent/JP4269066B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

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

Abstract

(57)【要約】 アプリケーション(200)および並列処理システム(202)の性能および能力を解析する方法。アプリケーション(200)および並列処理システム(202)のグラフ表現(204)と、入力された値(206)とに基づいて、グラフ(204)および入力された値(206)を記述するデータ・ファイル(210)が作成される。アプリケーション(200)および並列処理システム(202)の性能をモデル化する性能式(214)が、このデータ・ファイル(210)を使用して生成される。モデルが表示され、解析、評価、および外挿できるようにユーザによって変更される。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、コンピュータ・システムの解析に関し、特に、並列処理システムに
よるアプリケーション・プログラムの実行の解析に関する。
【0002】 (発明の背景) 近年、コンピュータ・プロセッサおよびデータ記憶装置の能力の向上につれ、
処理されるデータ・セットのサイズも大幅に大きくなっている。このような急速
な進歩にもかかわらず、システムの性能および能力がプロセッサの処理速度によ
って制限されることが少なくない。
【0003】 このような制限に対する1つのソリューションとして、処理タスクをいくつか
に分割し、分割したタスクを複数のプロセッサで同時に実行することである。こ
の手法は、各プロセッサの負担を軽減し、互いに独立したタスクを同時に、すな
わち並列に実行することを可能にする。このように構成されたシステムは、複数
のプロセッサが並列に動作するシステムであり、並列処理システムと呼ばれる。
この場合、並列処理システムには、複数の中央演算処理装置(CPU)を使用する ローカル・コンピュータ・システム(たとえば、SMPコンピュータやMPPコンピュ
ータなどのマルチプロセッサ・システム)、または局所的に分散されたコンピュ
ータ・システム(たとえば、LANネットワークまたはWANネットワークを介して結
合された複数のプロセッサ)、あるいはそれらの組合せの任意の構成が含まれる
【0004】 並列処理によって、アプリケーションは同一のタスク全体をより高速に実行す
ることができる。あるいは、並列処理システム上で実行されるアプリケーション
は、単一プロセッサ・システム上で実行されるアプリケーションよりも、同じ時
間でより多くのデータを処理することができる。並列処理によって性能および能
力がこのように向上するので、使用中の並列処理システムまたは提案された並列
処理システム上でアプリケーションを実行する際このような特性、または特定の
並列処理システム上で実行されるアプリケーションの性能に対するデータ量の変
動の影響を評価する必要がある。
【0005】 システム上で実行されるアプリケーションの性能の解析を支援するために、ア
プリケーションおよびシステムの構成要素、ならびにこれらの構成要素の、入力
されたデータ・セットとの相互作用を表すモデルが使用される。一般的に、コン
ピュータ・システム内のデータ・フローの性質はほぼ線形であるので、このよう
なシステムを記述するためにグラフが使用されている。グラフ内の頂点はデータ
・ファイルまたはプロセスを表し、グラフ内のリンクすなわち「エッジ」は、1
つの処理段で生成されたデータが別の処理段で使用されることを示す。
【0006】 同じ種類のグラフ表現を使用して並列処理システム上で実行されるアプリケー
ションを記述することができる。この場合も、グラフはデータ、プロセス、およ
びエッジすなわちリンクで構成される。この場合、グラフ表現は、各処理ステッ
プ間のデータフローだけでなく、1つの処理ノードから別の処理ノードへのデー
タフローも表す。さらに、グラフの要素(たとえば、ファイル、プロセス、エッ
ジ)を複製することによって、システムの並列度を表すことが可能である。
【0007】 図1は、3つのプロセッサを有する並列処理システム上のアプリケーションを
記述したグラフである。このアプリケーションは、主として2つのタスク、すな
わち変換およびソートを実行する。最初、データは頂点INPUT PARTITIONで表さ れる3つの部分に分割される。各部分は、3つのリンク10、11、および12
で表わされる3つの異なるプロセッサのうちの1つに送られる。3つのプロセッ
サはそれぞれ、対応するデータ部分に対する1つ以上のタスクを実行する。タス
クのこの割当ては、3組の頂点、TRANSFORM1およびSORT1、TRANSFORM2およびSOR
T2、ならびにTRANSFORM3およびSORT3で表される。すなわち、第1のプロセッサ は変換を実行し、次に、このプロセッサのデータ部分をソートする(TRANSFORM1
およびSORT1)。他のプロセッサについても同様である。最後に、データは集計 され、頂点OUTPUT AGGREGATIONで表される集合体として出力される。
【0008】 しかし、並列処理システム上で実行されるアプリケーションの性能を予測しモ
デル化することは非常に困難である。単一プロセッサ・システムの場合と同様に
、このような予測は、処理しなければならないデータの量と、その処理に必要な
リソースとに依存する。しかし、CPU処理速度および要件、データ・セット・サ イズ、メモリ利用度、およびディスク使用状況に関する情報だけでなく、プロセ
ッサとネットワーク性能との間の有効通信速度に関する情報も必要である。複数
のプロセッサが、場合によっては異なる速度で様々な量のデータに対して並列に
動作し、様々な速度のチャネルまたはリンクによって相互接続されているので、
計算がかなり複雑になる可能性がある。
【0009】 たとえば、処理すべきデータベースのサイズに基づいて多数の並列システムが
購入される。この後で任意の経験則が適用され、プロセッサとギガバイト単位の
ディスク記憶容量との比に基づいて必要なプロセッサの数が算出されるのが普通
である。このように過度の単純化を行うと、実際の計算に基づいて必要となる処
理量またはネットワークの帯域幅のバランスがかなり狂ったシステムになること
が少なくない。
【0010】 したがって、本発明者は、並列処理システム上で実行されるアプリケーション
の性能を解析できることが望ましいと判断した。並列処理システムのアーキテク
チャの仮定されるデータ・セット・サイズおよび変動に基づいてこのような性能
を推定できることも望ましい。本発明はこのような機能を提供する。
【0011】 (発明の概要) 本発明は、並列処理システム上でアプリケーションまたは1組のアプリケーシ
ョンを実行するのに必要なリソースを効果的に評価し、判断し、検証することの
できる方法を提供する。好ましい実施例は、並列処理システム上で実行されるア
プリケーションを記述するグラフからデータ・ファイルを生成する。このデータ
・ファイルと、システム構成要素の処理速度、データフロー、システム全体のデ
ータ・レコードのサイズおよび総数を使用して、各構成要素に必要な時間を算出
する数式が決定される。
【0012】 次に、供給されたデータ・セットの処理時間を算出するためこられの数式が使
用される。この情報は、スプレッドシート形式で表示することが好ましい。複数
のデータ・セットに要する時間を算出することでチャートを作成することができ
る。履歴データを解析することによって将来の傾向を予測することができ、この
ような解析結果もスプレッドシートまたはチャートに表示することができる。
【0013】 実際のシステムを評価する場合、アプリケーションの実行が監視されたときに
処理速度など構成要素に関する情報が更新される。これによって、現在のシステ
ムを測定すると共に性能を検証することができる。
【0014】 本発明の好ましい実施形態の詳細は、添付図面および以下の説明に記載されて
いる。本発明の詳細が分かれば、当業者には他の多数の変形および変更が明らか
になろう。
【0015】 (発明の詳細な説明) この発明の詳細な説明全体にわたり、示される好適な実施例および例は、本発
明に対する制限ではなく代表的な例とみなすべきである。
【0016】 (概要) 本発明は、1996年7月2日に出願され、本発明の譲渡人に譲渡された、「Exec
uting Computations Expressed as Graphs」の同時係属米国特許出願第08/67841
1号に記載されている発明に基づく発明である。本発明は、好適な2つの実施例 を包含する。第1の実施例は、グラフ・コンパイル・モジュールによって生成さ
れるフラット・ファイルに基づいて「スナップショット解析」を行う。この実施
例により、ユーザは、入力値を変更することによって各種並列処理システム上で
実行されるアプリケーションの性能および能力を評価することができる。異なる
入力値およびその結果として得られる計算値は、Microsoft ExcelTMなどのスプ レッドシート・フォーマットで表示することが好ましい。第2の実施例は、第1
の実施例を数組の値に適用した場合に生成されるのと同じ数式に基づいて「経時
的な解析」を行う。数組の値は、現在の情報、過去の記録情報、現在の測定情報
、または過去の値を解析し、次に外挿して将来を予測する推定値が得られる。こ
の実施例によって、ユーザは、過去の傾向または将来の傾向を調べることができ
る。この情報は、ユーザが定義できる軸を有するチャート・フォーマットで表示
することが好ましい。
【0017】 現在使用されているアプリケーションおよびシステムの利点および欠点を解析
し、ボトルネックを発見するためにこのような実施例を使用ことができる。この
ような実施例によって構築されたモデルは、処理する必要のあるデータ量の変化
の、性能に対する影響も示す。あるいは、モデル内の処理構成要素およびリンケ
ージ構成要素を変更することによって、各種並列処理システム構成を比較するこ
とができる。したがって、将来におけるリソース要件および性能特性に関する予
測を行うことができる。
【0018】 本発明の使用例では、データベース・プロジェクト用のシステムが購入される
。ユーザが、使用すべきアプリケーションと、解析されるデータベース(たとえ
ば、社員データベース)のサイズとを知っている場合、各種ハードウェア構成の
性能特性が重要であることは明らかである。ユーザは、おそらく性能に関する目
標を持ち、かつどんな構成要素または構成がユーザのニーズを満たすかを知る必
要がある。本発明の実施例によって、ユーザは複数のシステム構成の性能評価を
行うことができる。ユーザはその後で、これらの評価結果を比較し、ユーザの特
定のニーズに一致する、ハードウェアおよびソフトウェアの最適なソリューショ
ンを得ることができる。
【0019】 (スナップショット解析) 図2の上部(点線の矢印まで)には、スナップショット解析を行う基本ステッ
プが示されている。図1に示しかつ上記で説明したように、アプリケーション20
0はグラフ204で記述することができる。グラフ204は、アプリケーション200が実
行されるシステム202の並列性を組み込むこともできる(図1参照)。したがっ て、特定の並列処理システム202上の特定のアプリケーション200の実行をグラフ
204で表すことができる。アプリケーション200とシステム202のいずれか(また は両方)は、実際のものでも、あるいは提案されたものでもよい。
【0020】 同様に、特定のアプリケーション200に関する情報を、ユーザによって入力さ れた数値206で表すことができる。たとえば、アプリケーション200によって各種
構成要素で使用されるデータ・レコードのサイズまたは数を整数で表すことがで
きる。並列処理システム202に関して経験的に求められた詳細なデータ、たとえ ば、プロセッサ速度、帯域幅なども数値206によって容易に表される。入力され たこれらの値は、(たとえば、製造業者の仕様書から)推定または仮定される情
報に基づいて得るか、あるいは(たとえば、ソフトウェアまたはハードウェアを
監視することによって)システム202上のアプリケーション200の性能を実際に測
定することによって得ることができる。
【0021】 アプリケーション200および並列処理システム202を記述するこのようなグラフ
204および供給された値206に基づいて、アプリケーション200を実行するシステ ムの性能および能力が解析される。
【0022】 最初、ユーザは、グラフ204および値206をグラフ・コンパイラ208に入力する 。グラフ・コンパイラ208は、グラフ204および入力された値206を解析する。グ ラフ・コンパイラ208は次に、グラフ204および入力された値206を記述したフラ ット・ファイル210を生成する。フラット・ファイル210は、グラフ内の各構成要
素のリストを含む。列挙されている各構成要素と共に、データ・レコードの数ま
たはサイズや性能特性など、その構成要素に関する入力された値206が記憶され ている。アプリケーション内のデータフローを表すために、各構成要素間の接続
を示す情報も記憶されている。
【0023】 図3は、図2のフラット・ファイル210の可能なフォーマットの一例である。 このフォーマットでは、データはASCIIテキストとして記憶される。各行の開始 位置に、その行に記憶されている情報の性質を示すコードがある。ファイルは、
「T」、「C」、「G」などの部分に分割することができる。各部分の先頭はそ
れぞれ、たとえば「TH」、「CH」、または「GH」で示すことができる。「TI」は
、パス名、使用される時間単位、使用されるタイトルなどのタイトルまたはグロ
ーバル情報を示す。「CT」は、構成要素情報、すなわち、名前および処理速度(
MB/秒単位)を示す。したがって、図3は、このシステムの場合、ディスクの入 出力速度が3.0MB/秒であり、それに対してソート構成要素の処理速度が0.5MB/秒
であることを示している。「GT」はグラフ情報を示す。各行は、構成要素の名前
、処理されるレコードの数(百万単位)、処理される各レコードのサイズ(バイ
ト単位)、この構成要素によって実行される演算およびその演算がデータに対し
て実行される回数などの情報を示している。最後に、「FH」はこのファイルの終
了位置を示す。
【0024】 図2を再度参照すると、フラット・ファイル210は次に、キャパシティ・プラ ンナ212に渡される。キャパシティ・プランナ212は、性能式214を生成し、アプ リケーション200およびシステム202の性能特性を算出する。このような性能式21
4は、グラフ204および入力された値206のトポロジに特有の式である。すべての 性能式214は、入力されたグラフ204および入力された値206に依存し、特定の時 点での特定のアプリケーション200およびシステム202を記述し、したがってラベ
ル「スナップショット解析」を記述する。
【0025】 図4は、図2の性能式214の一例である。これは、総アプリケーション実行時 間に占める、特定の構成要素を処理に要する時間の割合420を算出する数式の例 である。 データ・レコードの数400に1つのデータ・レコードのサイズ402が掛けられ、こ
の構成要素によって処理されるデータの量404が算出される。この特定の構成要 素の処理速度406が一群のこれらの構成要素の平均最高速度412と比較される。平
均最高速度412は、一群のこれらの構成要素の最高速度408をこの群内の構成要素
の数410で割ることによって算出される。この構成要素の処理速度406と平均最高
速度412のうちで遅い方が最低処理速度414になる。この構成要素に必要な時間41
6は、データ量404を最低処理速度414で割った値である。アプリケーション(図 示せず)内の各構成要素の実行時間同士が加算され、すべての構成要素の総時間
418が求められる。次に、この構成要素に必要な時間416がすべての構成要素の総
時間418で割られ、総アプリケーション実行時間に占める、この特定の構成要素 を処理する間に経過する時間の割合420が算出される。
【0026】 好適な実施例では、キャパシティ・プランナ212は、図4の数式を以下のよう な形式で記憶する。 PERCENTAGE=((NUMBER_OF_RECORDS*RECORD_SIZE)/ MIN(SPEICIFIC_COMPONENT_PROCESSING_RATE, (MAX_GROUP_PROCESSING_RATE/ NUMBER_OF_COMPONENTS_IN_GROUP)))/ (TOTAL_TIME_ALL_COMPONENTS_IN_GRAPH)
【0027】 性能式214は、フラット・ファイル210によって渡される入力された値206と共 にスプレッドシート216に記憶することが好ましい。キャパシティ・プランナ212
は、このような入力された値206に基づいて、計算値を算出して、スプレッドシ ート216に書き込まれる。好適な実施例では、数式214はユーザには不可視であり
、計算値のみが示される。キャパシティ・プランナ212は、アプリケーション200
の総実行時間、または特定の構成要素の実行に要する実行時間を算出する。所定
の時間内に処理されるデータの量を得ることもできる。
【0028】 図5は、図3のフラット・ファイル210に示されているのと同じグラフ204およ
び入力された値206に基づく図2のスプレッドシート216の一例を示している。こ
の例において、上部は、全CPU処理要件に関する性能情報を示し、下部は、シス テムの並列度を考慮した性能情報を示しており、システムの経過リアルタイムを
評価するものである。このスプレッドシートは、それぞれ左側と上部にラベルが
付いた行および列として示されている。以下に精度に関して説明するように、図
示されている数は、小数点以下1位までのみ示されており、したがって、真の計
算値の近似値に過ぎない(すなわち、0.0は必ずしも0ではなく、0.04を表す可能
性がある)。
【0029】 左側の上部は構成要素名の列500である。これらの構成要素名の右側に、左側 の構成要素500の、MB/秒単位の処理速度502が示されている。たとえば、構成要 素「個別データのソート」は、速度または処理速度が0.5MB/秒で、「ディスク入
出力」速度が4.0MB/秒であり、他の構成要素についても同様である。処理速度は
、ユーザの設定に応じて、MB/秒、MB/時、GB/時など様々な単位で表すことがで きる。右側に、構成要素が分割されたパーティションの数504を示す列がある。 この列504はシステム全体にわたる並列度を反映している。構成要素「個別デー タのソート」は、2つのパーティションを使用し、したがって、2つのCPU上で 実行される。
【0030】 右隣の列は、構成要素によって処理されるデータ・レコードの数506を示して いる。この右の列は、各レコードのサイズ508を示している。この2つの列506、
508を掛け合わせることによって、各構成要素によって処理されるデータの量の 全サイズを算出することができ、このサイズは次の列510に示されている。たと えば、「個別データのソート」は、それぞれが94バイトである6800万個のレコー
ドを処理し、結果として、6.4GBのデータを処理する。
【0031】 次の2列は、システム構成要素によって処理されるデータの量512、514を示し
ている。これらのシステム構成要素も遠く左側の構成要素の列500に示されてい る。図5に示す例には、「ディスク入出力」および「ネットワーク入出力」のエ
ントリがある。これらの構成要素によって処理される全データ量は、構成要素の
列が左側の列500内のこの構成要素を含む行と交わる、列512、514の1番下に示 されている。したがって、3つの構成要素(「個別データのソート」、「顧客デ
ータのソート」、および「スコア」)は、「ディスク入出力」列512内の3つの エントリ(6.4GB、0.0GB、および0.0GB)によって示される、「ディスク入出力 」構成要素によって処理しなければならないデータを有している。「ディスク入
出力」列の1番下に、「ディスク入出力」構成要素が6.4GBを処理することを示 す、上記のエントリの和が示されている。
【0032】 さらに右隣の2列は、各構成要素がその処理を完了するのに必要な総時間518 と、すべての構成要素が処理を完了するための総時間に占める、各構成要素によ
って使用される時間の割合520とを示す。各構成要素の総時間518同士がすべて加
算され、すべての構成要素の総時間522が求められる。これは左側に「総CPU時間
」として示されている。したがって、総CPU時間は、入力されたデータおよびシ ステム・パラメータが与えられた場合に必要な総処理時間数を示す。総時間522 に占めるある構成要素の割合は、ある構成要素の総時間518をすべての構成要素 の総時間(「総CPU時間」)522で割ることによって得られる。
【0033】 図5に示されているスプレッドシートの例の下部に、システムの並列性能が示
されている。この列内のいくつかの情報は、上部の情報と同じである(構成要素
名524、処理速度526、パーティション数528、レコード数530、レコード・サイズ
532、構成要素によって処理されるデータ量の全サイズ534、システム構成要素に
よって処理されるデータ量536および538)。下部の各構成要素によって処理され
る全データ540が、各構成要素が使用するパーティションの数528を反映すること
は明らかである。したがって、「個別データのソート」は2つのパーティション
を使用し、全部で6.4GBを処理し、結果として、各パーティションは3.2GBを処理
する。各パーティションが並列に動作するので、システムは、複数のパーティシ
ョンをより高速に使用して各構成要素の処理を完了することができる。
【0034】 各構成要素の処理に要する総時間542が右隣の列に示されており、すべての構 成要素の総時間に占める、各構成要素の処置に時間の割合544が最も右側の列に 示されている。各構成要素の総時間542同士がすべて加算され、すべての構成要 素の総時間546が求められる。これは左側に「推定経過時間」として示されてい る。総時間に占める各構成要素の割合544は、ある構成要素の総時間542をすべて
の構成要素の総時間(「推定経過時間」)546で割ることによって求められる。 リアルタイムの実際の総経過時間548は左側に「柱時計時間(時間)」として示 されている。すべての構成要素の総時間を実際の総経過時間548で割ることによ って、CPUがビジー状態であった時間の割合550が算出される。これは左側に「CP
Uビジー率」として示されている。
【0035】 図2のスプレッドシート216に示されている計算値(図5の全データ・サイズ5
10、構成要素の総時間518、総時間に占める割合520など)が数値ではなく数式と
して記憶されることに留意されたい。これらの数式は、図4に示されている数式
のような図2の性能式214である。図2の入力された値206(処理速度502、パー ティション数504、データ・レコード数506、データ・レコードのサイズ508など )は数値として記憶される。このフォーマットによって、ユーザは、たとえば、
様々なデータ・サイズおよび各種並列処理システム構成について試験するか、あ
るいはスプレッドシート216に現在の実際の性能を反映させるように最も最近に 測定された値を入力するように、これらの値を変更することができる。その場合
、図示されている計算値を算出する数式214により再計算を行い、更新された計 算値を得る。
【0036】 たとえば、図5で、ユーザは「個別データのソート」構成要素のレコード・サ
イズ508を94バイトから200バイトに変更することができる。その結果、「個別デ
ータのソート」の全データ・サイズ510は13.6GBに変更される。全データ・サイ ズ510を算出する数式は変更されず、計算値のみが変更される。次に、この変化 が他の計算値を通じて伝播する。「ディスク入出力」のデータ・サイズ512は6.4
GBから13.6GBに変更される。処理速度502は、入力された値に依存するので変更 されない。構成要素「ディスク入出力」の総時間518は0.4時間から0.9時間に変 更される。これによって、すべての構成要素の総時間522は24.3時間に変更され る。その結果、総時間に占める各構成要素の割合520が変更される。「ディスク 入出力」は1.9%から3.7%に変更され、「個別データのソート」は14.9%から14.8%
に変更され、他の構成要素についても同様である。これらの数字は、選択された
精度に応じて異なる(下記参照)。
【0037】 上述したように、精度を変更することもできる。たとえば、図5には、少数点
以下第1位の精度が示されている。したがって、構成要素「ディスク入出力」の
総時間518は0.4時間として示されている。実際には、6.4GBおよび4.0MB/秒を入 力として使用すると(4.0MB/秒=14.4GB/時とする)、数式による計算値は6.4/1
4.4=0.44444となる(小数点以下第5位まで示されている)。精度を小数点以下 第2位に変更した場合、総時間518は0.44時間として示される。これは、数式で はなく数値が記憶される場合には不可能である。総時間518に0.4時間が記憶され
ている場合、精度を高くしても値は変更されない(このデータは失われるであろ
うから、おそらく0.44時間ではなく0.40時間が表示される)。同様に、時間また
はサイズの単位を変更することができる。時間の単位を時間から分に変更するこ
とによって、総時間「ディスク入出力」518は0.4時間か ら26.7分に変更される(60分の0.44444倍は約26.7分であり、24分ではないこと に留意されたい)。サイズの単位をギガバイトからメガバイトに変更することに
よって、全データ・サイズ「ディスク入出力」512は6.4GBから6400MBに変更され
る。
【0038】 したがって、入力された値206を変更するこの機能により、ユーザは、アプリ ケーション200およびシステム202の特性を変更することで「what if(こうした ら)」解析を行うことができる。特に、ユーザは、処理すべきデータの量または
種類を変更する効果、または様々な特性を有する代替ハードウェアの構成要素を
使用する効果をモデル化することができる。ユーザは、アプリケーションをまっ
たく異なるハードウェア構成に移植させる効果をモデル化することもできる。
【0039】 この実施例の変形例において、グラフ・コンパイラ208は、システム202上のア
プリケーション200の実行を監視する機能を有することもできる。この場合、グ ラフ・コンパイラによって使用される数値はユーザによる推定値ではなく、実際
の測定性能情報を表す。この場合、このような測定値は、前述のようにフラット
・ファイルを通じてスプレッドシートに入力することができる。これによって、
ユーザはシステム上のアプリケーションの性能を解析し、(おそらく、上述のよ
うに、入力された値206を用いて生成された)予測される性能に対して現在の性 能を評価することができる。数式214に基づいて算出された測定可能な値に関し て、予測される性能と実際の性能との比較も行われる。
【0040】 ユーザは、入力された値206のみの変更に制限されない。グラフ204を変更する
こともできる。ユーザは、最初にスプレッドシート216を記憶しておくことによ って、次に新しいグラフ204を入力し異なるシステム206またはアプリケーション
200をモデル化することができる。この機能により、ユーザは、プロセッサを追 加したり削除したりすることによってシステム202のハードウェア構成を大幅に 変更する効果をモデル化することができる。この機能によって、まったく異なる
ハードウェア・プラットフォーム同士または異なるアプリケーション同士を比較
することもできる。したがって、本発明のこの実施例は、リソース管理の共通の
問題である、同じ基本タスクを実行する別のアプリケーション同士の比較におい
て非常に有用である。
【0041】 ユーザは、システム構成を操作することによって、所与のタスクを所定の時間
で実行するのにどんな種類のハードウェアがどれくらい必要であるかを評価する
ことができ、それによってリソース要件を解析することができる。同様に、ユー
ザは、アプリケーションおよびデータの特性を実行時間を示すように変更するか
、あるいはデータ・フロースルー速度を示すように時間を変更することによって
、特定のハードウェア・セットの性能を解析することができる。この機能は、並
列処理の実際の効果および潜在的な効果を評価するうえで有用であり、たとえば
、単一プロセッサ・システムにプロセッサを追加した場合の性能結果を示すこと
ができる。ユーザが現在のシステムを評価し、そのシステムが適切であると判定
するか、あるいはどの構成要素がボトルネックであるかを判定する際、このシス
テムと別のハードウェア構成と比較できることは重要である。別のソフトウェア
構成についても同様な用途が可能である。この実施例ではこの両方の種類の違い
を(場合によっては共に)解析することができる。
【0042】 性能評価式が生成され、かつユーザが入力値を処理できるので、ユーザは現在
のアプリケーションおよび並列処理システムと、このシステムを変更する可能性
とを評価することができる。
【0043】 (経時的な解析) 図2の(点線の矢印から)下部は、経時的に性能解析を行う基本ステップを示
している。最初の数ステップは、上記のスナップ解析を行う際に説明したステッ
プと類似している。ユーザは、アプリケーション200および並列処理システム202
を記述するグラフ204および値206を入力する。グラフ204および入力された値206
は、フラット・ファイル210を生成するグラフ・コンパイラ208に渡される。キャ
パシティ・プランナ212がフラット・ファイル210を解析し、それに含まれている
情報に基づいて性能式214を生成する。数式214はスプレッドシート216に書き込 まれる。この時点までの処理は前述の処理と同じである。
【0044】 ユーザは次に、上記と同様な、アプリケーション200およびシステム202を記述
する数組の値218を入力する(ユーザは、最初にすべての組の値218を入力するこ
とができ、第1の組に基づいて第1のスプレッドシート216を生成することがで きる)。たとえば、これらの組の値218は、アプリケーション200およびシステム
202によるデータの日々の実行の測定結果を表すことができる。次に、能力プラ ンナ212は各組の値218に性能式214を適用し、結果として得られる数組の計算値 をすべて記憶する。各組の計算値はスプレッドシート216の別々のシートに書き 込まれ、1組の値218当たりシート2201つの、1組のシート220が生成される。 ユーザは次に、複数のシート220を参照して、経時的に計算値を検討することが できる。各シート220の値206は、この時点で「what-if(こうしたら)」解析も 可能になるようにユーザが変更することができる。キャパシティ・プランナ212 は、数組の値218およびシート220の計算値に基づいてチャートを生成することも
できる。これによって、ユーザは、システムおよびデータに関する一連の履歴値
を入力することによって経時的に計算値を比較することができる。このような履
歴値を毎日自動的に測定し、次に、毎日の更新済みチャート224が生成されるよ うにキャパシティ・プランナ212に供給することができる。
【0045】 図6は、入力された値206に基づく経時的なチャート224の例である。縦軸は、
ある構成要素のバイト単位のデータ・レコードのサイズを示す(図5の508)。 横軸は日を示す。図示されている各行は異なる構成要素を示す。図6に示されて
いるデータは、図3および図5に使用されているのと同じ組のデータに基づくも
のである。したがって、1997年5月1日(図5に使用されている値の日付)の構
成要素「個別データのソート」の場合、データ・レコード・サイズは94バイトで
ある。このチャートは、データ・レコードのサイズが経時的に変化せず、一定で
あったことを示している。
【0046】 図7は、このようなチャート224の別の例を示している。このチャート224は、
入力された値206に数式214を経時的に適用することによって生成された計算値に
基づくチャートである。縦軸は、ある構成要素のメガバイト単位の全データ・サ
イズを示す(図5の510)。横軸は日を示す。図示されている各行は異なる構成 要素を示す。図7に示されているデータは、図3、図5、および図6に使用され
ているのと同じ組のデータに基づくものである。したがって、1997年5月1日(
図5に使用されている値の日付)の構成要素「個別データのソート」の場合、全
データ・サイズは6400メガバイト(図5には6.4GBと示されている)である。こ のチャートは、「個別データのソート」構成要素の全データ・サイズが増大して
おり、将来において多くの処理能力が必要になることを示している。
【0047】 図2を再度参照すると、次にキャパシティ・プランナ212は数組の値218を解析
し傾向を判定する。能力プランナ212は、数組の値218を時間に関して解析するこ
とによってトレンド式222を生成する。トレンド式222は、入力された各値206ご とに生成される。これらのトレンド式222は、推定値226、すなわち将来の入力値
206または1組の値218を算出するために使用される。次に、これらの推定値226 と、推定値226に性能式214を適用することによって生成された計算値とに基づい
てシート230およびチャート228が生成される。これによって、ユーザは、将来の
リソース要件および性能を知ると共に、経時的なリソース使用傾向を検討するこ
とができる。
【0048】 たとえば、ある構成要素のデータ・レコードの数が過去90日間にわたって一定
であった場合、一定の推定値226を生成するトレンド式222が生成される。データ
・レコードの数が毎月10%増加している場合、トレンド式はその増加を反映する 。トレンド式226は簡単な線形モデルでも、あるいはより高度な曲線当てはめモ デルでもよい。
【0049】 「経時的な解析」実施例の一変形例として時間以外の変数が使用されることが
明らかであろう。したがって、たとえば、実行時間およびあるデータ・タイプの
量を示すチャートが作成される。
【0050】 (プログラム・インプリメンテーション) 本発明は、ソフトウェアのハードウェア、またはそれらの組合せで実現するこ
とができる。しかし、本発明は、プロセッサ、(揮発性メモリおよび不揮発性メ
モリおよび/または記憶要素を含む)データ記憶システム、少なくとも1つの入
力装置、および少なくとも1つの出力装置を備えるプログラマブル・コンピュー
タ上で実行されるコンピュータ・プログラムで実現することが好ましい。入力デ
ータをプログラムに入力し、ここで説明した機能が実行され、出力情報が生成さ
れる。周知の方法で1つ以上の出力装置に出力情報が出力される。
【0051】 各プログラムは、コンピュータ・システムとやりとりするために高水準の手続
き型プログラミング言語またはオブジェクト指向プログラミング言語で作成する
ことが好ましい。しかし、プログラムは、必要に応じてアセンブリ言語または機
械語で作成することができる。いずれの場合も、作成したプログラムは、コンパ
イルあるいはインタープリトされた言語になる。
【0052】 このような各コンピュータ・プログラムは、汎用プログラマブル・コンピュー
タまたは専用プログラマブル・コンピュータによって読み取ることのできる記憶
媒体または記憶装置(たとえば、ROMや、CD−ROMや、磁気ディスク上に
記憶され、コンピュータによって記憶媒体または記憶装置が読み取られたときに
ここで説明した手続きを実行するようにコンピュータを構成し動作させることが
好ましい。本発明のシステムは、コンピュータ・プログラムと共に構成されたコ
ンピュータ読み取り可能な記憶媒体として実現されるシステムとみなすこともで
き、このように構成された記憶媒体によって、コンピュータは、ここで説明した
機能を実行するように特定のあらかじめ定められたように動作する。
【0053】 本発明の2つの実施例について説明した。それにもかかわらず、本発明の精神
と範囲から逸脱することなく様々な変更ができることが理解されよう。したがっ
て、本発明は、例示された特定の実施例に限定されず、添付した請求の範囲によ
ってのみ限定されることを理解されたい。
【図面の簡単な説明】
【図1】 従来技術による、並列処理システム上で実行されるアプリケーションを説明す
るグラフである。
【図2】 並列処理システム上で実行されるアプリケーションを記述する性能式を含むス
プレッドシートを生成するステップと、現在の値、前の値、および予測値の比較
を行うステップを示す、本発明の一実施例のフローチャートである。
【図3】 グラフを記述する本発明の一実施例によるフラット・データ・ファイル例であ
る。
【図4】 総処理時間に占める、特定の構成要素に要する処理時間の割合の計算を示すフ
ローチャートである。
【図5】 並列処理システム上のアプリケーションの実行に関する情報を示す本発明の一
実施例によるスレッドシート例を示す図である。
【図6】 並列処理システム上のアプリケーションの経時的な実行に関する情報を示す本
発明に一実施例によるチャート例を示す図である。
【図7】 並列処理システム上のアプリケーションの経時的な実行に関する情報を示す本
発明一実施例によるチャート例を示す図である。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 並列処理システム上で実行され、頂点のグラフとして表され
    るアプリケーションの処理能力を解析する方法であって、 (a)グラフ全体にわたるデータ・レコードのサイズの記述を生成するステッ
    プと、 (b)グラフの各頂点の性能記述を生成するステップと、 (c)グラフの各頂点ごとに実行時間を求めるステップと、 (d)グラフの対応する頂点に割り当てられたデータ・レコード数を求めるス
    テップと、 (e)求められた実行時間およびデータ・レコード数に基づいて総実行時間お
    よびシステムの性能の記述を生成するステップとを含むことを特徴とするアプリ
    ケーションの性能を解析する方法。
  2. 【請求項2】 (a)複数の入力データ・セットに基づいて総実行時間とシ
    ステムの性能との複数の記述を生成するステップと、 (b)複数の記述の比較を行うステップとをさらに含むことを特徴とする請求
    項1記載の方法。
  3. 【請求項3】 並列処理システム上で実行され、入力された1組の値が与え
    られた場合に頂点およびリンクのグラフとして表されるアプリケーションの性能
    を解析する方法であって、 (a)頂点とリンクとの間の接続、データ処理速度、およびデータの量を含む
    、グラフの頂点およびリンクの記述を生成するステップと、 (b)総実行時間、リソース要件、およびアプリケーションの性能を含むアプ
    リケーションの性能特性を、記述および入力された1組の値に基づいて生成する
    ステップと、 (c)入力された値を変更することのできる手段を設け、変更された値を生成
    するステップと、 (d)変更された値に基づいてアプリケーションの性能特性を再生成するステ
    ップとを含むことを特徴とするアプリケーションの性能を解析する方法。
  4. 【請求項4】 (a)数組の値を入力するステップと、 (b)入力された各組の値ごとにアプリケーションの性能特性を生成するステ
    ップと、 (c)入力された数組の値にトレンド式を適用することによって数組の推定値
    を算出するステップと、 (d)推定値に基づいてアプリケーションの性能特性を生成するステップと、 (e)入力された各組の値および推定値に基づいて性能特性を表示するステッ
    プとをさらに含むことを特徴とする請求項3記載のアプリケーションの性能を解
    析する方法。
  5. 【請求項5】 並列処理システム上で実行され、入力された1組の値が与え
    られた場合に頂点およびリンクのグラフとして表されるアプリケーションの性能
    を解析する方法であって、 (a)頂点とリンクとの間の接続、データ処理速度、およびデータ量を含む、
    グラフの頂点およびリンクの記述を生成するステップと、 (b)総実行時間、リソース要件、およびアプリケーションの性能を含むシス
    テムの性能特性を算出する性能式を記述に基づいて生成するステップと、 (c)入力された値に性能式を適用するステップと、 (d)入力された値を変更できる手段を設け、変更された値を生成するステッ
    プと、 (e)変更された値に性能式を適用するステップとを含むことを特徴とするア
    プリケーションの性能を解析する方法。
  6. 【請求項6】 (a)数組の値を入力するステップと、 (b)入力された各組の値ごとに性能式を適用するステップと、 (c)入力された数組の値に基づいてトレンド式を生成するステップと、 (d)入力された数組の値にトレンド式を適用することによって数組の推定値
    を算出するステップと、 (e)推定値に性能式を適用するステップと、 (f)入力された値、推定値、および記憶されている値を表示する手段を設け
    るステップとをさらに含むことを特徴とする請求項5記載のアプリケーションの
    性能を解析する方法。
  7. 【請求項7】 並列処理システム上で実行され、入力された1組の値が与え
    られた場合に頂点およびリンクのグラフとして表されるアプリケーションの性能
    を解析するコンピュータ・プログラムであって、前記コンピュータ・プログラム
    が、コンピュータ・システムによって読み取り可能な媒体上に記憶され、コンピ
    ュータ・システムによって読み取られ実行されたときに、 (a)頂点とリンクとの間の接続、データ処理速度、およびデータ量を含む、
    グラフの頂点およびリンクの記述を生成する機能と、 (b)総実行時間、リソース要件、およびアプリケーションの性能を含むアプ
    リケーションの性能特性を、記述および入力された1組の値に基づいて生成する
    機能と、 (c)入力された値を変更できる手段を設け、変更された値を生成する機能と
    、 (d)変更された値に基づいてアプリケーションの性能特性を再生成する機能
    とを実行するようにコンピュータ・システムを構成することを特徴とするコンピ
    ュータ・プログラム。
  8. 【請求項8】 (a)数組の値を入力するステップと、 (b)入力された各組の値ごとにアプリケーションの性能特性を生成するステ
    ップと、 (c)入力された数組の値にトレンド式を適用することによって数組の推定値
    を算出するステップと、 (d)推定値に基づいてアプリケーションの性能特性を生成するステップと、 (e)入力された各組の値および推定値に基づいて性能特性を表示するステッ
    プとをさらに含むことを特徴とする請求項7記載のコンピュータ・プログラム。
  9. 【請求項9】 並列処理システム上で実行され、入力された1組の値が与え
    られた場合に頂点およびリンクのグラフとして表されるアプリケーションの性能
    を解析するコンピュータ・プログラムと共に構成されたコンピュータ読み取り可
    能記憶媒体であって、このように構成された記憶媒体によって、コンピュータが
    、 (a)頂点とリンクとの間の接続、データ処理速度、およびデータ量を含む、
    グラフの頂点およびリンクの記述を生成する機能と、 (b)総実行時間、リソース要件、およびアプリケーションの性能を含むアプ
    リケーションの性能特性を、記述および入力された1組の値に基づいて生成する
    機能と、 (c)入力された値を変更できるような手段を設け、変更された値を生成する
    機能と、 (d)変更された値に基づいてアプリケーションの性能特性を再生成する機能
    とを実行するように特定のあらかじめ定められたように動作することを特徴とす
    るコンピュータ・プログラム。
  10. 【請求項10】 (a)複数組の値を入力するステップと、 (b)入力された各組の値ごとにアプリケーションの性能特性を生成するステ
    ップと、 (c)入力された数組の値にトレンド式を適用することによって複数組の推定
    値を算出するステップと、 (d)推定値に基づいてアプリケーションの性能特性を生成するステップと、 (e)入力された各組の値および推定値に基づいて性能特性を表示するステッ
    プとをさらに含むことを特徴とする請求項9記載のコンピュータ読み取り可能な
    記憶媒体。
JP2000525812A 1997-12-23 1998-12-23 並列処理システムの機能を解析する方法 Expired - Lifetime JP4269066B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/997,142 1997-12-23
US08/997,142 US6266804B1 (en) 1997-12-23 1997-12-23 Method for analyzing capacity of parallel processing systems
PCT/US1998/027402 WO1999032970A1 (en) 1997-12-23 1998-12-23 Method for analyzing capacity of parallel processing systems

Publications (3)

Publication Number Publication Date
JP2001527235A true JP2001527235A (ja) 2001-12-25
JP2001527235A5 JP2001527235A5 (ja) 2006-01-05
JP4269066B2 JP4269066B2 (ja) 2009-05-27

Family

ID=25543689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000525812A Expired - Lifetime JP4269066B2 (ja) 1997-12-23 1998-12-23 並列処理システムの機能を解析する方法

Country Status (5)

Country Link
US (2) US6266804B1 (ja)
EP (1) EP1040413B1 (ja)
JP (1) JP4269066B2 (ja)
CA (1) CA2315729C (ja)
WO (1) WO1999032970A1 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266804B1 (en) * 1997-12-23 2001-07-24 Ab Initio Software Corporation Method for analyzing capacity of parallel processing systems
US7047232B1 (en) * 1999-01-13 2006-05-16 Ab Initio Software Corporation Parallelizing applications of script-driven tools
US20010044705A1 (en) * 2000-03-10 2001-11-22 Isogon Corp. Method of normalizing software usage data from mainframe computers
US20010025363A1 (en) * 2000-03-24 2001-09-27 Cary Ussery Designer configurable multi-processor system
GB2370140A (en) * 2000-08-31 2002-06-19 Hewlett Packard Co A delay accounting method for computer system response time improvement
US7007268B2 (en) * 2001-08-20 2006-02-28 Sun Microsystems, Inc. Method and apparatus for debugging in a massively parallel processing environment
US6968335B2 (en) 2002-11-14 2005-11-22 Sesint, Inc. Method and system for parallel processing of database queries
US7945581B2 (en) * 2002-11-14 2011-05-17 Lexisnexis Risk Data Management, Inc. Global-results processing matrix for processing queries
US8676843B2 (en) * 2002-11-14 2014-03-18 LexiNexis Risk Data Management Inc. Failure recovery in a parallel-processing database system
US7185003B2 (en) * 2002-11-14 2007-02-27 Seisint, Inc. Query scheduling in a parallel-processing database system
US7293024B2 (en) 2002-11-14 2007-11-06 Seisint, Inc. Method for sorting and distributing data among a plurality of nodes
US7240059B2 (en) * 2002-11-14 2007-07-03 Seisint, Inc. System and method for configuring a parallel-processing database system
US7457864B2 (en) * 2002-11-27 2008-11-25 International Business Machines Corporation System and method for managing the performance of a computer system based on operational characteristics of the system components
US7657540B1 (en) 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US7720846B1 (en) 2003-02-04 2010-05-18 Lexisnexis Risk Data Management, Inc. System and method of using ghost identifiers in a database
US7912842B1 (en) 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
CA2891145C (en) * 2003-06-25 2019-02-19 Craig W. Stanfill Computer-aided parallelizing of computation graphs
US20050015767A1 (en) * 2003-07-01 2005-01-20 Brian Nash Operating system configuration tool
US7730456B2 (en) * 2004-05-19 2010-06-01 Sony Computer Entertainment Inc. Methods and apparatus for handling processing errors in a multi-processing system
US20060095312A1 (en) * 2004-10-28 2006-05-04 International Business Machines Corporation Method, system, and storage medium for using comparisons of empirical system data for testcase and workload profiling
JP4711672B2 (ja) * 2004-12-24 2011-06-29 富士通株式会社 情報処理方法及びプログラム
US8799891B2 (en) * 2005-03-02 2014-08-05 Hewlett-Packard Development Company, L.P. System and method for attributing CPU usage of a virtual machine monitor to a corresponding virtual machine
US20080104498A1 (en) * 2006-10-25 2008-05-01 International Business Machines Corporation Dynamically Merging Columns Within a Table
US8255889B2 (en) * 2007-02-14 2012-08-28 The Mathworks, Inc. Method of using parallel processing constructs and dynamically allocating program portions
US8239845B2 (en) * 2007-02-14 2012-08-07 The Mathworks, Inc. Media for using parallel processing constructs
US8250550B2 (en) * 2007-02-14 2012-08-21 The Mathworks, Inc. Parallel processing of distributed arrays and optimum data distribution
US8239844B2 (en) 2007-02-14 2012-08-07 The Mathworks, Inc. Method of using parallel processing constructs and dynamically allocating program portions
US8255890B2 (en) * 2007-02-14 2012-08-28 The Mathworks, Inc. Media for performing parallel processing of distributed arrays
US8239846B2 (en) * 2007-02-14 2012-08-07 The Mathworks, Inc. Device for performing parallel processing of distributed arrays
US8010954B2 (en) 2007-02-14 2011-08-30 The Mathworks, Inc. Parallel programming interface to dynamically allocate program portions
US8266168B2 (en) * 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
US20090282042A1 (en) * 2008-05-12 2009-11-12 Expressor Software Method and system for managing the development of data integration projects to facilitate project development and analysis thereof
GB2472358A (en) 2008-07-02 2011-02-02 Lexisnexis Risk & Information Analytics Group Inc Database system and methods
US9411859B2 (en) 2009-12-14 2016-08-09 Lexisnexis Risk Solutions Fl Inc External linking based on hierarchical level weightings
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
US8887136B2 (en) * 2010-05-04 2014-11-11 Synopsys, Inc. Context-based evaluation of equations
US9189505B2 (en) 2010-08-09 2015-11-17 Lexisnexis Risk Data Management, Inc. System of and method for entity representation splitting without the need for human interaction
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US8990777B2 (en) * 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
EP3069267A4 (en) 2013-11-13 2017-09-27 Microsoft Technology Licensing, LLC Software component recommendation based on multiple trace runs
KR102186050B1 (ko) 2013-12-06 2020-12-03 아브 이니티오 테크놀로지 엘엘시 소스 코드 번역
US9946808B2 (en) * 2014-07-09 2018-04-17 International Business Machines Corporation Using vertex self-information scores for vertices in an entity graph to determine whether to perform entity resolution on the vertices in the entity graph
US10686869B2 (en) * 2014-09-29 2020-06-16 Microsoft Technology Licensing, Llc Tool for investigating the performance of a distributed processing system
US10437819B2 (en) 2014-11-14 2019-10-08 Ab Initio Technology Llc Processing queries containing a union-type operation
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
US10754746B2 (en) 2017-11-15 2020-08-25 General Electric Company Virtual processor enabling unobtrusive observation of legacy systems for analytics in SoC
CN110070117B (zh) * 2019-04-08 2023-04-07 腾讯科技(深圳)有限公司 一种数据处理方法及装置
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5072371A (en) * 1989-03-01 1991-12-10 The United States Of America As Represented By The United States Department Of Energy Method for simultaneous overlapped communications between neighboring processors in a multiple
JP3266351B2 (ja) * 1993-01-20 2002-03-18 株式会社日立製作所 データベース管理システムおよび問合せの処理方法
US5475842A (en) * 1993-08-11 1995-12-12 Xerox Corporation Method of compilation optimization using an N-dimensional template for relocated and replicated alignment of arrays in data-parallel programs for reduced data communication during execution
US5522022A (en) * 1993-11-24 1996-05-28 Xerox Corporation Analyzing an image showing a node-link structure
US5742814A (en) * 1995-11-01 1998-04-21 Imec Vzw Background memory allocation for multi-dimensional signal processing
US6282701B1 (en) * 1997-07-31 2001-08-28 Mutek Solutions, Ltd. System and method for monitoring and analyzing the execution of computer programs
US6202199B1 (en) * 1997-07-31 2001-03-13 Mutek Solutions, Ltd. System and method for remotely analyzing the execution of computer programs
US6266804B1 (en) * 1997-12-23 2001-07-24 Ab Initio Software Corporation Method for analyzing capacity of parallel processing systems

Also Published As

Publication number Publication date
JP4269066B2 (ja) 2009-05-27
CA2315729A1 (en) 1999-07-01
EP1040413A1 (en) 2000-10-04
WO1999032970A1 (en) 1999-07-01
US20020023260A1 (en) 2002-02-21
EP1040413A4 (en) 2009-02-25
US6266804B1 (en) 2001-07-24
CA2315729C (en) 2005-02-22
US6665862B2 (en) 2003-12-16
EP1040413B1 (en) 2013-08-07

Similar Documents

Publication Publication Date Title
JP4269066B2 (ja) 並列処理システムの機能を解析する方法
US7877250B2 (en) Creation of resource models
US7996204B2 (en) Simulation using resource models
US7974827B2 (en) Resource model training
WO2008134143A1 (en) Resource model training
US7720634B2 (en) Apparatus and method for automatically improving a set of initial return on investment calculator templates
JP2006048703A (ja) トランザクションベースのパフォーマンスモデルの自動的な妥当性検査および較正
JP2006048702A (ja) トランザクションベースの性能モデルの自動構成
Haussmann et al. Cost-efficient parallel processing of irregularly structured problems in cloud computing environments
Ardagna et al. Predicting the performance of big data applications on the cloud
Estrin et al. Modeling, measurement and computer power
Park et al. Queue congestion prediction for large-scale high performance computing systems using a hidden Markov model
US20040064531A1 (en) System and process for projecting hardware requirements for a web site
Baughman et al. Measuring, quantifying, and predicting the cost-accuracy tradeoff
Müller et al. Collaborative software performance engineering for enterprise applications
JP5685995B2 (ja) シミュレーション用データ生成システム、方法およびプログラム
CN115599195B (zh) 一种基于cuda性能计数器的gpu能耗预测方法及系统
WO2019059135A1 (ja) 情報処理装置、情報処理システム、情報処理方法および記録媒体
Wysocki et al. Efficiency and maturity assessment model of RUP process in IT organizations
Alalawi et al. Designing a Hadoop mapreduce performance model using micro benchmarking approach
Wilhelm Capacity Planning for SAP-Concepts and tools for performance monitoring and modelling
Alexander et al. A workload characterization pipeline for models of parallel systems
US20210398176A1 (en) Apparatus, method, and storage medium for burstable instance recommendation
Saini et al. Software Evolution Prediction Using Fuzzy Analysis
Singh et al. To Enhancement the Click Stream of Website using GRC Constraints in Web Personalize Clustering Approach

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051025

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080812

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

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

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term