性能評価のための命令トレーサの開発

森本 洋行  小宮山 彰一郎  毛利 公一  吉澤 康文  

誌名
電子情報通信学会論文誌 D   Vol.J84-D1   No.6   pp.584-593
発行日: 2001/06/01
Online ISSN: 
DOI: 
Print ISSN: 0915-1915
論文種別: 特集論文 (システム開発論文特集)
専門分野: ソフトウェアシステム
キーワード: 
性能評価,  命令トレーサ,  メモリアクセス,  オペレーティングシステム,  Linux,  

本文: PDF(365KB)>>
論文を購入




あらまし: 
ネットワークサーバプログラムや分散マルチメディアアプリケーションなどの,システムコールや入出力処理を頻繁に利用するアプリケーションは,オペレーティングシステムへの依存度が高い.このようなアプリケーションの性能を評価するためには,アプリケーションとオペレーティングシステムの実行時のデータを一貫して取得しなければならない.また,従来,プログラムの性能評価はCPUの提供する性能モニタリング機能を用いた特定事象の発生回数を計測するものが主であった.特に,CPUの累積クロック数を利用した時間計測を行う場合が多い.しかし,現状の計算機環境では,これらの値は計測のタイミングにより変動する場合が多い.しかも,これらの方法では,複数の事象が発生した場合の発生時列の情報が保存されないため,それらの依存関係を知る手段が提供されない.値が変動した原因をユーザが特定することは困難である.以上の課題を解決するために,本論文では,性能評価軸としてメモリアクセスに注目した,カーネルレベル命令トレーサ"鶴,"鶴の出力したデータを解析するツール群"鶴Tools,"鶴Tools を作成するためのライブラリ"鶴Library "を提案する.鶴は,実行命令列,参照アドレス,割込みなどの動的な情報の取得を可能としている.また,鶴で取得したデータを鶴Tools を用いて解析することにより,対象プログラムの動作の追跡,実行時間,ページフォルトの発生率などを求めることができる.その結果をもとに,性能低下の原因の解明,問題点を改善することによる性能向上率の試算も可能となる.更に,鶴Library によって,ユーザが鶴Tools を容易に構築することを可能としている.