JP4479660B2 - クロック・スキュー補正システム、クロック・スキュー補正方法およびクロック・スキュー補正用プログラム - Google Patents

クロック・スキュー補正システム、クロック・スキュー補正方法およびクロック・スキュー補正用プログラム Download PDF

Info

Publication number
JP4479660B2
JP4479660B2 JP2006003626A JP2006003626A JP4479660B2 JP 4479660 B2 JP4479660 B2 JP 4479660B2 JP 2006003626 A JP2006003626 A JP 2006003626A JP 2006003626 A JP2006003626 A JP 2006003626A JP 4479660 B2 JP4479660 B2 JP 4479660B2
Authority
JP
Japan
Prior art keywords
time
computer
trace data
event
clock skew
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
JP2006003626A
Other languages
English (en)
Other versions
JP2007188152A (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 JP2006003626A priority Critical patent/JP4479660B2/ja
Priority to US11/651,156 priority patent/US7430493B2/en
Publication of JP2007188152A publication Critical patent/JP2007188152A/ja
Application granted granted Critical
Publication of JP4479660B2 publication Critical patent/JP4479660B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ほぼ同じ時間帯に複数の測定対象マシンで採取したトレース・データを入力として、そのデータに記録されているマシン間で行なわれた通信操作に関するイベント情報を利用して性能分析を実施する性能分析に関する。
従来のイベント・トレースを採取するシステムの一例が、特許文献1に記載されている。図2に示すように、このイベント・トレースを採取するシステムは、トレース・データ記録手段213と、トレース・データ記録媒体202と、オペレーティング・システム210に含まれるプローブとから構成されている。
このような構成を有する従来のイベント・トレースを採取するシステムでは、イベントが発生した時刻(タイム・スタンプ)を測定対象システムのハードウエアが備える時計201を用いて得ていた。マシンの時計は、マシンによって進み方が若干異なっているため、複数の測定対象マシンからイベント・トレースを採取する場合、それらのタイム・スタンプの進み方(タイム・スタンプ値の1に対応する時間)が僅か(10の-5〜-6乗のオーダー)にずれていることになる。
このような複数のトレース・データを入力として性能分析を行なう場合、トレース・データ採取を開始した時刻のずれを補正する技術が特許文献2に記載されている。この技術では、測定対象マシン間で行なわれる通信操作を利用してトレース採取開始時刻のずれを補正するため、通信操作の送信イベンと別のマシンでの受信イベントを正確に対応付ける必要がある。しかし、トレース採取期間が長時間になると、図11および図12に示したように、トレース・データ採取期間の最初(前半)では送信イベントと受信イベントの対応が取れるが、トレース・データ採取期間の最後(後半)では送信イベントと受信イベントの対応が取れなくなり(タイム・スタンプ上、受信イベントの方が送信イベントより先に発生する)、トレース採取開始時刻のずれが補正できない、という問題があった。
また、通信時間を分析する場合でも、トレース・データ採取期間の最初(前半)では通信時間がほぼ正確に求められるが、時間の経過につれて通信時間が不正確になっていく、という問題点もあった。
特開2003-157185 特開2005-235054
複数マシンについて同時にイベント・トレースを採取し、マシン間で行なわれる通信の対応関係を考慮した解析を行なう場合、各マシン間で時計の進み方が微妙に異なるため、トレース・データに含まれるタイム・スタンプからマシン間通信を抽出しようとすると、トレース採取期間の前半と後半で送信時刻と受信時刻の関係が狂うため、マシン間通信を正確に抽出できない、という問題点があった。
上記の問題を図11で説明する。この図は、2台のマシン間で行なわれる通信をタイム・チャートとして示したものであり、斜めの矢印がマシン間の通信を示している。矢印の根元が送信操作に対応しており、矢印の先が受信操作に対応している。ここで、マシン2の時計はマシン1の時計に対して0.0001倍進んでおり、簡単のため時刻0では両マシンの時計は一致している状況を考える。以降、マシン1の時計が示す値を絶対時刻と呼ぶことにする。すなわち、マシン2の時計は、絶対時刻の1.0001倍となるわけである。図に示した通り、絶対時刻が1と101のときにマシン1からマシン2に送信が行なわれ、絶対時刻が2と102のときにマシン2からマシン1への送信が行なわるものとし、その通信時間は絶対時刻で0.001かかる、という状況を考える。
マシン1が絶対時刻1で送信操作を行なった通信は、絶対時刻1.001でマシン2が受信操作を行なう。この受信操作の時刻をマシン2の時計で調べると、1.001の1.0001倍である1.0011001となる。逆に、マシン2が絶対時刻2(マシン2の時計では2.0002)で送信操作を行なった通信は、絶対時刻2.001でマシン1が受信操作を行なう。同様に、マシン1が絶対時刻101で送信操作を行なった通信は、絶対時刻101.001(マシン2の時計は101.0111001を示す)でマシン2が受信操作、マシン2が時刻102(マシン2の時計は102.0102を示す)で送信操作を行なった通信は、時刻102.001でマシン1が受信操作を行なう。
ここで、この動作状況について送信操作と受信操作をトレース対象に含むイベント・トレースをマシン1とマシン2で採取することを考える。図2に、トレース・データを採取するマシン1台の構成を示す。図2に示すとおり、トレース・データはトレース・データ記録手段213によってトレース・データ記録媒体202(マシンのメモリ中に割り当てた領域など)に記録される。このトレース・データ記録手段213は、オペレーティング・システム210内に組み込まれたプローブが実行される度に呼び出され、プローブに対応したイベント・データをトレース・データ記録媒体202に記録する。このマシンが備えるプローブには、オペレーティング・システムが備えるデータ受信手段211とデータ送信手段212内にも設置されるものを含む。夫々、データ受信操作やデータ送信操作が実行されたときにトレース・データ記録手段213を呼び出して、受信操作や送信操作が行なわれたことをイベント・データとしてトレース・データ記録媒体202に記録する。このイベント・データには、イベントの種類を示す情報とイベントの発生時刻を示すタイム・スタンプ情報が含まれるものとし、タイム・スタンプは、各マシンの時計201より得るものとする。タイム・スタンプとして絶対時刻を使用しないのは、困難、もしくは、絶対時刻を取得するために発生するオーバーヘッドのため、イベント・トレースとしての実用性がなくなってしまうためである。
2台のマシンから採取されたイベント・トレースより、各通信についての送信操作、受信操作の時刻を抽出し、トレース・データに記録されているタイム・スタンプを元に通信時間(=受信時刻-送信時刻)を計算すると、図12に示す結果となる。ここで、絶対時刻102から102.001にかけて行なわれた通信操作についての通信時間を計算すると負の値となる。すなわち、見かけ上、送信操作の前に受信操作が行なわれるという矛盾した現象となってしまう。また、他の3つの通信についても、見かけ上、通信時間が時刻の経過と共に変化する結果となっている。このため、このようなトレース・データを入力としてマシン間通信について分析しようとしても、正確な結果が得られないという問題となっていた。
本発明のイベントトレース・データの時刻補正方法は、複数の計算機でプログラム実行に伴って発生するイベントを時系列データとして記録したイベントトレース・データに含まれるイベントの発生時刻を補正するイベントトレース・データの時刻補正方法であって、複数の測定対象計算機に内蔵されている時計の進み方の違いであるクロック・スキュー値を求めるステップと、前記の測定対象計算機で任意のプログラムを動作させて採取したイベントトレース・データに含まれるイベントの発生時刻を、前記のステップで求めたクロック・スキュー値を利用して補正するステップ、を有することを特徴とする。
また、本発明のイベントトレース・データの時刻補正方法は、さらに、複数の測定対象計算機に内蔵されている時計の進み方の違いであるクロック・スキュー値を求めるステップは、ある計算機で送信プログラム、別の計算機で受信プログラムを動作させてイベントトレース・データを採取するステップと、採取したイベントトレース・データの分析により、計算機に内蔵されている時計の進み方の違いであるクロック・スキュー値を求めるステップ、すなわち、まず、送信プログラムを動作させた計算機から採取したイベントトレース・データに含まれる複数の送信イベントと、受信プログラムを動作させた計算機から採取したイベントトレース・データに含まれる複数の受信イベントの対応を取り、次に、受信イベントの発生時刻と対応する送信イベントの発生時刻の差から通信時間を求め、最後に、時刻に対する通信時間の変化を一次式で近似することによりクロック・スキュー値を求めるステップから構成されることを特徴とする。
また、本発明のイベントトレース・データの時刻補正方法は、さらに、イベントトレース・データの分析から求めた時刻に対する通信時間の変化を一次式で近似し、その一次式から求めた通信時間とトレース・データの分析から求めた通信時間の差によって、クロック・スキュー値の有効性を判断することを特徴とする。

また、本発明のイベントトレース・データの時刻補正方法は、さらに、クロック・スキュー値が有効でないと判断された場合、時刻に対する通信時間の変化を近似した一次式から求めた通信時間と、トレース・データの分析から求めた通信時間の差が大きい通信操作の分析対象外としてクロック・スキュー値を再度分析することを特徴とする。
第1の効果は、複数の測定対象マシンで採取された複数のトレース・データを入力として各種の性能分析を行なう場合、トレース・データ中のタイム・スタンプの進みを揃えることができるため、各種の性能分析を行なうプログラムの構造を単純化できることにある。
その理由は、送信プログラムと受信プログラムを複数の測定対象マシン上で動作させて採取したイベント・トレースの分析により求めたクロック・スキュー値を利用し、任意の測定プログラムを前記測定対象マシン上で動作させて採取したイベント・トレース中のタイム・スタンプを時刻補正手段により補正するためである。
(第一の実施例)
次に、本発明の第一の実施例の構成について図面を参照して詳細に説明する。
図1を参照すると、本発明の第一の実施例は、プログラム制御により動作するマシン1 110、マシン2 120と、クロック・スキュー分析のため各マシン上で動作する送信プログラム111、受信プログラム112と、クロック・スキュー分析手段100と、クロック・スキュー適用のため各マシン上で動作する測定対象プログラム1 112、測定対象プログラム2 122と時刻補正手段101 と性能分析手段102とから構成されている。なお、クロック・スキュー分析手段100、時刻補正手段101 、と性能分析手段102は、マシン1 110、マシン2 120のどちらか、またはマシン1 110、マシン2 120以外の別のコンピュータに配置することができる。
各マシンは、時計114,124とトレース・データ記録媒体113,123をハードウエアとして備え、トレース・データ記録手段115,125とデータ受信手段121とデータ送信手段111を内蔵するオペレーティング・システム(図示しない)と、測定対象プログラム112,122とを含む。なお、図1において、マシン1側のデータ受信手段、マシン2側のデータ送信手段は図示していない。また、データ受信手段121とデータ送信手段111は、トレース・データ記録手段115,125を呼び出すためのプローブ(図示しない)を含む。これらの手段はそれぞれ概略つぎのように動作する。
マシン1や2に内蔵されているトレース・データ記録手段115,125は、オペレーティング・システム内に設置されたプローブが実行される、すなわち、測定対象イベントが発生することにより呼び出され、そのイベントについての情報をイベント・データとしてトレース・データ記録媒体113,123に記録していく。クロック・スキュー分析手段100は、送信プログラム111が実行されたマシンおよび受信プログラム121が実行されたマシンにてほぼ同時に採取されてトレース・データ記録媒体113,123に記録されたトレース・データを入力として、両マシン間の時計の進み方の違い(クロック・スキュー値)を求める。
時刻補正手段101は、マシン1 110 、マシン2 120上で測定対象プログラム112,122を実行させて採取したトレース・データを入力として各種の性能分析を行なう際、前記の手順で求めたクロック・スキュー値を利用してトレース・データ中のタイム・スタンプを補正する。性能分析手段102では、タイム・スタンプの進みが揃った複数のトレース・データを入力して各種の性能分析を行い、分析結果を出力する。
次に、図1、図2及び図3と図4のフローチャートを参照して本発明の実施例の動作について詳細に説明する。
最初に行なうクロック・スキュー分析作業では、まず、マシン1 110上で送信プログラム111、マシン2 120上で受信プログラム 121を動作させ、そのときの動作状況を両マシンに含まれるトレース・データ記録手段115,125により記録する。ここで、送信プログラムが行なう送信操作や受信プログラムが行なう受信操作は、各マシンのオペレーティング・システムに含まれるデータ送信手段111やデータ受信手段121により行なわれる。図2と同様に、データ送信手段111とデータ受信手段121にはプローブが設置されており、データ送信操作やデータ受信操作が行なわれたときにトレース・データ記録手段115,125を呼び出すようになっている。トレース・データ記録手段115,125は、プローブを経由して呼び出されると、そのときの時刻をマシンのハードウエアが備える時計114,124より調べてタイム・スタンプ情報を作成し、イベントの種類(どのプローブから呼び出されたのか)を示す情報と合わせてトレース・データ記録媒体113,123に記録する。この操作を測定期間(トレース・データ収集期間)中、継続して実行することにより、トレース・データ記録媒体113,123には、そのマシンで発生したイベントの時系列データ(トレース・データ)が記録される。
図3に送信プログラム111の動作フローを示す。送信プログラム111には、起動時のパラメータとして、通信相手、通信回数、通信間隔を与える。起動直後に、前記3つのパラメータを読み込むと、指定された通信相手にデータを送って指定された通信間隔待つ、という操作を指定された通信回数繰り返した後、通信相手に通信終了を通知する。また、図4に受信プログラム121の操作フローを示す。受信プログラム121には、起動時のパラメータとして、通信相手を与える。起動直後に、前記のパラメータを読み込むと、指定された通信相手からのデータ到着を待つ。データが到着するとそのデータを受信し、そのデータが通信終了を示していなければデータ到着を待つステップに戻る。受信したデータが通信終了を示すデータの場合は、プログラムを終了する。
通信回数を5回、通信間隔を1秒、通信相手をマシン2 120とした送信プログラム111をマシン1 110、通信相手をマシン1 110とした受信プログラム121をマシン2 120で動作させ、そのときのイベント・トレースを採取することを考える。図5は、送信操作と受信操作のタイム・チャートである。斜めの矢印がマシン間の通信を示しており、矢印の根元が送信操作、矢印の先が受信操作に対応している。図12(従来の課題)での設定と同様、マシン2 120の時計 124はマシン1 110の時計114に対して0.0001倍進んでおり、簡単のため時刻0では両マシンの時計は一致している状況を考える。また、ここでも、マシン1 110の時計114が示す値を絶対時刻と呼ぶことにする。
マシン1 110が絶対時刻1で送信操作を行なった通信は、絶対時刻1.001でマシン2 120が受信操作を行なう。この受信操作の時刻をマシン2 120の時計124で調べると、1.001の1.0001倍である1.0011001となる。同様に、マシン1 110が、絶対時刻2, 3, 4, 5秒で送信操作を行なった通信は、絶対時刻2.001, 3.001, 4.001, 5.001(マシン2 120の時計124は2.0012001, 3.0013001, 4.0014001, 5.0015001秒を示す)でマシン2 120が受信操作を行なう。以上より、マシン1 110で採取した通信操作のトレース・データは図6、マシン2 120で採取した通信操作のトレース・データは図7となる。図6、図7では、送信時刻をtsn(n=1,2,…,N), 受信時刻をtrn(n=1,2,…,N)として表記し、本実施例の値を()内に示した。なお、各トレース・データのタイムスタンプ(時刻)は各マシンが内蔵する時計から得ているため、マシン2 120のトレース・データについてはタイムスタンプ(時刻欄)の値は絶対時刻とは一致していない。
図8は、図6と図7のトレース・データより、各通信操作についての受信時刻(以降、tn表記)と通信時間(以降、τnと表記)の関係を示したものである。この、tnとτnの関係を直線で近似する場合、その傾き(a)は、両マシンが内蔵する時計の進み方の違い(クロック・スキュー値)を示しており、図9に示す式(最小二乗法)で求めることができる。この式に図8中の()内の値、および、項目数N=5を入れて計算すると、a = -0.00009999が求まる。なお、本実施例では、簡単のため、測定誤差の入らない数値を用いて説明したが、実際の測定では誤差等のため、測定点は直線上に乗ることはなく、図10に示すように近似の直線からずれることになる。本実施例では最小自乗法を用いたのは、このような状況下での最適な近似直線を求めるためである。
次に、上記の手順で求めたクロック・スキュー値を適用する手順を説明する。マシン1 110とマシン2 120上で任意の測定対象プログラム1 112と測定対象プログラム2 122を動作させて採取したイベント・トレースにクロック・スキュー値を適用するのは、時刻補正手段 101である。時刻補正手段101は、前記クロック・スキュー分析手段 100によって求めたクロック・スキュー値とマシン1 110とマシン2 120で採取されたトレース・データを入力とする。本実施例の場合、マシン1 110で採取されたトレース・データに含まれるタイム・スタンプはそのままとし、マシン2 120で採取されたトレース・データに含まれる総てのイベント・データ内のタイム・スタンプ値(t)を、tc = t×(1+a) で置き換える。ここでtcは補正後のタイム・スタンプ値、aはクロック・スキュー値である。図11のイベント・トレースに対してクロック・スキュー値(-0.00009999)を適用すると、マシン2の送信時刻や受信時刻を示すタイム・スタンプは、図13に示す通り補正される。この補正されたタイム・スタンプ値を使って通信時間(受信時刻 送信時刻)を計算すると図14となる。時刻の経過に関わらず、通信時間は0.001秒と計算されているので、マシン2 120のタイム・スタンプがマシン1 110のタイム・スタンプ(絶対時刻)と同じ進みに補正されていることが分かる。
次に、本発明の第一の実施例の効果について説明する。
本発明の実施例では、送信プログラムと受信プログラムを複数の測定対象マシン上で動作させて採取したイベント・トレースの分析により求めたクロック・スキュー値を利用し、任意の測定プログラムを前記測定対象マシン上で動作させて採取したイベント・トレース中のタイム・スタンプを時刻補正手段により補正するため、各種性能分析手段は、複数の測定対象マシンで採取された複数のトレース・データは、タイム・スタンプの進みが揃っているものとして各種の性能分析を行なうことができる。すなわち、各種の性能分析を行なうプログラムの構造を単純化することができる。

次に、本発明の第二の実施例の構成について説明する。この実施例でも、次に、図1、図2の構成及び図3と図4のフローチャートは同じである。
第一の実施例と同様、通信回数を5回、通信間隔を1秒、通信相手をマシン2 120とした送信プログラム111をマシン1 110、通信相手をマシン1 110とした受信プログラム121をマシン2 120で動作させて採取したイベント・トレースから、各通信操作についての受信時刻と通信時間を調べた結果を図15に示す。これは、4回目の通信操作においてマシン2 120にデータが到着してから受信操作が実行されるまでに時間がかかったため、見かけ上、通信時間が長くなっている例である。これは、マシンにデータが到着した瞬間において、そのマシンで受信操作よりも優先度の高い処理を行なっている場合に起きる現象である。図15の全データを用い、第一の実施例と同じ最小自乗法により5点を通る近似直線を求めると、その傾き(図9の式によるスキュー値)は約0.000964、τ軸の切片は約0.000124となる。すなわち、τ=0.000964・tr + 0.000124で図15に示す5点が近似されるわけである。
第二の実施例では、次に、図15の各点について、tr1〜tr5を代入してτの予測値、すなわち、近似直線上の点と測定点とのτ軸方向の差分を取る。この様子を図16(図中のスペースの関係でe4とe5のみ記載)に示す。図15のデータについてもとめたe1〜e5は、各々、0.0000103343, -0.000853994, -0.001718322, 0.006008958, -0.003446977となる。次に、予め決めておいた誤差の閾値(本実施例では0.001とする)とe1〜e5の各点を比較する。その結果、閾値を越えた点が存在する場合は、求めたクロック・スキュー値を無効とし、最も大きく閾値を越えた点(本実施例ではtr4-τ4の点)を除いた点で超えた点を除いた点で近似直線を求める。図15のデータの場合、点tr4-τ4を除いた点で求めた近似直線は全測定点上を通ることになるので、予測値と実測値の差(誤差)であるe1〜e3とe5はゼロとなる。近似直線を求めるために使用した総ての点で誤差が予め決めておいた誤差の閾値(本実施例では0.001とする)よりも小さくなっているので、ここで求めたクロック・スキュー値をクロック・スキュー分析手段 100の結果とする。
なお、クロック・スキュー値を適用する手順は、第一の実施例と同じである。
本発明によれば、ほぼ同じ時間帯に複数の測定対象マシンで採取したトレース・データを入力として、そのデータに記録されているマシン間で行なわれた通信操作に関するイベント情報を利用して性能分析を実施する性能分析装置(プログラム)といった用途に適用できる。
本発明の実施例の構成図である。 従来技術を示す構成図である。 送信プログラムの動作フローを示す図である。 受信プログラムの操作フローを示す図である。 送信操作と受信操作のタイム・チャートである。 マシン1で採取した通信操作のトレース・データの例を示す図である。 マシン2で採取した通信操作のトレース・データの例を示す図である。 各通信操作についての受信時刻と通信時間の関係を示す図である。 両マシンが内蔵する時計の進み方の違いを最小二乗法で直線で近似する式を示す図である。 直線による近似と測定値の関係を示す図である。 各マシンの時刻関係を示す図である。 各マシンの時刻関係を表で表した図である。 タイムスタンプの補正を示す図である。 補正されたタイム・スタンプ値による通信時間を示す図である。 第二の実施例における各通信操作についての受信時刻と通信時間を示す図である。 第二の実施例における近似直線上の点と測定点との差分を示す図である。
符号の説明
100 クロック・スキュー分析手段
101 時刻補正手段
102 性能分析手段
110 マシン1
111 マシン1の送信プログラム
112 マシン1の測定対象プログラム
113 マシン1のトレース・データ記録媒体
114 マシン1の時計
115 マシン1のトレース・データ記録手段
120 マシン2
121 マシン2の受信プログラム
122 マシン2の測定対象プログラム
123 マシン2のトレース・データ記録媒体
124 マシン2の時計
125 マシン2のトレース・データ記録手段
200 マシン
201 時計
202 トレース・データ記録媒体
210 オペレーティングシステム
211 データ受信手段
212 データ送信手段
213 トレース・データ記録手段
220 アプリケーションプログラム

Claims (4)

  1. 第一の計算機と第二の計算機とでプログラム実行に伴って発生するイベントを時系列データとして記録したイベントトレース・データに含まれるイベントの発生時刻を補正するイベントトレース・データの時刻補正方法であって、
    前記第一の計算機と前記第二の計算機とに接続されているクロック・スキュー分析手段が前記第一の計算機で送信プログラム、第二の計算機で受信プログラムを動作させてイベントトレース・データを採取するステップと、
    前記クロック・スキュー分析手段が前記第一の計算機から採取したイベントトレース・データに含まれる複数の送信イベントと、前記第二の計算機から採取したイベントトレース・データに含まれる複数の受信イベントの対応を取り、前記受信イベントの発生時刻と対応する前記送信イベントの発生時刻の差から通信時間を求め、時刻に対する通信時間の変化を一次式で近似することにより前記第一の計算機に内蔵されている時計を基準としたときの前記第二の計算機に内蔵されている時計の進み方の違いであるクロック・スキュー値を求めるステップと、
    前記第一の計算機と前記第二の計算機とに接続されている時刻補正手段が前記第一の計算機または前記第二の計算機で任意のプログラムを動作させて採取したイベントトレース・データに含まれるイベントの発生時刻を、前記クロック・スキュー値を利用して補正するステップ、
    を有することを特徴とするイベントトレース・データの時刻補正方法。
  2. イベントトレース・データの分析から求めた時刻に対する通信時間の変化を一次式で近似し、その一次式から求めた通信時間とトレース・データの分析から求めた通信時間の差によって、クロック・スキュー値の有効性を判断する、請求項1に記載のイベントトレース・データの時刻補正方法。
  3. クロック・スキュー値が有効でないと判断された場合、時刻に対する通信時間の変化を近似した一次式から求めた通信時間と、トレース・データの分析から求めた通信時間の差が大きい通信操作の分析対象外としてクロック・スキュー値を再度分析する、請求項2に記載のイベントトレース・データの時刻補正方法。
  4. 第一の計算機と第二の計算機とに接続され、前記第一の計算機と前記第二の計算機とでプログラム実行に伴って発生するイベントを時系列データとして記録したイベントトレース・データに含まれるイベントの発生時刻を補正するイベントトレース・データの時刻補正装置であって、
    前記第一の計算機で送信プログラム、第二の計算機で受信プログラムを動作させてイベントトレース・データを採取し、前記第一の計算機から採取したイベントトレース・データに含まれる複数の送信イベントと、前記第二の計算機から採取したイベントトレース・データに含まれる複数の受信イベントの対応を取り、前記受信イベントの発生時刻と対応する前記送信イベントの発生時刻の差から通信時間を求め、時刻に対する通信時間の変化を一次式で近似することにより前記第一の計算機に内蔵されている時計を基準としたときの前記第二の計算機に内蔵されている時計の進み方の違いであるクロック・スキュー値を求めるクロック・スキュー分析手段と、
    前記第一の計算機または前記第二の計算機で任意のプログラムを動作させて採取したイベントトレース・データに含まれるイベントの発生時刻を、前記クロック・スキュー値を利用して補正する時刻補正手段、
    を有することを特徴とするイベントトレース・データの時刻補正装置。

JP2006003626A 2006-01-11 2006-01-11 クロック・スキュー補正システム、クロック・スキュー補正方法およびクロック・スキュー補正用プログラム Expired - Fee Related JP4479660B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006003626A JP4479660B2 (ja) 2006-01-11 2006-01-11 クロック・スキュー補正システム、クロック・スキュー補正方法およびクロック・スキュー補正用プログラム
US11/651,156 US7430493B2 (en) 2006-01-11 2007-01-09 Method, system and program for correcting time of event trace data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006003626A JP4479660B2 (ja) 2006-01-11 2006-01-11 クロック・スキュー補正システム、クロック・スキュー補正方法およびクロック・スキュー補正用プログラム

Publications (2)

Publication Number Publication Date
JP2007188152A JP2007188152A (ja) 2007-07-26
JP4479660B2 true JP4479660B2 (ja) 2010-06-09

Family

ID=38233773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006003626A Expired - Fee Related JP4479660B2 (ja) 2006-01-11 2006-01-11 クロック・スキュー補正システム、クロック・スキュー補正方法およびクロック・スキュー補正用プログラム

Country Status (2)

Country Link
US (1) US7430493B2 (ja)
JP (1) JP4479660B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010038459A1 (ja) * 2008-10-03 2010-04-08 日本電気株式会社 マルチプロセッサのカウント値補正装置及びこれを備えるマルチプロセッサ
US8122278B2 (en) * 2009-04-28 2012-02-21 Oracle America, Inc. Clock skew measurement for multiprocessor systems
JP5824347B2 (ja) * 2011-12-06 2015-11-25 日本電信電話株式会社 時刻同期装置及び方法
CN103034116A (zh) * 2012-11-14 2013-04-10 福建省计量科学研究院 一种提高石英计时器时间计时准确度的方法
US10715413B2 (en) * 2017-03-24 2020-07-14 Parrable Inc. Timestamp-based session association
EP3521792A1 (de) 2018-02-01 2019-08-07 Siemens Aktiengesellschaft Ereignisbasierte zeitliche synchronisierung

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157185A (ja) 2001-11-19 2003-05-30 Nec Corp 計算機の動作の解析・表示装置とその解析・表示方法及びコンピュータプログラム
JP4347082B2 (ja) 2004-02-23 2009-10-21 日本電気株式会社 イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム

Also Published As

Publication number Publication date
US20070162244A1 (en) 2007-07-12
US7430493B2 (en) 2008-09-30
JP2007188152A (ja) 2007-07-26

Similar Documents

Publication Publication Date Title
JP4479660B2 (ja) クロック・スキュー補正システム、クロック・スキュー補正方法およびクロック・スキュー補正用プログラム
JP4347082B2 (ja) イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
EP2932393B1 (en) Automated correlation and analysis of callstack and context data
JP5159993B1 (ja) 数値制御装置
RU2017130315A (ru) Способ, система и компьютерная программа для стадии обучения акустического или вибрационного анализа машины
JP2020198092A5 (ja)
US20210263483A1 (en) Diagnostic device, diagnostic method and program
CN103793628A (zh) 考虑整个短片段的碱基序列比对系统及方法
US8274374B2 (en) Synchronization method between reader and tag
CN115097782B (zh) 一种数字孪生增强的复杂装备检测补偿方法与系统
CN114952422B (zh) 一种数控机床加工刀具状态实时预测方法
JP2020119447A5 (ja)
CN102243506B (zh) 一种获取系统时间的方法和装置
JP5267566B2 (ja) マルチプロセッサのカウント値補正装置及びこれを備えるマルチプロセッサ
JP3791921B2 (ja) ネットワーク・トレースを解析する方法、ネットワーク・トレースを解析するための処理装置、および該処理装置としてコンピュータを制御させるためのコンピュータ実行可能なプログラム、並びにネットワークにおけるノード間の時間差補正方法
CN101593151A (zh) 用于实时计算过程模型状态量的方法和模拟器
JP6561003B2 (ja) 工作機械の熱変位補正方法、工作機械
US11977366B2 (en) Assist device, display device, assist method, and assist program
JP7014133B2 (ja) 情報収集システム、情報収集方法、自走式ロボット、情報処理装置およびプログラム
CN105527957A (zh) 用于保存故障波数据的方法
US11698632B2 (en) Production system, data transmission method, and information storage medium
JP6653088B1 (ja) 産業機器のデータ収集システム及びモータ制御装置
CN111949506B (zh) 一种基于三维程序回退功能的示教轨迹修改方法及装置
JP4717849B2 (ja) パケット収集装置、モニタリングシステム、およびパケット収集プログラム
CN108270727A (zh) 异常数据分析方法和装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090126

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100126

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

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

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4479660

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees