JP2000235511A - アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置 - Google Patents

アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置

Info

Publication number
JP2000235511A
JP2000235511A JP2000024065A JP2000024065A JP2000235511A JP 2000235511 A JP2000235511 A JP 2000235511A JP 2000024065 A JP2000024065 A JP 2000024065A JP 2000024065 A JP2000024065 A JP 2000024065A JP 2000235511 A JP2000235511 A JP 2000235511A
Authority
JP
Japan
Prior art keywords
performance
data
program
thread
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000024065A
Other languages
English (en)
Inventor
Bradley Lewis
ルイス ブラッドリー
Jeremy Week
ウイーク ジェレミー
Michael Boucher
ブッシェ マイケル
Shaun Dennie
デニー シャウン
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2000235511A publication Critical patent/JP2000235511A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3604Analysis of software for verifying properties of programs
    • G06F11/3612Analysis of software for verifying properties of programs by runtime analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【課題】データプロセッシングシステムにおいて実行さ
れるマルチスレッド化プログラムのパフォーマンス解析
を容易にすること。 【解決手段】本発明に係る方法、システム及び装置は、
実行されたプログラムのパフォーマンスデータを収集し
て表示する。本発明の一実施形態に係るシステムは、種
々のハードウエア及び操作(インストルメント)された
プログラムのソフトウエアコンポーネントからパフォー
マンス解析情報を収集し、多要素表示形態でパフォーマ
ンスデータを表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パフォーマンス解
析に関し、更に詳しくは、アプリケーションプログラム
のパフォーマンスデータの多要素閲覧画面を提供する方
法に関する。
【0002】
【従来の技術】マルチスレッドは、アプリケーションプ
ログラムを論理的に独立した制御「スレッド」に区分け
するものであり、並列実行が可能である。各スレッド
は、命令シーケンスとその命令により使用されるデータ
を含み、特定のプログラムタスク、例えば、演算、入出
力機能等を実行する。マルチプロセッサ方式のデータプ
ロセッシングシステム、即ち、マルチプロセッサコンピ
ュータシステムを用いる場合には、各プロセッサは、プ
ロセッサの数に応じて1又は複数のスレッドを実行する
ことにより、当該プログラムのマルチプロセッシングを
実現する。
【0003】プログラムは、マルチスレッド化が可能で
あるが、これは、単一プロセッサが全スレッドを実行す
るのに使用された場合である。単一プロセッサが一度に
ただ一つの命令を実行する場合には、プロセッサは、マ
ルチスレッドを並列に実行、例えば、次のように実行す
る:あるスレッドに対応する命令を実行し、これを選択
された命令に到達するまで実行し、そしてそのスレッド
の命令を停止し、別のスレッドに対応する命令を実行
し、これらを全スレッドについて完了するまで行う。こ
のような概略で、プロセッサが所定時間内に複数の命令
の実行を開始する限り、スレッドはその所定時間内にお
いて「走行中」と称される。
【0004】マルチプロセッサコンピュータシステム
は、通常、複雑な演算問題を解くためのアプリケーショ
ンプログラムを実行するのに使用され、種々の主要問題
は、種々のプロセッサ上で並行実行されているプログラ
ムの一部を使用して解くことができる。プログラムを実
行するために、このようなシステムを使用するのは、高
いパフォーマンスを実現するためであり、特に、演算リ
ソースの浪費を除去するパフォーマンスのレベルを高く
するためである。コンピュータリソースを浪費する場合
として、例えば、プロセッサがアイドル状態(即ち、プ
ログラム命令を実行していない場合)にあるときが挙げ
られ、アイドル状態にあると、その時間分浪費すること
になる。このような待ちサイクルは、一方のプロセッサ
が実行する命令が、他方のプロセッサにより実行される
命令セットの結果を必要とすることによる結果である。
【0005】従って、このようなデータプロセッシング
システム上で実行されるプログラムのパフォーマンスを
解析し、最適パフォーマンスが実現されたか否かを判断
することが必要となる。最適パフォーマンスが実現され
ない場合には、改善用のエリアを確認することが必要で
ある。
【0006】この点については、パフォーマンス解析
は、通常、3つのエリアの情報収集を必要とする。ま
ず、第一に、プログラム実行中の所定時間におけるプロ
セッサ状態が挙げられる。プロセッサ状態は、当該プロ
セッサが特定の時間間隔で実行するプログラム(例え
ば、サブプログラム、ループ、又は他のコードブロック
等の命令セット)の一部に着目したものである。第二
に、プロセッサが、ある状態から他の状態へ遷移するの
に費やす時間がどの位かということが挙げられる。第三
に、プロセッサがそのピークパフォーマンス時にどのよ
うにして実行を停止するのかということが挙げられる。
しかしながら、これらの3つのエリアでは、完全な解析
はできない。パフォーマンス解析における4つめのコン
ポーネント、即ち、特定状態においてプロセッサが何を
したか(例えば、演算、データ入力、データ出力)とい
う情報を提供しないからである。
【0007】
【発明が解決しようとする課題】特定状態の間、プロセ
ッサが何をしたかを考察する場合には、パフォーマンス
解析ツールは、当該パフォーマンスレベルでの状態にお
けるオペレーションの影響を決定することができる。こ
れらの要因が一旦確認されると、パフォーマンスに対し
て重要なインパクトを与えるオペレーションと、それよ
りは重要度が低いインパクトを与えるオペレーションと
を同調させることができ、全体としてよりよいパフォー
マンスレベルを実現することができる。例えば、第一の
スレッドは、重要なリソースを使用するオペレーション
を実行することができるが、その間、第一のスレッドと
並列に別個のオペレーションを実行するようにスケジュ
ーリングされた他のスレッドは、当該第一のスレッドが
そのオペレーションを完遂するまでアイドル状態であ
る。従って、第二のスレッドには、第一のスレッドのオ
ペレーションの完遂を要求しない他のオペレーションを
実行させ、これによって、当該第二のスレッドのアイド
ル状態を除去することが望ましい。
【0008】パフォーマンス解析ツールが特定状態で発
生した問題を通知するが、当該問題をアプリケーション
で発生した他のイベントに関連させるのに失敗したとき
(例えば、他の状態のオペレーション)は、当該通知さ
れた情報は、どちらかといえば無意味なものとなる。有
用なものとするには、パフォーマンス解析ツールは、パ
フォーマンス情報がプログラム実行にどのように関連し
ているのかをディベロッパーが決定するのを補助する必
要がある。従って、発生したパフォーマンス問題の内容
をディベロッパーが判断できるようにすれば、問題分析
に役立つものとなる。
【0009】パフォーマンス解析用にこの情報を収集す
るプロセスは、「インストルメンテーション」と称され
る。インストルメンテーションは、通常、検査中のプロ
グラムに命令追加を要求するものであり、これにより、
当該プログラムが実行されたときに当該命令によりデー
タが生成され、このデータからパフォーマンス情報が取
り出すことができる。
【0010】カレントパフォーマンス解析ツールがデー
タを収集する方法には、サブプログラムレベルインスト
ルメンテーションとバケットレベルインストルメンテー
ションという2つの方法があり、いずれを用いてもよ
い。パフォーマンス解析のサブプログラムレベルインス
トルメンテーション方法は、各サブプログラムの呼出を
反映するデータ生成用の命令セットを用いて、当該サブ
プログラムを操作(インストルメント)することによっ
て多くのサブプログラムの呼出を検出する。この方法に
よれば、ディベロッパーは、各サブプログラムにより、
又は当該サブプログラムの特定部分により実行されたオ
ペレーション(例えば、サブプログラム内の開始・終了
ポイント収集データの指定により実行されたオペレーシ
ョン)のパフォーマンスデータを検出することができな
い。
【0011】バケットレベルのインストルメンテーショ
ンのパフォーマンス解析ツールは、実行コードを等間隔
に配置されたグループ又はバケットに分割する。パフォ
ーマンスデータは、指定された時間間隔でプログラムカ
ウンタが特定バケット内にあった回数を検出する。この
パフォーマンスデータ収集方法は、実質的に、指定され
た時間間隔でプログラムカウンタのスナップショットを
とる。この方法では、包括的なパフォーマンス情報を提
供することができない。その理由は、この方法は、指定
された時間間隔での特定バケットのデータ収集に留まる
からである。
【0012】また、現在のパフォーマンス解析方法によ
れば、パフォーマンスデータをカスタマイズして収集又
は出力を行うことができない。一般に、パフォーマンス
ツールは、予め指定されたディベロッパー呈示用のデー
タセットのみを収集する。
【0013】本発明は、上述した従来の欠点を克服する
ためになされたものであり、データプロセッシングシス
テムにおいて実行されるマルチスレッド化プログラムの
パフォーマンス解析を容易にすることができるアプリケ
ーションプログラムのパフォーマンス解析方法、アプリ
ケーションプログラムのパフォーマンス解析に用いられ
るシステム及び装置を提供することを課題とする。
【0014】
【課題を解決するための手段】上記課題を解決するため
に、本発明に係る方法、システム及び装置は、測定期間
内に実行される各スレッドの状態を反映するデータを受
信し、前記測定期間内の各スレッド状態に対応するパフ
ォーマンスレベルを表示することにより、データプロセ
ッシングシステムで実行されるスレッドのパフォーマン
スを解析することを要旨とするものである。
【0015】
【発明の実施の形態】以下、添付図面を参照して本発明
の一実施の形態を説明する。また、この説明によって本
発明によって得られる利点と趣旨とを裏付けようとする
ものである。尚、図面及び説明において同一又は略同一
の部材を参照する場合には、できる限り同一の参照符号
を用いている。
【0016】概略 本発明に係る方法、システム及び装置は、アプリケーシ
ョンプログラムの実行中に収集されたパフォーマンスデ
ータを利用して、プログラムのパフォーマンスデータを
ディベロッパーに対して図式的に説明しようとするもの
である。プログラムは、実行中にパフォーマンスデータ
を生成するように操作(インストルメント)される。各
プログラムスレッドは、1又は複数のオペレーションを
実行するものであり、各オペレーションは、種々のスレ
ッドの状態を反映する。パフォーマンスデータは、実行
中のスレッドの各状態のパフォーマンスレベルと同様
に、各スレッドの全パフォーマンスを反映するものであ
ればよい。ディベロッパーは、収集すべきパフォーマン
スデータのタイプと範囲とを指定することができる。全
スレッドのパフォーマンスを同時にグラフィック表示す
れば、ディベロッパーは、スレッド間のオペレーション
を同期させることにより、全パフォーマンスを改善する
ために何時どこで適切な調整を行うべきかが判る。
【0017】パフォーマンス解析データベースへのアク
セス言語は、本発明に係る方法でプログラムを操作(イ
ンストルメント)するために使用される。この操作(イ
ンストルメント)は、プログラム内の指定ロケーション
に命令を追加する周知の技術を用いて自動的に、又はデ
ィベロッパーによる手動操作で行うことができる。命令
は、マルチシステムコンポーネントからのパフォーマン
スデータの収集を指定するものであればよく、パフォー
マンスデータは、ハードウエア及びオペレーティングシ
ステムの両者から収集可能であればよい。
【0018】パフォーマンスデータの4要素ディスプレ
イは、スレッド情報、時間、状態及びパフォーマンスレ
ベルを含むものである。パフォーマンスアナライザは、
また、ディベロッパーによって指定されたパフォーマン
ス測定法により数式評価を行い、その演算結果を表示す
る。
【0019】パフォーマンス解析システム 図1は、本発明に係る方法及びシステムの実施に好適な
データプロセッシングシステム100を示したものであ
る。データプロセッシングシステム100は、コンピュ
ータシステム105を備え、このコンピュータシステム
105は、ローカルエリアネットワーク、ワイドエリア
ネットワーク又はインターネット等のネットワーク19
0に接続されている。
【0020】コンピュータシステム105は、メインメ
モリ130、補助記憶デバイス140、プロセッサ15
0、入力デバイス170及びビデオディスプレイ160
を備える。これらの内部コンポーネントは、システムバ
ス165を経由して互いに情報交換を行う。当該コンポ
ーネントは、本発明に係る方法を実施したり、本発明に
係るシステムを構成するのに好適な殆どのコンピュータ
システムにおいて標準となっているものである。このよ
うなコンピュータシステムとして、サンマイクロシステ
ムズ・インコーポレーテッド製のSPARCstationが一例と
して挙げられる。
【0021】コンピュータシステム100は、単一プロ
セッサを備えたものであるが、マルチプロセッサ環境に
おいても同様に本発明に係る方法でオペレーションを実
行できることは、いわゆる当業者にとっては周知であ
る。
【0022】メモリ130は、プログラム110及びパ
フォーマンスアナライザ115を備えている。プログラ
ム110は、マルチスレッド化プログラムである。本発
明に係る方法においては、プログラム110のパフォー
マンス解析を容易にする目的で、当該プログラムは、デ
ィベロッパーが選択した適当な命令で操作(インストル
メント)され、所定のパフォーマンスデータを生成す
る。
【0023】パフォーマンスアナライザ115は、2つ
のコンポーネントから構成されている。第一のコンポー
ネント115aは、操作(インストルメント)されたプ
ログラムにより指定された方法で実行される関数ライブ
ラリである。第二のコンポーネント115bは、ディベ
ロッパーインタフェースであり、2つの機能、即ち、
(1)プログラムを自動的に操作(インストルメント)
する機能、及び(2)プログラム実行時に収集されたパ
フォーマンス情報を閲覧する機能を実現するために用い
られる。
【0024】説明したように、操作(インストルメンテ
ーション)は、パフォーマンス解析インタフェース11
5bを用いて自動的に行うことができる。このようなア
プローチによれば、ディベロッパーは、収集されるべき
パフォーマンスデータのタイプをアナライザ用に指定
し、アナライザは、パフォーマンス解析データベースア
クセス言語による適当なコマンドをプログラムの適当な
位置に追加する。このような手法での自動操作(インス
トルメンテーション)の技術は、いわゆる当業者にとっ
ては周知である。これに代えて、実行中に指定パフォー
マンスデータを記録できるように、ディベロッパーは、
パフォーマンス解析データベースアクセス言語のコマン
ドを手動で適当な位置に挿入してもよい。プログラム1
10の実行中に生成されたパフォーマンスデータは、例
えば、メインメモリ130等のメモリへ記憶される。
【0025】パフォーマンス解析インタフェース115
bは、ディベロッパーにプログラム110の実行時に記
憶されたパフォーマンスデータに対応するパフォーマン
ス情報の閲覧を許可する。後述するように、ディベロッ
パーは、閲覧画面を変更するのにアナライザと対話型で
作業をすすめるが、これは、種々のコンフィギュレーシ
ョンにおけるパフォーマンス情報を表示することによ
り、プログラムパフォーマンスを種々の視点で観察する
ためである。従って、プログラムが完全に最初から操作
(インストルメント)されていると仮定すれば、各閲覧
画面に対応する情報収集プログラムを繰り返し実行する
必要はない。各閲覧画面は、(1)1又は複数のスレッ
ドに用いる完全な測定サイクル、(2)各スレッドが各
状態に出たり入ったりするタイミング、(3)各状態に
対応する選択されたパフォーマンス基準、を表示する。
【0026】図1には示していないが、全てのコンピュ
ータシステムと同様に、システム105は、オペレーテ
ィングシステムを備え、オペレーティングシステム10
5は、そのオペレーションを制御するが、この制御に
は、プロセッサ150によるプログラム110の実行が
含まれる。また、本発明に係る好適な一実施形態の要旨
は、メインメモリ120に記憶されたパフォーマンスア
ナライザとして開示されているが、いわゆる当業者にと
っては、本発明に係るシステム及び方法の全てが、他の
コンピュータ読取可能媒体(例えば、補助記憶装置(ハ
ードディスク、フロッピーディスク、CD−ROM
等))、インターネットからの伝送波、又は、他の形態
(リードオンリメモリ又はランダムアクセスメモリ)上
に記憶され、又は、これらから読み出され得るものであ
ることは自明である。以上、データプロセッシングシス
テム100の指定コンポーネントについて説明したが、
いわゆる当業者にとって周知のように実施形態として好
適なデータプロセッシングシステムは、追加の又は異な
るコンポーネントを備えたものでもよい。
【0027】図2は、本発明に係るパフォーマンス解析
システムのブロック構成を示したものである。図示した
ように、プログラム210は、マルチスレッド212,
214,216,218からなる。プロセッサ220
は、スレッド212,214,216,218を並列に
実行する。メモリ240は、共有メモリを表したもので
あり、この共有メモリは、全実行スレッドがアクセスす
ることができる。共有メモリへのアクセスを調整するプ
ロトコルについては、シャウン・デニーによる米国特許
出願第 号、発明の名称「共有メモリ分布の調整プ
ロトコル」(代理人整理番号06502-0207-00000)に開示
されており、これを参照されたい。ここでは、単一プロ
セッサ220が示されているが、マルチプロセッサを用
いてスレッド212,214,216,218を実行し
てもよい。
【0028】マルチスレッド212,214,216,
218の並列実行を容易にするために、オペレーティン
グシステムは、各スレッドのオペレーション用にメモリ
240をセグメントに分割し、各セグメントフィールド
を初期化する。例えば、メモリセグメント245は、エ
ンター状態/イグジット状態の識別子、ディベロッパー
指定情報、及びスレッド識別情報から構成される。エン
ター状態識別子は、実行中において、スレッドが特定状
態に入った場合に、これに対応するデータを記憶する。
同様に、イグジット状態識別子は、アプリケーションプ
ログラムの実行中において、スレッドが特定状態から出
た場合に、これに対応するデータを記憶する。ディベロ
ッパー指定データは、収集されたパフォーマンス解析デ
ータを表している。
【0029】メモリのリザーブエリア250は、メモリ
管理機能、例えば、競合スレッドの共有メモリ分布の調
整等を行う。メモリのリザーブエリア250は、また、
識別情報をメモリを使用するスレッドに割り付けるのに
用いられる。
【0030】図3に示したフローチャートは、本発明の
一実施形態に係るパフォーマンス解析システムのオペレ
ーションに関する付加詳細情報を提供するものである。
パフォーマンスデータを生成する命令は、プログラムに
挿入される(ステップ305)。操作(インストルメン
ト)されたプログラムが実行されると、パフォーマンス
データが生成される(ステップ310及び315)。パ
フォーマンスデータの閲覧要求があると、パフォーマン
スアナライザは、パフォーマンスデータにアクセスし、
これを表示する(ステップ320)。
【0031】パフォーマンスアナライザは、データに対
応して、パフォーマンスデータ及び関連ソースコード・
アセンブリコード(即ち、機械語命令)を表示すること
ができる。これにより、ディベロッパーは、パフォーマ
ンスデータを当該データを生成したソースコード及びア
センブリコードに関連付けることができる。
【0032】図4は、A及びBとラベルされた2つの部
分を備えたディスプレイ400を示したものである。A
とラベルされた第一の部分は、スレッド、時間、状態、
及びパフォーマンスという4つの要素でのアプリケーシ
ョンプログラムのパフォーマンス特性を示したものであ
る。各スレッドについてのパフォーマンス情報は、棒グ
ラフタイプの様式を用いて水平に表示される。時間は、
横軸に表示され、パフォーマンスは、縦軸に表示され
る。
【0033】ディスプレイ400上の2つのスレッド、
即ち、スレッド1及びスレッド2は、同時に実行され
る。図示されるように、スレッド1についての横軸は、
402とラベルされている。スレッド1は、横軸402
上の「x」とラベルされた時間上のポイントで実行を開
始する。スレッド2についての横軸は、404とラベル
されている。スレッド2は、時間「b」で実行を開始す
る。各スレッドは、マルチ状態でオペレーションを実行
し、各状態は、異なるパターンで表される。スレッド2
は、測定周期の開始点では、アイドル状態である。この
ようなアイドル状態をとる理由の一つとして、スレッド
2がスレッド1からのリソースを待つ状態にあることが
挙げられる。この情報に基づいて、ディベロッパーは、
状態間にあるスレッドにオペレーションを割り当てるこ
とができる。この割当は、パフォーマンスを改善するた
めに、例えば、同一のシステムリソースの同時使用を要
求するオペレーションを実行することなくなされる。
【0034】図示されるように、スレッド1は、横軸4
02の時間「x」のポイントで、状態410になり、そ
の状態410を時間「y」まで維持し、時間「m」で状
態420になり、その状態420を時間「n」まで維持
する。「x」と「y」との間の水平距離は、「m」と
「n」との間の水平距離よりも短い。従って、スレッド
1は、状態420でオペレーションが実行された時間の
方が状態410でオペレーションが実行された時間より
も長くなっている。棒の垂直高さは、パフォーマンスレ
ベルを示している。状態410の垂直高さは、状態42
0の垂直高さよりも低くなっており、これにより、状態
410と状態420とは、異なったパフォーマンスレベ
ルでオペレーションが実行されていることがわかる。実
行スレッドがある状態から他の状態へ遷移するにつれて
の垂直高さの変化は、パフォーマンスレベルの変化に対
応している。この情報は、パフォーマンスの連続状態間
の遷移の影響を識別するのに用いることができる。更
に、この情報によりディベロッパーの注意をプログラム
エリアに差し向けることができ、パフォーマンス増加と
いう変化を起こさせることが可能となる。
【0035】Bとラベルされたディスプレイの下半分
は、パフォーマンスアナライザのインタフェースの評価
形態を表したものである。ディベロッパーは、選択され
た状態のパフォーマンス測定法に対応した演算式を指定
する。パフォーマンスアナライザは、収集されたパフォ
ーマンスデータ用の式の値を演算する。
【0036】図示される例によれば、ディベロッパー
は、状態440を選択している。最初の式「NUM_OPS/(1
00000*TIME)」は、一秒(MFLOPS)当たりの浮動小数点
命令の回数(100万の単位)を演算するためのもので
ある。2番目の式「2*_CPU_MHZ」は、指定した状態のパ
フォーマンスの理論ピークレベルを演算するためのもの
である。パフォーマンスアナライザは、特定状態につい
ての数量的情報を提供することに関して、これらの2つ
の式を評価するものであればよい。例えば、MFLOPSを状
態440の理論ピークパフォーマンスレベルで除算する
ことにより、パフォーマンスアナライザは、状態440
における各オペレーションにより表された理論ピークの
パーセンテージ計算してディベロッパーに呈示する。
【0037】結論 本発明に係る方法及びシステムは、ハードウエア及びア
プリケーションプログラムのソフトウエアコンポーネン
トからパフォーマンスデータを収集し、これによって、
ディベロッパーは、どのようにパフォーマンスデータが
プログラムの各スレッドに関連しているかを理解するこ
とができる。更に、このようなパフォーマンスデータの
収集は、結局のところ、ディベロッパーがプログラム内
で生じたパフォーマンス発行を理解したり、順次診断し
たりするのを補助することになる。
【0038】以上本発明の実施の形態について説明した
が、本発明の趣旨と範囲を逸脱しない範囲で種々の変更
が可能であることは、いわゆる当業者にとって自明であ
る。本発明の範囲は、特許請求の範囲とそれを裏付ける
記述によって定められる。
【0039】
【発明の効果】本発明に係る請求項1乃至3に記載のパ
フォーマンス解析方法は、測定期間内に実行される各ス
レッドの状態を反映し収集すべきものと指定されたデー
タを受信し、プログラム実行中に生成されたデータファ
イルにアクセスして当該測定期間内の各スレッド状態に
対応するパフォーマンスレベルを表示するものであるか
ら、ディベロッパーは、どのようにパフォーマンスデー
タがプログラムの各スレッドに関連しているかを判断す
ることができるとともに、プログラム内で生じたパフォ
ーマンス発行の理解や、その順次診断が簡単になる。従
って、本発明によれば、パフォーマンス解析を容易に行
うことができるという利点がある。
【図面の簡単な説明】
【図1】本発明に係るパフォーマンス解析システムを実
装するのに好適なデータプロセッシングシステムを示し
た図である。
【図2】本発明に係る方法、システム及び装置の一実施
形態に係るパフォーマンス解析システムのブロック構成
を示した図である。
【図3】本発明の一実施形態に係るパフォーマンス解析
システムにより実行されるオペレーションを説明したフ
ローチャートである。
【図4】本発明の一実施形態に係り、アプリケーション
プログラムのパフォーマンスデータの多要素ディスプレ
イを示した図である。
【符号の説明】
100 データプロセッシングシステム 105 コンピュータシステム 110 プログラム 115,230 パフォーマンスアナライザ 115a パフォーマンス解析ライブラリ 115b パフォーマンス解析インタフェース 130 メモリ 140 補助記憶デバイス 150,220 プロセッサ 160 ビデオディスプレイ 165 システムバス 170 入力デバイス 180 ネットワーク 210 プログラム 212,214,216,218 スレッド 240 メモリ 250 リザーブエリア 245 メモリセグメント 260 ディスプレイ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェレミー ウイーク アメリカ合衆国 80020 コロラド州、チ ェリーウッドストリート 12176 (72)発明者 マイケル ブッシェ アメリカ合衆国 80029 コロラド州、レ イフェイット、キャシーコート 1769 (72)発明者 シャウン デニー アメリカ合衆国 80030 コロラド州、ウ エストミンスター、ウエスト97アベニュー #13 3447

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 測定期間内に実行される各スレッドの状
    態を反映するデータを受信する受信工程と、 前記測定期間内の各スレッド状態に対応するパフォーマ
    ンスレベルを表示する表示工程とからなることを特徴と
    するデータプロセッシングシステム内で実行されるスレ
    ッドのパフォーマンス解析方法。
  2. 【請求項2】 前記受信工程は、前記測定期間内に収集
    されるべきデータを指定する指定工程を含むことを特徴
    とする請求項1に記載のパフォーマンス解析方法。
  3. 【請求項3】 前記表示工程は、プログラム実行中に生
    成されたデータファイルにアクセスするアクセス工程を
    含むことを特徴とする請求項1に記載のパフォーマンス
    解析方法。
  4. 【請求項4】 プログラム実行中にパフォーマンスレベ
    ルを反映するデータを生成する命令をプログラムに挿入
    する挿入工程と、 前記プログラムを実行する実行工程と、 測定期間内に前記プログラム内で動作するスレッドの状
    態に応じて前記パフォーマンスデータを表示する表示工
    程とからなることを特徴とするデータプロセッシングシ
    ステム内で実行されるスレッドのパフォーマンス解析方
    法。
  5. 【請求項5】 パフォーマンスデータを生成する命令に
    より操作されたプログラムとを受信する受信工程と、 前記プログラムを実行し、前記パフォーマンスデータを
    収集する実行収集工程と、 測定期間内の各スレッド状態に対応するパフォーマンス
    レベルを表示する表示工程とからなることを特徴とする
    データプロセッシングシステム内で実行されるスレッド
    のパフォーマンス解析方法。
  6. 【請求項6】 パフォーマンスデータを収集するため
    に、実行中のプログラムの特定の時間間隔を指定する指
    定工程と、 前記プログラムの実行中に生成されたパフォーマンスレ
    ベルに対応するデータを表示する表示工程とからなるこ
    とを特徴とするマルチプロセッサコンピュータシステム
    内で実行されるスレッドのパフォーマンス解析方法。
  7. 【請求項7】 特定状態におけるスレッドの実行に関す
    るパフォーマンスデータの収集を指定するための拡張コ
    マンドセットと、 収集された前記パフォーマンスデータを記憶するための
    記憶エリアとを備えたことを特徴とするマルチプロセッ
    サ環境において実行されるスレッドのパフォーマンスデ
    ータ収集システム。
  8. 【請求項8】 操作されたプログラムから生成されたパ
    フォーマンスデータセットと、 前記パフォーマンスデータに対応する各スレッドのパフ
    ォーマンスレベルの表示器とを備えたことを特徴とする
    マルチプロセッサ環境において実行されるスレッドのパ
    フォーマンスデータ表示システム。
  9. 【請求項9】 アプリケーションプログラムがマルチス
    レッドを用いて実行され、各実行スレッドが複数の状態
    を遷移していくデータプロセッシングシステムに用いて
    好適なパフォーマンス解析方法であって、 測定期間内の各スレッドの複数の状態においてアプリケ
    ーションプログラムの所定のパフォーマンスに関する主
    要事項に対応するデータを読み出す読出工程と、 前記主要事項に対応するパフォーマンスレベルを表示
    し、各状態における時間軸上の全てのポイントにおける
    パフォーマンスの変化を反映する表示反映工程とを備え
    たことを特徴とするデータプロセッシングシステム内で
    実行されるアプリケーションプログラムのパフォーマン
    ス解析方法。
JP2000024065A 1999-02-04 2000-02-01 アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置 Pending JP2000235511A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/244895 1999-02-04
US09/244,895 US6434714B1 (en) 1999-02-04 1999-02-04 Methods, systems, and articles of manufacture for analyzing performance of application programs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011264395A Division JP5432973B2 (ja) 1999-02-04 2011-12-02 アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置

Publications (1)

Publication Number Publication Date
JP2000235511A true JP2000235511A (ja) 2000-08-29

Family

ID=22924533

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000024065A Pending JP2000235511A (ja) 1999-02-04 2000-02-01 アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置
JP2011264395A Expired - Lifetime JP5432973B2 (ja) 1999-02-04 2011-12-02 アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011264395A Expired - Lifetime JP5432973B2 (ja) 1999-02-04 2011-12-02 アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置

Country Status (3)

Country Link
US (1) US6434714B1 (ja)
EP (1) EP1026592A3 (ja)
JP (2) JP2000235511A (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076784B1 (en) * 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
US6593940B1 (en) * 1998-12-23 2003-07-15 Intel Corporation Method for finding errors in multithreaded applications
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
US7086007B1 (en) 1999-05-27 2006-08-01 Sbc Technology Resources, Inc. Method for integrating user models to interface design
US7224790B1 (en) 1999-05-27 2007-05-29 Sbc Technology Resources, Inc. Method to identify and categorize customer's goals and behaviors within a customer service center environment
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
US7035989B1 (en) 2000-02-16 2006-04-25 Sun Microsystems, Inc. Adaptive memory allocation
US20040006473A1 (en) * 2002-07-02 2004-01-08 Sbc Technology Resources, Inc. Method and system for automated categorization of statements
US6778643B1 (en) 2000-03-21 2004-08-17 Sbc Technology Resources, Inc. Interface and method of designing an interface
US6802057B1 (en) 2000-05-03 2004-10-05 Sun Microsystems, Inc. Automatic generation of fortran 90 interfaces to fortran 77 code
KR100361340B1 (ko) * 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6986130B1 (en) 2000-07-28 2006-01-10 Sun Microsystems, Inc. Methods and apparatus for compiling computer programs using partial function inlining
US6681345B1 (en) * 2000-08-15 2004-01-20 International Business Machines Corporation Field protection against thread loss in a multithreaded computer processor
US6910107B1 (en) 2000-08-23 2005-06-21 Sun Microsystems, Inc. Method and apparatus for invalidation of data in computer systems
KR100613201B1 (ko) * 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
US7406681B1 (en) 2000-10-12 2008-07-29 Sun Microsystems, Inc. Automatic conversion of source code from 32-bit to 64-bit
US6957208B1 (en) * 2000-10-31 2005-10-18 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for performance analysis using semantic knowledge
JP2002328818A (ja) * 2001-02-27 2002-11-15 Sony Computer Entertainment Inc 情報処理装置、統合型情報処理装置、実行負荷計測方法、コンピュータプログラム
JP3491617B2 (ja) * 2001-03-01 2004-01-26 日本電気株式会社 運用レポート作成方式、運用レポート作成方法および運用レポート作成用プログラム
US7478368B2 (en) * 2001-04-24 2009-01-13 International Business Machines Corporation Organization and visualization of performance data in selected display modes
US7065201B2 (en) * 2001-07-31 2006-06-20 Sbc Technology Resources, Inc. Telephone call processing in an interactive voice response call management system
US7096388B2 (en) * 2001-08-08 2006-08-22 Avaya Technology Corp. Fault tolerance software system with periodic external self-test failure detection
CA2358563A1 (en) * 2001-10-05 2003-04-05 Ibm Canada Limited - Ibm Canada Limitee Method and system for managing software testing
US7305070B2 (en) * 2002-01-30 2007-12-04 At&T Labs, Inc. Sequential presentation of long instructions in an interactive voice response system
US6914975B2 (en) 2002-02-21 2005-07-05 Sbc Properties, L.P. Interactive dialog-based training method
US7272820B2 (en) * 2002-12-12 2007-09-18 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
US7603340B2 (en) * 2003-09-04 2009-10-13 Oracle International Corporation Automatic workload repository battery of performance statistics
US7673291B2 (en) * 2003-09-05 2010-03-02 Oracle International Corporation Automatic database diagnostic monitor architecture
US7421621B1 (en) * 2003-09-19 2008-09-02 Matador Technologies Corp. Application integration testing
US7533371B1 (en) * 2003-09-22 2009-05-12 Microsoft Corporation User interface for facilitating performance analysis for processing
US7027586B2 (en) 2003-12-18 2006-04-11 Sbc Knowledge Ventures, L.P. Intelligently routing customer communications
JP4237661B2 (ja) * 2004-03-25 2009-03-11 株式会社東芝 システムlsiの設計支援システム及び設計支援方法
US7480834B2 (en) * 2005-01-06 2009-01-20 International Business Machines Corporation System and method for monitoring application availability
US7797585B1 (en) * 2005-05-09 2010-09-14 Emc Corporation System and method for handling trace data for analysis
US7577875B2 (en) * 2005-09-14 2009-08-18 Microsoft Corporation Statistical analysis of sampled profile data in the identification of significant software test performance regressions
US7474991B2 (en) * 2006-01-19 2009-01-06 International Business Machines Corporation Method and apparatus for analyzing idle states in a data processing system
US9323578B2 (en) 2006-01-19 2016-04-26 International Business Machines Corporation Analyzing wait states in a data processing system
US20080313628A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Metrics pack distribution for data reporting tool
US8990811B2 (en) 2007-10-19 2015-03-24 Oracle International Corporation Future-based performance baselines
US8719801B2 (en) * 2008-06-25 2014-05-06 Microsoft Corporation Timing analysis of concurrent programs
US9691171B2 (en) 2012-08-03 2017-06-27 Dreamworks Animation Llc Visualization tool for parallel dependency graph evaluation
CN102945198B (zh) * 2012-10-19 2016-03-02 浪潮电子信息产业股份有限公司 一种表征高性能计算应用特征的方法
US9454423B2 (en) * 2013-09-11 2016-09-27 Dell Products, Lp SAN performance analysis tool
US9317349B2 (en) 2013-09-11 2016-04-19 Dell Products, Lp SAN vulnerability assessment tool
US9720758B2 (en) 2013-09-11 2017-08-01 Dell Products, Lp Diagnostic analysis tool for disk storage engineering and technical support
US10223230B2 (en) 2013-09-11 2019-03-05 Dell Products, Lp Method and system for predicting storage device failures
IN2014MU00158A (ja) 2014-01-16 2015-08-28 Tata Consultancy Services Ltd
US9436411B2 (en) 2014-03-28 2016-09-06 Dell Products, Lp SAN IP validation tool
WO2017023324A1 (en) * 2015-08-06 2017-02-09 Hewlett Packard Enterprise Development Lp Application component warnings based upon performance ratings
US20170147422A1 (en) * 2015-11-23 2017-05-25 Alcatel-Lucent Canada, Inc. External software fault detection system for distributed multi-cpu architecture

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635752A (ja) * 1992-07-14 1994-02-10 Mitsubishi Electric Corp 解析プログラム生成方式
JPH06168111A (ja) * 1992-11-30 1994-06-14 Fuji Facom Corp デバッグ文の自動作成方式
JPH1040224A (ja) * 1996-07-26 1998-02-13 Hitachi Ltd 並列計算機内部ネットワークの挙動監視システム

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0138535A3 (en) 1983-10-13 1987-01-28 British Telecommunications Plc Visual display logic simulation system
US4812996A (en) 1986-11-26 1989-03-14 Tektronix, Inc. Signal viewing instrumentation control system
EP0473714A1 (en) 1989-05-26 1992-03-11 Massachusetts Institute Of Technology Parallel multithreaded data processing system
US5079707A (en) 1990-01-19 1992-01-07 The Boeing Company Integrated certification-calibration system for a testing system having multiple test instruments
US5325499A (en) 1990-09-28 1994-06-28 Tandon Corporation Computer system including a write protection circuit for preventing illegal write operations and a write poster with improved memory
JPH0816877B2 (ja) * 1991-06-10 1996-02-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム用資源データの実時間捕獲及び減縮方法及びシステム
JPH0774984B2 (ja) * 1991-06-10 1995-08-09 インターナショナル・ビジネス・マシーンズ・コーポレイション システム資源利用率測定方法とデータ処理システム
GB9123271D0 (en) 1991-11-02 1991-12-18 Int Computers Ltd Data processing system
US5742793A (en) 1991-12-18 1998-04-21 Intel Corporation Method and apparatus for dynamic memory management by association of free memory blocks using a binary tree organized in an address and size dependent manner
US5553235A (en) * 1992-10-23 1996-09-03 International Business Machines Corporation System and method for maintaining performance data in a data processing system
US5675790A (en) 1993-04-23 1997-10-07 Walls; Keith G. Method for improving the performance of dynamic memory allocation by removing small memory fragments from the memory pool
US5519866A (en) 1993-06-28 1996-05-21 Taligent, Inc. Method and apparatus of incrementally linking components of a modeled computer program
US5325533A (en) 1993-06-28 1994-06-28 Taligent, Inc. Engineering system for modeling computer programs
US5500881A (en) 1993-07-12 1996-03-19 Digital Equipment Corporation Language scoping for modular, flexible, concise, configuration descriptions
US5748961A (en) 1993-07-12 1998-05-05 Digital Equipment Corporation Efficient method and apparatus for compiling and linking modules of computer code in a large software system
US5485574A (en) * 1993-11-04 1996-01-16 Microsoft Corporation Operating system based performance monitoring of programs
US5845310A (en) * 1993-12-15 1998-12-01 Hewlett-Packard Co. System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses
US5636374A (en) 1994-01-04 1997-06-03 Intel Corporation Method and apparatus for performing operations based upon the addresses of microinstructions
US5963975A (en) 1994-04-19 1999-10-05 Lsi Logic Corporation Single chip integrated circuit distributed shared memory (DSM) and communications nodes
CA2147036A1 (en) * 1994-05-16 1995-11-17 Yih-Farn Robin Chen System and method for selective regression testing
US5724262A (en) 1994-05-31 1998-03-03 Paradyne Corporation Method for measuring the usability of a system and for task analysis and re-engineering
US5613063A (en) 1994-07-01 1997-03-18 Digital Equipment Corporation Method and apparatus for checking validity of memory operations
US5689712A (en) 1994-07-27 1997-11-18 International Business Machines Corporation Profile-based optimizing postprocessors for data references
DE59410112D1 (de) 1994-09-19 2002-06-06 Siemens Ag Speicherverwaltungssystem eines Rechnersystems
US5675802A (en) 1995-03-31 1997-10-07 Pure Atria Corporation Version control system for geographically distributed software development
US5581696A (en) 1995-05-09 1996-12-03 Parasoft Corporation Method using a computer for automatically instrumenting a computer program for dynamic debugging
US6101525A (en) 1995-05-19 2000-08-08 Emc Corporation Method and apparatus for shared memory cleanup
US6016474A (en) 1995-09-11 2000-01-18 Compaq Computer Corporation Tool and method for diagnosing and correcting errors in a computer program
US5784698A (en) 1995-12-05 1998-07-21 International Business Machines Corporation Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US5850554A (en) 1995-12-29 1998-12-15 Intel Corporation Compiler tool set for efficiently generating and easily managing multiple program versions of different types
US5805795A (en) * 1996-01-05 1998-09-08 Sun Microsystems, Inc. Method and computer program product for generating a computer program product test that includes an optimized set of computer program product test cases, and method for selecting same
US5867649A (en) 1996-01-23 1999-02-02 Multitude Corporation Dance/multitude concurrent computation
US5978892A (en) 1996-05-03 1999-11-02 Digital Equipment Corporation Virtual memory allocation in a virtual address space having an inaccessible gap
US6058460A (en) 1996-06-28 2000-05-02 Sun Microsystems, Inc. Memory allocation in a multithreaded environment
US5787480A (en) 1996-07-17 1998-07-28 Digital Equipment Corporation Lock-up free data sharing
US5905488A (en) 1996-10-11 1999-05-18 Xerox Corporation Local inking with gray pixels
US5835705A (en) * 1997-03-11 1998-11-10 International Business Machines Corporation Method and system for performance per-thread monitoring in a multithreaded processor
US6044438A (en) 1997-07-10 2000-03-28 International Business Machiness Corporation Memory controller for controlling memory accesses across networks in distributed shared memory processing systems
US5872977A (en) 1997-08-08 1999-02-16 International Business Machines Corporation Object-oriented method and apparatus for creating a makefile
US5974536A (en) 1997-08-14 1999-10-26 Silicon Graphics, Inc. Method, system and computer program product for profiling thread virtual memory accesses
GB9717718D0 (en) 1997-08-22 1997-10-29 Philips Electronics Nv Memory management with compaction of data blocks
US5991893A (en) 1997-08-29 1999-11-23 Hewlett-Packard Company Virtually reliable shared memory
US6065019A (en) 1997-10-20 2000-05-16 International Business Machines Corporation Method and apparatus for allocating and freeing storage utilizing multiple tiers of storage organization
US6018793A (en) 1997-10-24 2000-01-25 Cirrus Logic, Inc. Single chip controller-memory device including feature-selectable bank I/O and architecture and methods suitable for implementing the same
US6098169A (en) * 1997-12-23 2000-08-01 Intel Corporation Thread performance analysis by monitoring processor performance event registers at thread switch
US5963726A (en) 1998-03-20 1999-10-05 National Instruments Corporation Instrumentation system and method including an improved driver software architecture
US6249906B1 (en) * 1998-06-26 2001-06-19 International Business Machines Corp. Adaptive method and system to minimize the effect of long table walks
US6978357B1 (en) 1998-07-24 2005-12-20 Intel Corporation Method and apparatus for performing cache segment flush and cache segment invalidation operations
US6269457B1 (en) * 2000-06-01 2001-07-31 Testing Technologies, Inc. Technology regression and verification acceptance method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635752A (ja) * 1992-07-14 1994-02-10 Mitsubishi Electric Corp 解析プログラム生成方式
JPH06168111A (ja) * 1992-11-30 1994-06-14 Fuji Facom Corp デバッグ文の自動作成方式
JPH1040224A (ja) * 1996-07-26 1998-02-13 Hitachi Ltd 並列計算機内部ネットワークの挙動監視システム

Also Published As

Publication number Publication date
EP1026592A2 (en) 2000-08-09
US20020073360A1 (en) 2002-06-13
EP1026592A3 (en) 2004-05-12
JP5432973B2 (ja) 2014-03-05
US6434714B1 (en) 2002-08-13
JP2012094166A (ja) 2012-05-17

Similar Documents

Publication Publication Date Title
JP5432973B2 (ja) アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置
US6332212B1 (en) Capturing and displaying computer program execution timing
Miller et al. IPS-2: The second generation of a parallel program measurement system
US8392930B2 (en) Resource contention log navigation with thread view and resource view pivoting via user selections
US7757202B2 (en) System and method for memory leak detection in a virtual machine environment
US7945900B2 (en) Debugging tool for debugging multi-threaded programs
JP5326374B2 (ja) プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法
JPH0823837B2 (ja) サンプリング性能分析方法及び装置
Miller et al. IPS: An Interactive and Automatic Performance Measurement Tool for Parallel and Distributed Programs.
EP0953908A2 (en) Method, apparatus, and article of manufacture for time profiling multithreaded programs
JPH05197594A (ja) データ処理システム用資源データの実時間捕獲及び減縮方法及びシステム
Hofer et al. Efficient tracing and versatile analysis of lock contention in Java applications on the virtual machine level
CN111241447A (zh) 一种网页数据采集方法、系统及存储介质
US20040168157A1 (en) System and method for creating a process invocation tree
US20020059544A1 (en) Methods and systems for determining and displaying activities of concurrent processes
JPH09212385A (ja) 並列プログラムデバッグ装置
Heath et al. Paragraph: A performance visualization tool for MPI
US20080010555A1 (en) Method and Apparatus for Measuring the Cost of a Pipeline Event and for Displaying Images Which Permit the Visualization orf Said Cost
CN116594750A (zh) 一种函数调用收集方法、装置、设备、存储介质及产品
KR20040039648A (ko) 데이터베이스 성능 관리 기법
Tallent et al. Identifying performance bottlenecks in work-stealing computations
Demurjian et al. Performance measurement methodologies for database systems
JP2011118596A (ja) 情報処理装置およびプロファイリング方法
Wang et al. CAT: Context aware tracing for rust asynchronous programs
JP2003022201A (ja) プログラムのデバッグ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110303

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110613

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202