JP2018088075A - 情報システム、情報処理装置、情報処理方法、およびプログラム - Google Patents

情報システム、情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2018088075A
JP2018088075A JP2016230327A JP2016230327A JP2018088075A JP 2018088075 A JP2018088075 A JP 2018088075A JP 2016230327 A JP2016230327 A JP 2016230327A JP 2016230327 A JP2016230327 A JP 2016230327A JP 2018088075 A JP2018088075 A JP 2018088075A
Authority
JP
Japan
Prior art keywords
processes
detection
processor
performance
information
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
JP2016230327A
Other languages
English (en)
Other versions
JP6874345B2 (ja
Inventor
昌生 山本
Masao Yamamoto
昌生 山本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016230327A priority Critical patent/JP6874345B2/ja
Publication of JP2018088075A publication Critical patent/JP2018088075A/ja
Application granted granted Critical
Publication of JP6874345B2 publication Critical patent/JP6874345B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】コンピュータ性能状態の変化、処理状態の変化、あるいは異常を、短時間で検知できるようなコンピューティング環境の性能状態を簡易に管理するシステムを提供する。【解決手段】プロセッサは、複数の処理においてプロセッサの性能に関連するイベントの検出割合を取得するS3。プロセッサは、検出割合に基づいて、複数の処理でのイベントの検出に対する情報量の平均値を計算する第1の計算、または、複数の処理のそれぞれについて、所定時間を隔てた前後で取得されたイベントの検出割合同士の差分値を求め、差分値の絶対値を複数の処理について加算した加算値を計算する第2の計算、の少なくとも一方を実行するS4。【選択図】図10

Description

本発明は、情報処理装置、情報システム、情報処理方法、およびプログラムに関する。
今日、クラウドコンピューティングによるサービスが提供されている。クラウドコンピューティングは、利用者に、計算機を構成可能な共用のコンピューティングリソースの集積に、簡便にネットワーク経由等でアクセスすることを可能とする計算機システムといえる。ここで、コンピューティングリソースは、例えば、ネットワーク、サーバ、ストレージ、アプリケーション、サービス等である。クラウドコンピューティングによるサービスは、簡易な利用手続きまたはサービスプロバイダとのやり取りにより、速やかに利用者に割り当てられ提供される。さらに、今日のクラウドコンピューティングは、コンピューティングリソースが仮想化された仮想計算機環境で提供される場合がある。
特開2013−41574号公報
ところで、コンピューティングリソースが仮想化されることに伴い、クラウドの複数テナント、つまり、サービスを受ける利用者による資源共有が発生し、コンピュータ環境が大規模複雑化する。このために、クラウドコンピューティング環境の管理が困難になってきている。すなわち、仮想計算機環境やクラウドコンピューティング環境では、コンピュータの性能低下の検知、性能異常の検知、走行ソフトウェア上の問題発生個所(hotspot
)の特定は困難になってきている。
さらに、これまでの非仮想化環境と異なり、仮想計算機環境では、異常要因が1つの仮想計算機(VM)の外部からの干渉に起因する場合がある。このような異常においては、問題調査時には外部からの干渉の変化により異常が一旦解消していて、再現されず、調査そのものが行えない場合もあり、その結果、問題解決に時間を要することがある。
本発明の課題は、コンピューティング環境の性能状態を簡易に管理可能にすること、例えば、コンピュータ性能状態の変化、処理状態の変化、あるいは異常を短時間で検知できる技術を提供することにある。
本発明の一側面は、情報処理装置によって例示できる。本情報処理装置は、プロセッサを備える。プロセッサは、複数の処理において前記プロセッサの性能に関連するイベントの検出割合を取得する。そして、プロセッサは、
前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、の少なくとも一方を実行する。
本情報処理装置によれば、コンピューティング環境の性能状態を簡易に管理可能にし、
例えば、コンピュータ性能状態の変化、処理状態の変化、あるいは異常を短時間で検知できる。
仮想計算機システムの構成を例示する図である。 計算機上の性能イベントのサンプリングと性能解析を実行するための計算機の構成を例示する図である。 採取された情報を基にCPU使用率を解析する処理を例示する図である。 比較例でのCPU使用率の解析結果を例示する図である。 段階的分析の処理例である。 HPCとクラスタとにおいて、CPUを占有したスレッドの内訳を比較して例示する図である。 実施形態において監視対象の情報システムの構成を例示する図である。 実施形態の情報システムが性能イベントをサンプリングするときのデータフローを例示する図である。 CPU使用率の収集結果を例示する図である。 情報システムにおけるプロファイル解析処理のフローチャートを例示するである。 実施形態の処理によって計算されるエントロピー(またはマンハッタン距離)、移動平均値、および、2σまたは3σの範囲を例示する図である。 解析マシンによる複数物理マシンのデータに対する解析処理を例示する図である。
以下、図面を参照して、一実施形態に係る情報システムについて説明する。以下の実施形態の構成は例示であり、本情報システムは実施形態の構成には限定されない。以下、コンピューティング環境の性能状態の管理を簡易に実現し、例えば、コンピュータ性能の変化、あるいは異常を短時間で検知できる情報システムを説明する。
[比較例の処理]
図1は、比較例の仮想計算機システムの構成を例示する図である。比較例の仮想計算機システムは、物理計算機であるホストマシン上に仮想計算機基盤であるハイパーバイザが稼働し、ハイパーバイザが仮想計算機を提供する。以下、仮想計算機を仮想マシンともいう。ハイパーバイザによって提供されるそれぞれの仮想マシンでは、それぞれのゲストOperating System(OS)が稼働し、それぞれのゲストOS上で業務A、B、C等のアプリケーションプログラムが実行されている。
ここで、業務Bのアプリケーションプログラムを実行する仮想マシンのCentral
Processing Unit(CPU)使用量が増加した場合を想定する。図では、業務A、B、Cは、実質的に同一のホストマシン上の物理CPUに割り当てられるため、業務Bの仮想マシンのCPU使用量が増加すると、業務AおよびCに割り当て可能なホストマシン上のCPUリソースが減少する。したがって、業務AおよびCを実行する仮想マシンの性能が低下する。
図1の環境では、仮想マシン間の相互干渉によって性能低下が発生するため、業務AおよびCを実行する仮想マシンを個別に調査しても、原因を特定できない場合がある。特に、図で例示した業務Bの仮想マシンのCPU使用量が変動する場合、業務AおよびCを実行する仮想マシンでは、問題を再現することができず、原因特定が困難となる。
図2は、計算機上の性能イベントのサンプリングと性能解析を実行するための計算機の
構成を例示する図である。ここで、性能イベントとは、計算機の性能を監視するために、計算機から取得される計算機のリソースの状態を示す情報、あるいは計算機の様々な処理の実行を示す情報といえる。性能イベントとしては、CPUの1サイクルの完了、CPUの命令実行完了、キャッシュミス、ページフォルト等を例示できる。性能イベントのサンプリングの結果として、CPUの使用率、実行命令数、キャッシュミス、ページフォルト回数等が取得される。
例えば、計算機上で実行されるプログラムごと関数ごとのCPU使用率は以下のように取得される。CPUには、Performance Monitoring Counter(PMC)と呼ばれるレジスタを有するものがある。また、PMCを有するCPUは、PMCで監視するイベントの種類およびカウンタ上限値を設定するレジスタを有する。PMCのカウンタが設定された上限値を超えるとオーバーフロー割り込みが発生する。オーバーフロー割り込みにより、OSカーネル中のドライバ(sampling driver)が起動されるので、ドライバは、起動されたタイミングで種々の情報、例えば、実行中のプロセスのID、実行中のメモリのアドレス(プログラムカウンタ値)等を採取できる。ドライバは、採取した情報(採取データという)を主記憶に保持する。このようにして、オーバーフロー割り込みが発生するごとに、実行中のプロセスのID、実行中のメモリのアドレス等が採取される。
なお、ハードウェアタイマ割り込みを利用して、タイムベースでプログラムカウンタ(PC)のサンプリングを行なうことで、プログラムの問題箇所は同定可能である。このようなハードウェアタイマ割り込みを利用する処理ではプログラム中で問題が発生している箇所が検知されえるが、どんなイベントによって、問題が発生しているかなどの情報は提供されない。一方、PMCを用いることで、プログラムカウンタ値による問題発生箇所の情報とともに、その問題を引き起こした原因に関連する可能性のあるイベントの種類が特定されることになる。
図3は、採取された情報を基にCPU使用率を解析する処理を例示する図である。ここでは、CPUにおいて、プログラムA、B、Cが動作中であったと想定する。また、オーバーフロー割り込みがある時間ごと(1msごとなど)に発生する場合を想定する。すると、図3でOverflow割り込み(Sampling割り込み)と記載された矢印のタイミングでドライバが起動され、実行中のプロセスのIDと、メモリのアドレスが採取される。実行中のプロセスのIDと、メモリのアドレスが特定できれば、そのプロセスで実行されているプログラムの実行形式(バイナリファイル)から、実行中の関数、あるいは、実行中の命令が特定できる。したがって、ドライバによって採取された情報を集計すると、図3の表のように、プログラムごと関数ごとにイベントのサンプリング数、例えば、CPUの使用率が取得される。実行命令回数、キャッシュミス数等も上記と同様の手順で取得できる。なお、図3の表のような性能情報の内訳を示す情報をプロファイルと呼ぶ。ここで、内訳は、例えば、情報システム内のCPUごとの内訳、CPU毎プロセス毎の内訳、CPU毎プロセス毎関数毎の内訳等が例示できる。
取得された性能イベントの収集結果を解析し、異常箇所の特定を効率的に実行するため、性能プロファイラと呼ばれる解析支援ツールが提供されている。性能プロファイラは、プロセス単位や関数単位での実行比率情報(プロファイル)を提供し、表示する。
性能プロファイラは、問題発生環境にて、例えば、1ミリ秒間隔で60秒間のデータ採取(サンプリング測定)を行い、サンプリングデータを基に統計解析を行う。さらに、性能プロファイラでは、アプリケーションの「挙動変化の把握」や「間欠障害の発見」のために時系列解析手法が用いられている。
図4は、比較例でのCPU使用率の解析結果を例示する図である。図4(A)は測定時間全体を所定の時間間隔に区切り、時系列グラフで表現したものであり、図4(B)は、測定時間全体の集計結果である。ここで、測定時間全体は30秒であり、時系列グラフの区切りの時間間隔は10msである。
図4の(B)では、プロセスP1、P2、P3、P4、P5のCPU消費時間とアイドル時間の割合が図示されている。図4(B)の測定時間全体の集計結果の例では、CPUの動作、性能について、特異な状態は把握できない。
一方、図4の(A)のように、CPU消費時間の割合を所定の時間間隔(例えば1ms)に区切って集計した時系列グラフにすると、一時的に発生した性能の変化、あるいは異常が検知可能となる場合がある。例えば、図4(A)の時刻22秒から23秒の付近で、プロセスP3、P4、(B)には現れなかったP6とP7のCPU消費量が一時的に急増し、その後低下している。
さらに、性能イベントの収集結果を解析する手法として、クラスタリングと呼ばれる手法が知られている。クラスタリングでは、時系列データが時間軸方向やノード単位あるいはCPU単位でグループ化された解析結果が表示される。したがって、クラスタリングによりサンプリング結果が数グループ程度に集約され、大局的に挙動が把握される。そして、問題の発生が懸念されるグループに対しては従来通りの詳細なプロファイルが取得される。
ここで、クラスタリングとは、特徴が似ているデータ同士を自動的にグループ化するデータ分類方法をいい、教師なしの機械学習手法の1つである。クラスタリングは、データマイニングやパターン認識などの様々な分野で利用されている。基本的なクラスタリング手法としては、階層型クラスタリングと非階層型クラスタリングが存在する。階層型クラスタリングでは、データが階層的に分類される。階層型クラスタリングの計算量はO(N2) (Nはデータ数)である。一方、非階層型クラスタリングでは、データが特定のクラスタ数のフラットなクラスタに分類される。非階層型クラスタリングとしてはK−meansクラスタリングなどが知られている。K−meansクラスタリングでは、計算量はO(Nk) (Nはデータ数、kはクラスタ数)である。
本比較例では、以下のような段階的分析を検討する。この分析では、まず、ノード間分析を実行する。ノード間分析では、情報システムの性能イベントの集計結果をノードと呼ばれるコンピュータシステムの単位ごとに取得する。そして、ノードごとに時系列データをクラスタ分析する。
図5は段階的分析の処理例である。例えば、図5の上段では、8つのノードの性能イベントの時系列データがGROUP1とGROU2の2つのグループにクラスタリングされている。そして、8つのノードのうち、他のノードとはことなる動きをするノードが異常発生の可能性のあるノード(以下、単に異常ノードという)として抽出される。
そして、図5の下段では、異常ノードについて、性能イベントの時系列データが詳細化して表示される。その結果、問題の時間帯に、性能イベントに関与するプロセス、例えば、CPU消費率の高いプロセス(図5では、sarコマンドを実行するプロセス)が抽出される。
しかしながら、このような比較例の方法は、主としてHigh Performance Computing(HPC)での利用が想定されている。HPCはクラウドと類似し、複数ノードのコンピュータが連携する大規模システムである。しかし、HPCでは、
各ノードで同様な処理が動いていることが多い。したがって、HPCでは、このような処理の特性を前提にして、大部分のノード(あるいはプロセス等)とは異なる少数派のノード(あるいはプロセス等)を検出することで問題箇所の特定が可能となること場合がある。
しかし、クラウドでは、多種多様なアプリケーションプログラムが動作し、ノードあるいはプロセス等の負荷の比率(負荷パターンともいう)が多種多様となり得るため、単純なクラスタリングだけでは効果が薄い。つまり、クラウドでは、ノード毎、あるいはプロセスごとに、性能イベントの発生状況を単にグルーピングしただけでは異常を見分けることが困難となる場合がある。
図6に、HPCとクラスタでのある時間帯(0から30秒まで)のCPUを占有したスレッドの内訳を比較して例示する。図6の上側はHPC内のあるCPUでのスレッドの内訳であり、単一のスレッドがこの時間帯(0から30秒まで)を通じて実行されている。一方、図6の下側は、クラスタ内のあるCPUでのスレッドの内訳であり、複数スレッドが30秒間にCPUを順次占有していることが理解できる。したがって、クラスタ環境では、クラスタリング処理が有効でない場合がある。
さらに、クラスタリングは、性能イベントの発生状況(時系列のグラフ等)が類似する複数ノード(あるいは複数プロセス)を探索する処理となるため、負荷が重い。したがって、大規模なクラスタでは、クラスタリングによってリアルタイムに解析する処理は負荷が重くなり、実行が困難となる場合がある。
そこで、以下の実施形態では、秒レベルまたはそれ以下の高精細で、クラスタリング等の比較例の処理より低負荷で、大規模システムにおいても、リアルタイムな変化検知(異常検知)が可能な処理方法が例示される。また、以下の実施形態では、HPCの様に、単一のスレッドが継続するなど、限定された種類の処理が実行されていることが前提とされない。つまり、クラスタのように多種多様なアプリケーションプログラムが動作する場合にも、性能イベントの取得結果から異常を検知できる情報処理方法が例示される。さらに、以下の実施形態では、異常要因分析のためのプログラムの問題発生箇所であるhotspot
情報(プロファイル情報)が異常検知ととともに提供される。
[実施形態]
<構成>
以下、図7から図12を参照して、一実施形態に係る情報システムを説明する。図7は、本実施形態において監視対象の情報システムの構成を例示する。本情報システムは、コントローラマシン1と、複数のホストマシン2−1から2−3等を有する。なお、ホストマシン2−1から2−3等を総称する場合には、単にホストマシン2という。ただし、ホストマシン2の数が3個に限定される訳ではない。ホストマシン2はノードとも呼ばれる。
コントローラマシン1は、情報システム全体を監視し、制御する。コントローラマシン1は、CPU、主記憶装置、外部記憶装置、ディスプレイ、入力装置、通信インターフェース等を有する。コントローラマシン1のCPUは、主記憶装置に展開されたコンピュータプログラムを実行し、コントローラマシン1としての処理を実行する。主記憶装置は、CPUが実行するコンピュータプログラムあるいはCPUが処理するデータを記憶する。外部記憶装置は、CPUが処理するデータを保存する。ディスプレイはCPUが処理するデータ等を表示する。入力装置は、ユーザの操作を受け付け、CPUに入力する。通信インターフェースは、ネットワークを通じて、ホストマシン2等と通信する。図7では、コントローラマシン1としては、1台が例示されているが、コントローラマシン1は複数の
コンピュータが連携するシステムであってもよい。
ホストマシン2は、物理CPUを有する。なお、図7では、ホストマシン2のCPU以外のハードウェアは省略されているが、ホストマシン2はコントローラマシン1と同様、主記憶装置、外部記憶装置、通信インターフェース等を有する。さらに、ホストマシン2の物理CPU上では、ハイパーバイザが実行され、仮想環境が構築される。すなわち、ハイパーバイザは、仮想CPU等の仮想リソースを含む仮想マシン(VM)を提供する。各仮想マシン上ではゲストOS(図7では、単にOSと記載)が実行され、ゲストOS上でアプリケーションプログラムが実行される。
物理CPU(および上記コントローラマシン1のCPU、以下同様)は、MPU(Microprocessor)、プロセッサとも呼ばれる。物理CPUは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一の物理CPUがマルチコア構成を有していても良い。上記ホストマシン2(あるいはコントローラマシン1)の少なくとも一部の処理は、物理CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。また、上記ホストマシンの少なくとも一部の処理は、集積回路(IC)、その他のディジタル回路であっても良い。また、上記ホストマシンの少なくとも一部にアナログ回路が含まれても良い。集積回路は、LSI,Application Specific Integrated Circuit(ASIC),プログラマブルロジックデバイス(PLD)を含む。PLDは、例えば、Field−Programmable Gate Array(FPGA)を含む。上記ホストマシン2(あるいはコントローラマシン1)は、プロセッサと集積回路との組み合わせであっても良い。このような組み合わせは、例えば、マイクロコントローラ(MCU),SoC(System−on−a−chip),システムLSI,チップセットなどと呼ばれる。
図8に、本実施形態の情報システムが性能イベントをサンプリングするときのデータフローを例示する。仮想マシンが実行される環境においても、ゲストOSやゲストOS上のユーザプログラムの命令は従来のネイティブ環境同様に、物理CPU上で走行する。その状態で、PMCのカウンターオーバーフロー割込み(サンプリング割込み)が発生すると、その時の物理CPUのレジスタ状態(プログラムカウンタ含む)は退避先に退避される。ここで、退避先は、ハイパーバイザが管理する割り込み元(その時動作していたゲストマシン(仮想マシン)のコンテキスト退避領域である。コンテキスト退避領域は、ゲストステートエリアと呼ばれる。この退避処理はCPUハードウェアが自動で実行する。この退避処理は、VM exit処理と呼ばれる。
退避処理後、実行制御はハイパーバイザに移る。つまり、退避処理後、物理CPU上の実行命令はハイパーバイザ(またはホストOSやホストのユーザプログラム)の命令に変わる。そして、ハイパーバイザは、VM exitの要因判定を行い、適切な制御先へ処理を移行する。例えば、ドライバ(サンプリング割込みハンドラともいう)に制御が移行する。そして、ドライバは、ホストマシン上のその時点での実行アドレス(仮想アドレス)、割込み元ゲストのその時点での実行アドレス(仮想アドレス)等を採取し、トレース情報として保存する。トレース情報として、上記実行アドレスの他、物理CPU番号、ホストマシン(物理CPU)上でハイパーバイザが管理するプロセスID、スレッドID、仮想マシン番号、仮想CPU番号等が含まれる。
一方、仮想マシン上では、仮想マシンで実行されるすべてのプロセスについて、各プロセス終了前に、各プロセスのシンボルマップ情報が作成される。シンボルマップ情報は、
仮想CPU番号、ゲストOSに管理されるプロセスID、ページテーブルアドレス、スレッドID、プロセス名、当該プロセスで実行されるアプリケーションプログラム中の関数のアドレス範囲(仮想アドレスの範囲)、関数名等を含む。関数のアドレス範囲、関数名は、プログラムのオブジェクトファイルから取得される。関数のアドレス範囲は、例えば、先頭アドレスと末尾のアドレス、あるいは、先頭アドレスと関数のメモリ上のサイズ等である。
そして、ハイパーバイザ上で実行される解析プログラムがトレース情報中の仮想マシン上の実行アドレスと、シンボルマップ情報中の関数のアドレス範囲および関数名の情報から、関数毎のCPU使用率等のプロファイルを算出する。
図9にCPU使用率の収集結果を例示する。図9の例では、仮想マシン名、プログラム名、関数名とともに、CPU使用率、サンプリング数が例示される。ここで、サンプリング数は、PMC割込発生時に取得された仮想マシン上の実行アドレスから得られた関数名の取得回数、つまり、関数実行中であることが特定された回数である。また、CPU使用率は、サンプリング数に基づく、CPU使用率の算出値である。
<エントロピーとマンハッタン距離>
本実施形態の情報システムは、性能イベントの収集結果の解析において、エントロピーとマンハッタン距離を計算する。今、図9に例示される性能イベントの収集結果、例えば、行xi(ある仮想マシンで実行されるあるプログラム内のある関数xi)のCPU使用率を、CPUを占有する事象の出現確率とみなして、P(xi)とする。この場合に、図9のCPU使用率から得られる情報量の期待値は、エントロピーと呼ばれ、以下の式で計算できる。
(式1)
Figure 2018088075
エントロピーは、事象xi(i=1〜n)の平均情報量、あるいは、乱雑さとして知られる量である。平均情報量は、事象xiの生起確立p(xi)から得られる情報量log2(xi)を各事象xi(i=1〜n)について、各事象xiの生起確立p(xi)にしたがって平均したものである。ただし、事象の数nは、情報システムから得られるすべての事象を計算対象とする値でなくてもよい。つまり、情報システムは、生起確率が所定以上のものに限定して、上記式1を計算してもよい。生起確率が小さい場合には、エントロピー値への影響が概ね無視できるからである。
また、図9の例では、エントロピーを算出する対象として、CPU使用率が例示されている。しかし、本情報システムにおいて、エントロピーが計算される対象が関数のCPU使用率に限定される訳ではない。例えば、情報システムは、事象xiとして、他の性能イベントの収集値、例えば、プログラム全体のCPU使用率、仮想マシン全体のCPU使用率、関数のソースコードの各行でのCPU使用率を用いてもよい。また、情報システムは、CPU使用率以外の他の性能イベントの収集値のプロファイルp(xi)を生起確率として、エントロピーを計算してもよい。他の性能イベントの収集値のプロファイルとp(xi)は、例えば、プログラムや関数等におけるキャッシュミス発生の割合、ページフォルト発生の割合、I/Oアクセスの割合等をいう。
本実施形態では、情報システムの各ホストマシンのハイパーバイザ上で、解析プログラムが所定の時間(例えば、数十秒間、数分間等)性能イベントの収集を行い、上記エントロピーを計算する。さらに、この解析プログラムは、このような性能イベントの収集、プロファイルの生成、エトロピーの計算を所定の周期で繰り返し、情報システムのプロファイルから得られるエントロピーの変化を監視する。
収集された性能イベントのサンプル数が多く、図9に対応する事象の発生確率(プロファイル結果)が一定の場合、エントロピーは大きくなる傾向がある。一方、サンプル数が少ないか、図9の行に対応する事象の数が小さいと、エントロピーは小さくなる傾向がある。本実施形態では、情報システムは、エントロピーの値自体から情報システムの性能を判定するのではなく、値に変化があるか否かを監視し、情報システムの状態を判定する。すなわち、エントロピーに変化があると、本情報システムは、性能状況、例えば、各関数のCPU使用率に変化があると見なし、次の処理、例えば、詳細な解析処理を実行する。
次に、本情報システムが計算するマンハッタン距離について説明する。今、図9で例示されるような各関数のCPU使用率等のプロファイルが時刻Xと時刻Yで収集されたとする。このとき、時刻Xと時刻Yとの間のマンハッタン距離は、以下の式2によって計算される。
(式2)
Figure 2018088075
上記エントロピーは、収集される性能イベントについて、比率構成の変化を検知する。しかしながら、エントロピーは、収集される性能イベントの内容そのものの変化を検知できないことがある。例えば、同一比率構成で、2つの関数のCPU使用率が入れ替わった場合には、エントロピーは、変化を識別できない。すなわち、ある関数X1とX2について、ある時刻t1においてCPU使用率がP(X1(t1))=p%、P(X2(t1))=q%であったとする。そして、時刻t2において、上記CPU使用率がP(X1(t2))=q%、P(X2(t2))=p%に変化したとする。この場合、情報システム内では、関数別のCPU使用率が変化したにも拘わらず、エントロピーは変化しない。
そこで、異なる時刻間でのプロファイルのエントリ(図9の各行に相当)ごとの変化を検知するために、本情報システムは、異なる時刻間でのプロファイルに対して、マンハッタン距離を計算する。なお、ここでは、XとYは異なる時刻として説明したが、マンハッタン距離の計算は、異なる時刻間のプロファイルに限定される訳ではない。例えば、情報システム(例えば、図7のコントローラマシン1)は、異なるホストマシン間、異なる仮想マシン間等におけるプロファイルに対して、マンハッタン距離を計算してもよい。
なお、マンハッタン距離の計算において、上記式のエントリ数k、つまり、事象xiの数は、例えば、性能イベントの収集結果(プロファイル)Xのうち、サンプル数、すなわち生起確率の多いものからk個の事象xiを抽出すれればよい。サンプル数の少ないものはマンハッタン距離の計算に対する影響が小さいからである。
<処理手順>
本実施形態では、情報システムは、例えば1ミリ秒のサンプリング期間の性能イベントの収集を30秒間繰り返し継続する。そして、情報システムは、直近の30秒間に収集し
たサンプリングデータに対してプロファイル解析を実行する。ただし、サンプリング期間が1ミリ秒に限定される分けではなく、繰り返し継続する期間が30秒に限定される訳ではない。また、時系列解析としては、本情報システムは、100ミリ秒単位でプロファイル解析していくとする。即ち、30秒間では 30s/100ms= 300回のプロファイル計算となる。
そして、本情報システムは、100msの時系列解析単位毎に、同時にエントロピーH(t)とマンハッタン距離M(t)も計算する。ここで、tは解析対象のサンプリング期間に対応する時刻(例えば、上記100msの時系列解析対象の期間開始時刻)である。また、マンハッタン距離Mは時刻tでのプロファイル結果と、一つ前の時刻t−dtの時系列解析対象の期間でのプロファイル結果との距離を算出する。ここで、dtは、時系列解析単位の期間であり、例えば、100msである。
さらに、本情報システムは、エントロピーHとマンハッタン距離Mの各移動平均値MA(H)、MA(M)と、各標準偏差σも同時に計算し、時系列解析単位毎に更新する。ここで移動平均の範囲に得に限定はない。例えば、数十秒間だけの狭い範囲から、数分、数時間、数日などの広い範囲までバリエーションは考えられる。
そして、本情報システムは、エントロピーHとマンハッタン距離Mがそれまでの計算結果と大きく乖離していないかどうかを毎回判定する。例えば、本情報システムは、品質管理などで利用される2σ法や3σ法で検査すればよい。例えば、今回の計算値(HあるいはM)が「移動平均値MA±3σ」から逸脱した場合には、本情報システムは異常検知とみなすことにより、リアルタイムに異常検知を判定できる。
図10に、本情報システムにおけるプロファイル解析処理のフローチャートを例示する。すでに、述べたように、例えば、図7に例示した各ホストマシン2−1から2−3等において、物理CPUがハイパーバイザ上の解析プログラムにしたがって、図10の処理を実行する。この処理では、サンプリング測定の開始ともに、まず、プレ測定が実行される(S1)。プレ測定では、物理CPUは、サンプリング開始からD秒後にS3からS5の処理(A)(B)(C)をN秒ごとにC回繰り返して実行する。ここで、D秒待つのは、第1回目のサンプリング結果からプロファイルを取得するためである。S1のプレ測定によって、物理CPUは、第1回のD秒間のサンプリング結果から、C回分のプロファイル(各N秒間のサンプリングに対するプロファイル)を取得する。以下、物理CPUは、D秒間のサンプリング結果に対する処理を繰り返す。
すなわち、物理CPUは、次の直近D秒でのサンプリング結果を取得する(S2)。
次に、物理CPUは、S2で取得した直近のD秒、つまり、N×C秒のサンプリング結果に対してプロファイル解析を実行し、各エントリに対する生起確率として、プロファイルP(xi(t))(i=1〜n)を得る(S3)。ここで、エントリは、例えば、図9の各行である。また、S3のプロファイル解析を処理(A)と呼ぶ。プロファイル解析では、図7で説明したサンプリング処理の結果から、プロファイルの対象別、例えば、仮想マシンごとプロセスごと関数毎に、サンプリング結果が集約される。S3の処理は、プロセッサが複数の処理においてプロセッサの性能に関連するイベントの検出割合を取得することの一例である。
次に、物理CPUは、P(xi(t))に対するエントロピーH(t)およびP(xi(t−N))とP(xi(t))間のマンハッタン距離M(t)を計算する(S4)。計算は、D秒(例えば、30秒)をC(例えば、300)区間に区切ったN秒(例えば、100ms)に対して、C回繰り返して実行する。ここで、S4の計算は、処理(B)と呼ぶ。なお、図10の例では、物理CPUは、エントロピーとマンハッタン距離の両方を計
算するが、物理CPUは、エントロピーとマンハッタン距離の両方を計算の少なくとも一方を計算するようにしてもよい。S4の処理は、検出割合に基づいて、複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算の一例である。また、S4の処理は、複数の処理のそれぞれについて、所定時間を隔てた前後で取得されたイベントの検出割合同士の差分値を求め、差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算の一例である。また、S4の処理では、サンプリング期間D秒(30秒)をC区間(300区間)に区切ったN秒(100ms)ごとに、エントロピーとマンハッタン距離が計算される。したがって、S4の処理は、期待値および加算値の少なくとも一方を所定時間ごとに計算することの一例といえる。
さらに、物理CPUは、エントロピーとマンハッタン距離の各移動平均値MA(H)とMA(M)と各標準偏差σ(H)とσ(M)を更新する(S5)。ここで、S5の更新は、処理(C)と呼ぶ。
次に、物理CPUは、直近D秒間のサンプリング結果に対して、エントロピーH(t)が移動平均値MA(H)−nσから移動平均値MA(H)+nσの範囲内か(n=2,3)を判定する(S6)。ここで、nは、例えば、2または3である。そして、エントロピーH(t)が移動平均値MA(H)−nσから移動平均値MA(H)+nσの範囲内の場合には、物理CPUは、S2の処理に戻る。一方、エントロピーH(t)が移動平均値MA(H)−nσから移動平均値MA(H)+nσの範囲ではない場合には、物理CPUは、マンハッタン距離M(t)がMA(M)−nσからMA(M)+nσの範囲内かを判定する(S7)。ここで、nは、例えば、2または3である。そして、マンハッタン距離M(t)がMA(M)−nσからMA(M)+nσの範囲内の場合には、物理CPUは、S2の処理に戻る。一方、マンハッタン距離M(t)がMA(M)−nσからMA(M)+nσの範囲ではない場合には、物理CPUは、例えば、コントローラマシン1に異常検知を通知し、プロファイルP(t)を提示する(S8)。なお、物理CPUは、異常が検知されたプロファイルP(t)を外部記憶装置等に保存してもよい。そして、物理CPUは、S2の処理に戻る。S8の処理は、異常発生を報知することの一例である。
以上の処理では、エントロピーとマンハッタン距離の両方で異常が検知された場合に、情報システムはコントローラマシン1に異常を通知し、プロファイルを保存する。しかし、このような処理に代えて、エントロピーとマンハッタン距離の少なくとも一方で異常が検知された場合に情報システムはコントローラマシン1に異常を通知し、プロファイルを保存するようにしてもよい。したがって、S6からS8の処理は、エントロピーの計算とマンハッタン距離の計算の少なくとも一方を実行することの一例ということができる。また、S6、S7の処理は、所定時間を隔てた前後における期待値および前記加算値の少なくとも一方の変化量が許容範囲から逸脱したか否かを判定することの一例ということができる。なお、さらに、例えば、毎回の検査はまずはエントロピーHを計算し、マンハッタン距離Mは、毎回は計算しないなどのS4からS8の処理のバリエーションも考えられる。
図11に、図10の処理によって計算されるエントロピー(またはマンハッタン距離)、移動平均値、および、2σまたは3σの範囲を例示する。図で横軸は経過時間であり、縦軸は、エントロピー(またはマンハッタン距離)、移動平均値、および、移動平均+2σ(または3σ)、移動平均−2σ(または3σ)の値を例示する。図で実線が図10の処理によって計算されるエントロピー(またはマンハッタン距離)の例である。また、一点鎖線が移動平均である。また、点線は移動平均から2σまたは3σの範囲を例示する。そして、図中央付近で、エントロピー(またはマンハッタン距離)が急激に変化し、移動平均から2σまたは3σの範囲を逸脱した場合を例示している。
本実施形態の情報システムは、図11のような一時的なプロファイルの変化であっても、エントロピーまたはマンハッタン距離の変化として、プロファイルから直ちに計算することができる。したがって、時々刻々変化する情報システムの負荷状態に対して、従来よりも低い負荷でほぼリアルタイムに、異常を検知できる。
また、本情報システムでは、エントロピーHとマンハッタン距離Mの計算のための性能イベントの収集値であるプロファイルが得られている。このため、異常検知の判定とともに、問題発生個所(hotspot)の情報やその時点までのアプリケーションの挙動を提示することが可能となる。
また、本情報システムは、図11のように、エントロピーHとマンハッタン距離Mの計算結果が移動平均から許容範囲内あるか否かによって情報システムの性能状況を判断する。したがって、許容範囲内の緩やかな変化は異常と検知されず、急激な変化だけが異常として検知され、擬似的な異常の検知、つまりノイズの検知を抑制できる。
さらに、図10の処理は、式1のエントロピー、あるいは、式2のマンハッタン距離を計算することによって、簡易、低負荷でプロファイルに基づく情報システムの性能状態を判定でき、性能の異常、アプリケーションプログラムの実行上の問題を検知できる。図10の処理では、D秒ごとのプロファイルの取得に対して、式1のエントロピー、あるいは、式2のマンハッタン距離に基づく判定がなされており、少なくともD秒以内でのほぼリアルタイムな処理が実現可能となっている。
<情報システム全体の処理>
図10では、単一の物理CPUにおける処理を例示した。このような物理CPUの処理結果を情報システム全体で統合してもよい。以下、情報システム全体の処理を例示する。(処理例1)
処理例1としては、情報システムは、性能イベントの検出結果をシステム全体としてまとめて判断しない。クラウド環境のシステムは、HPCのクラスタ環境同様、複数の物理マシンで構成される。しかし、HPC処理の様に1つのアプリケーションを多数の物理マシンにまたがって大規模並列計算する様な処理の実行は少ないと考えられる。よって、プロファイル解析も各物理マシン単位の解析でも十分と考えられる。したがって、情報システム全体の解析処理を行う代わりに、各物理マシン単位の閉じたプロファイル解析であっても、大方のビジネスアプリケーションをカバーできる。すなわち、処理例1では、性能解析は、物理マシンであるホストマシン2単位での解析に留まる。
(処理例2)
処理例2でも、情報システム全体の性能を判断しないのは処理例1と同様である。ただし、実施形態として、専用の解析マシン(物理マシン)を1台から必要に応じて複数台用意して、解析処理や異常検知は専用の解析マシン上(解析基盤)で行ってもよい。解析単位は各物理マシン単位で実行されるので、処理やプロファイル出力としては処理例1と同じホストワイドの結果となる。
この処理では、データ採取は、仮想マシンが運用されている各物理マシン上で実行される。各物理マシンは、サンプリングデータを各物理マシンが接続される共有ディスク上に定期的(例えば、図10のD秒間隔)に出力し、解析マシン側も同様に定期的に共有ディスク上からデータを読み出し解析や異常検知を実行すればよい。なお、共有ディスクは、Storage Area Network(SAN)で接続される記憶装置やNetwork Attached Storage(NAS)などが例示される。解析マシンの一例は、図7のコントローラマシン1である。したがって、コントローラマシンは解析装
置の一例ということができる。また、コントローラマシン1のCPUは制御部の一例ということができる。
(処理例3)
処理例3として、処理例2の解析マシンが、全物理マシンまたは複数の物理マシンのデータを集計し、プロファイル解析ではホスト名がさらなるメタ情報として加えられればよい。その結果、「ホスト名+ゲスト名+プログラム名+関数名」で一意の識別子となる。すなわち、図9の表にもう1列「ホスト名」が加わるデータ構造でプロファイルが作成される。比率の分母は全物理マシン上のサンプル数の合計となる。つまり、クラウドシステム全体で1つのプロファイル結果が得られることになる。情報システム(例えば、図7のコントローラマシン1)は、クラウドシステム全体または複数のホストマシングループ全体で1つのプロファイルに対して、図10と同様の処理を実行し、異常判定を行えばよい。なお、必ずしも、クラウドシステム全体で処理が実行されなくてもよく、クラウドシステム上の複数のノードから得られるサンプリング結果に対して、図10と同様の処理を実行してもよい。
図12に、解析マシンによる複数物理マシンのデータに対する解析処理を例示する。ここで、複数物理マシンは、情報システム内の全物理マシンでもよいし、全物理マシンよりも少ない数の物理マシンでもよい。この図12では、S2の処理が、S2Aの処理に変更される点が図10と相違する。すなわち、解析マシンは、監視対象の各物理マシンからサンプリング結果を読み出す(S2A)。各物理マシンは、自身のホスト名とともに、サンプリング結果を例えば、SANやNASに書き出すので、解析マシンは、「ホスト名+ゲスト名+プログラム名+関数名」で一意の識別子となるサンプリングデータを取得し、S3からS8の処理を実行すればよい。なお、図12では、S3のプロファイル解析処理は、解析マシンで実行する。しかし、図12の処理に代えて、各物理マシンがS3のプロファイル解析処理を実行し、プロファイル解析結果を解析マシンに引き渡すようにしてもよい。各物理マシンがS3のプロファイル解析処理を実行する場合には、解析マシンでのS3の処理は不要である。各物理マシンがS3のプロファイル解析処理を実行する場合には、S2Aの処理で、プロファイル解析結果を取得すればよい。いずれしても、S2AまたはS3の処理は、複数のプロセッサのそれぞれ複数の処理において検出されるプロセッサの性能に関連するイベントの検出割合を取得することの一例である。なお、S2Aの処理が実行される結果、S1Aのプレ測定においも、S2Aに対応する処理(Z)が実行される。
以上述べたように、処理例3では、解析マシン(例えば、図7のコントローラマシン1)が各物理マシンのサンプリングデータを取得し、エントロピーとマンハッタン距離にしたがって、情報システム全体の性能を監視することができる。今後、基幹系アプリの様な大規模高負荷アプリケーションがクラウドへ本格移動してきた場合は、システム全体のクラウドシステムワイドな解析や判断が有効となると想定される。
<その他の変形例>
本実施形態では、図7〜図12のように、複数の仮想マシンが実行される情報システムにおける性能イベントの検出処理を例示した。しかし、このような処理に代えて、エントロピーとマンハッタン距離による負荷状態の判定は、単一のCPUにおいて、ネイティブモードで稼働するコンピュータ上において行ってもよい。
上記実施形態の図10、図12では、D秒間のサンプリング結果が取得されるのを前提として、(A)プロファイル解析、(B)エントロピー値とマンハッタン距離の計算、(C)移動平均と標準偏差の計算を実行する処理を説明した。しかし、上記処理に代えて、D秒をC区間に区切ったN秒ごとにサンプリングを結果を取得するようにしてもよい。つ
まり、C区間に区切ったN秒ごとのサンプリングと並行して、N秒ごとに(A)プロファイル解析、(B)エントロピー値とマンハッタン距離の計算、(C)移動平均と標準偏差の計算を実行するようにしてもよい。このように処理することで、本情報システムは、例えば、N秒(例えば、100ms)ごとに、リアルタイムに情報システムの性能状態が判定できる。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
なお、今日、コンピュータの構成が複雑化しており、非クラウド環境、あるいは非仮想計算機環境であっても、コンピューティング環境の管理、例えば、コンピュータ性能低下の検知、性能異常の検知、走行ソフトウェア上の問題発生個所(hotspot)特定を従来よ
りも簡易に実現することが望ましく、それらの環境について上記の実施形態を適用することが可能である。
<その他の実施形態>
本実施形態は、以下の実施形態の態様を含む。下記態様の各付記に含まれる構成は、他の付記の構成と組み合わせてもよい。
(付記1)
プロセッサを備え、
前記プロセッサが複数の処理において前記プロセッサの性能に関連するイベントの検出割合を取得し、
前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
の少なくとも一方を実行する情報処理装置。
(付記2)
前記プロセッサは、前記期待値および前記加算値を前記所定時間ごとに計算し、前記所定時間を隔てた前後における前記期待値および前記加算値の少なくとも一方の変化量が許容範囲から逸脱した場合に、異常発生を報知する付記1に記載の情報処理装置。
(付記3)
解析装置と複数のプロセッサを備える情報システムであって、
前記解析装置は、前記複数のプロセッサのそれぞれ複数の処理において検出される前記プロセッサの性能に関連するイベントの検出割合を取得し、
前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平
均値を計算する第1の計算、または、
前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2計算、
の少なくとも一方を実行する制御部を備える情報システム。
(付記4)
前記制御部は、前記期待値および前記加算値を前記所定時間ごとに計算し、前記所定時間を隔てた前後における前記期待値および前記加算値の少なくとも一方の変化量が許容範囲から逸脱した場合に、異常発生を報知する付記3に記載の情報システム。
(付記5)
プロセッサが、
前記プロセッサの複数の処理において前記プロセッサの性能に関連するイベントの検出割合を取得し、
前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
の少なくとも一方を実行する情報処理方法。
(付記6)
前記プロセッサは、前記期待値および前記加算値を前記所定時間ごとに計算し、前記所定時間を隔てた前後における前記期待値および前記加算値の少なくとも一方の変化量が許容範囲から逸脱した場合に、異常発生を報知する付記5に記載の情報処理方法。
(付記7)
解析装置と複数のプロセッサを備える情報システムにおける情報処理方法であって、
前記解析装置は、前記複数のプロセッサのそれぞれ複数の処理において検出される前記プロセッサの性能に関連するイベントの検出割合を取得し、
前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
の少なくとも一方を実行する情報処理方法。
(付記8)
前記解析装置は、前記期待値および前記加算値を前記所定時間ごとに計算し、前記所定時間を隔てた前後における前記期待値および前記加算値の少なくとも一方の変化量が許容範囲から逸脱した場合に、異常発生を報知する付記7に記載の情報処理方法。
(付記9)
プロセッサに、
前記プロセッサの複数の処理において前記プロセッサの性能に関連するイベントの検出割合を取得させ、
前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
の少なくとも一方の処理を実行させるためのプログラム。
(付記10)
前記プロセッサに、前記期待値および前記加算値を前記所定時間ごとに計算し、前記所定時間を隔てた前後における前記期待値および前記加算値の少なくとも一方の変化量が許
容範囲から逸脱した場合に、異常発生を報知することをさらに実行させるための付記9に記載のプログラム。
(付記11)
解析装置と複数のプロセッサを備える情報システムにおける前記解析装置に、
前記複数のプロセッサのそれぞれ複数の処理において検出される前記プロセッサの性能に関連するイベントの検出割合を取得させ、
前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
の少なくとも一方の処理を実行させるためのプログラム。
(付記12)
前記解析装置に、前記期待値および前記加算値を前記所定時間ごとに計算し、前記所定時間を隔てた前後における前記期待値および前記加算値の少なくとも一方の変化量が許容範囲から逸脱した場合に、異常発生を報知することをさらに実行させるための付記11に記載のプログラム。
1 コントローラマシン
2 ホストマシン

Claims (7)

  1. プロセッサを備え、
    前記プロセッサが複数の処理において前記プロセッサの性能に関連するイベントの検出割合を取得し、
    前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
    前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
    の少なくとも一方を実行する情報処理装置。
  2. 解析装置と複数のプロセッサを備える情報システムであって、
    前記解析装置は、前記複数のプロセッサのそれぞれ複数の処理において検出される前記プロセッサの性能に関連するイベントの検出割合を取得し、
    前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
    前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
    の少なくとも一方を実行する制御部を備える情報システム。
  3. 前記制御部は、前記期待値および前記加算値を前記所定時間ごとに計算し、前記所定時間を隔てた前後における前記期待値および前記加算値の少なくとも一方の変化量が許容範囲から逸脱した場合に、異常発生を報知する請求項2に記載の情報システム。
  4. プロセッサが、
    前記プロセッサの複数の処理において前記プロセッサの性能に関連するイベントの検出割合を取得し、
    前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
    前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
    の少なくとも一方を実行する情報処理方法。
  5. 解析装置と複数のプロセッサを備える情報システムにおける情報処理方法であって、
    前記解析装置は、前記複数のプロセッサのそれぞれ複数の処理において検出される前記プロセッサの性能に関連するイベントの検出割合を取得し、
    前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
    前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
    の少なくとも一方を実行する情報処理方法。
  6. プロセッサに、
    前記プロセッサの複数の処理において前記プロセッサの性能に関連するイベントの検出割合を取得させ、
    前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平
    均値を計算する第1の計算、または、
    前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
    の少なくとも一方の処理を実行させるためのプログラム。
  7. 解析装置と複数のプロセッサを備える情報システムにおける前記解析装置に、
    前記複数のプロセッサのそれぞれ複数の処理において検出される前記プロセッサの性能に関連するイベントの検出割合を取得させ、
    前記検出割合に基づいて、前記複数の処理での前記イベントの検出に対する情報量の平均値を計算する第1の計算、または、
    前記複数の処理のそれぞれについて、所定時間を隔てた前後で取得された前記イベントの検出割合同士の差分値を求め、前記差分値の絶対値を前記複数の処理について加算した加算値を計算する第2の計算、
    の少なくとも一方の処理を実行させるためのプログラム。
JP2016230327A 2016-11-28 2016-11-28 情報システム、情報処理装置、情報処理方法、およびプログラム Active JP6874345B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016230327A JP6874345B2 (ja) 2016-11-28 2016-11-28 情報システム、情報処理装置、情報処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016230327A JP6874345B2 (ja) 2016-11-28 2016-11-28 情報システム、情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2018088075A true JP2018088075A (ja) 2018-06-07
JP6874345B2 JP6874345B2 (ja) 2021-05-19

Family

ID=62493537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016230327A Active JP6874345B2 (ja) 2016-11-28 2016-11-28 情報システム、情報処理装置、情報処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6874345B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008014679A (ja) * 2006-07-03 2008-01-24 Ritsumeikan 設備診断方法、設備診断システム及びコンピュータプログラム
JP2016012193A (ja) * 2014-06-27 2016-01-21 富士通株式会社 抽出方法、装置、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008014679A (ja) * 2006-07-03 2008-01-24 Ritsumeikan 設備診断方法、設備診断システム及びコンピュータプログラム
JP2016012193A (ja) * 2014-06-27 2016-01-21 富士通株式会社 抽出方法、装置、及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
小島 俊輔 ほか: "エントロピーベースのマハラノビス距離による高速な異常検知手法", 情報処理学会論文誌, vol. 52, no. 2, JPN6020025868, 15 February 2011 (2011-02-15), JP, pages 656 - 668, ISSN: 0004310858 *
村木 雄二 ほか: "空間を考慮した最近隣法による渋滞予測システムの開発", 2007年度CSテクニカルレポート・システム開発型研究プロジェクト特集号[ONLINE], JPN6020025873, 2007, JP, ISSN: 0004310859 *

Also Published As

Publication number Publication date
JP6874345B2 (ja) 2021-05-19

Similar Documents

Publication Publication Date Title
Dean et al. Ubl: Unsupervised behavior learning for predicting performance anomalies in virtualized cloud systems
Tan et al. Adaptive system anomaly prediction for large-scale hosting infrastructures
US10733009B2 (en) Information processing apparatus and information processing method
EP3191964B1 (en) Memory leak analysis by usage trends correlation
Soualhia et al. Infrastructure fault detection and prediction in edge cloud environments
EP2960797B1 (en) Identification of software phases using machine learning
JP2017072882A (ja) アノマリ評価プログラム、アノマリ評価方法、および情報処理装置
Lu et al. LADRA: Log-based abnormal task detection and root-cause analysis in big data processing with Spark
US20120136909A1 (en) Cloud anomaly detection using normalization, binning and entropy determination
Jarus et al. Runtime power usage estimation of HPC servers for various classes of real-life applications
Zhou et al. Bigroots: An effective approach for root-cause analysis of stragglers in big data system
Yu et al. A scalable, non-parametric method for detecting performance anomaly in large scale computing
JP2010152458A (ja) 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。
CN106293881B (zh) 一种基于非一致性i/o访问构架的性能监控器及其监控方法
US20110106519A1 (en) Simulating an application
CN103645961A (zh) 计算密集型并行任务的异常检测方法及系统
Straesser et al. Why is it not solved yet? challenges for production-ready autoscaling
JPWO2011077533A1 (ja) 性能データ収集方法、性能データ収集装置及び性能データ管理システム
CN112434308A (zh) 应用漏洞检测方法、装置、电子设备及计算机存储介质
Kadirvel et al. Fault Management in {Map-Reduce} Through Early Detection of Anomalous Nodes
Lagraa et al. Scalability bottlenecks discovery in mpsoc platforms using data mining on simulation traces
Netti et al. Online fault classification in hpc systems through machine learning
JP6874345B2 (ja) 情報システム、情報処理装置、情報処理方法、およびプログラム
Li et al. Predicting thread profiles across core types via machine learning on heterogeneous multiprocessors
Ramos et al. An accurate tool for modeling, fingerprinting, comparison, and clustering of parallel applications based on performance counters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210405

R150 Certificate of patent or registration of utility model

Ref document number: 6874345

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150