検索
ニュース

更新後のソフトウェアが遅い、原因を自動的に特定する手法をテキサスA&M大学とIntel Labsが開発パフォーマンスカウンタのデータを利用

テキサスA&M大学の研究者がIntel Labsのコンピュータ科学者と共同で、ソフトウェアのアップデートに起因する処理速度の低下に関する研究結果を発表した。PCやサーバが備える数百のパフォーマンスカウンタから情報を取得し、正常動作と異常動作を判定できる。

Share
Tweet
LINE
Hatena

 アップデートによって動作速度が高まったことをうたうソフトウェアを試してみると、実際には動作速度が遅くなっていることがある。テキサスA&M大学の研究者とIntel Labsのコンピュータ科学者は共同で、このような問題の原因を特定する作業を完全に自動化する手法「AutoPerf」を開発した。2020年2月11日にテキサスA&M大学が発表したもの。

 ディープラーニングで問題特定用のアルゴリズムをトレーニングし、ソフトウェアが含む問題を数日ではなく数時間で発見できるという。

 テキサスA&M大学コンピュータ科学工学部 助教授のアブドラ・ムザヒド氏は次のように語る。

 「ソフトウェアをアップデートすると、かえって動作が遅くなる場合がある。ソフトウェアに変更を加える過程でエラーが混入することがあるからだ。この問題は、継続的に進化する大規模なソフトウェアシステムを使用する企業では、一段と深刻だ」

 このようなパフォーマンス上の問題を、コンピュータ科学の分野では「パフォーマンスリグレッション」と呼ぶ。同氏を含む研究チームは、パフォーマンスリグレッションに向けた便利な診断ツールを開発した。このツールは、あらゆるソフトウェアやプログラミング言語と互換性があるとしている。


研究チームが開発したアルゴリズムは、バグがないバージョンのプログラムから得たパフォーマンスカウンタデータ(上段)を使ってトレーニングすることで、変更後のプログラムの性能低下を検知する(出典:Texas A&M大学

 ムザヒド氏によると、パフォーマンスリグレッションの診断には、CPUのパフォーマンスカウンタのデータを使う。

 「パフォーマンスカウンタは、プログラムの実行状態を理解するための情報を提供する。プログラムが期待通りに動いていない場合、パフォーマンスカウンタが通常、異常な挙動の兆候を記録する」(同氏)

 ソフトウェア実行後のパフォーマンスカウンタには特定のメモリアドレスにアクセスした回数やアクセスしていた時間、終了した時間などが記録されているため、診断に役立つ情報を引き出すことができる。

パフォーマンスカウンタが多過ぎる

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る