2024-03-28T17:18:10Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:001296392023-11-17T02:17:36Z06504:08103:08110
Pkprof : プロセスごとに分類するカーネルプロファイラ : 概念Pkprof : Process-labeled Kernel Profi1er : Conceptsjpnhttp://id.nii.ac.jp/1001/00129824/Conference Paperhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=129639&item_no=1&attribute_id=1&file_no=1(株)日立製作所基礎研究所(株)日立製作所基礎研究所(株)日立製作所基礎研究所川口, 敦生西岡, 真吾元田, 浩Pkprof(Process-labeled Kernel PROFi1er)はオペレーティングシステムのカーネルが,どのプロセス(あるいはスレッド)のためにどれだけの資源を消費したかを測定する,カーネルプロファイラである.アプリケーションプロダラムの開発に用いられるユーザレベルプロファイラと,オペレーティングシステムカーネルの開発に用いられるカーネルプロファイラは,これまで個別に用いられてきた.ユーザレベルプロファイラは,システムコールの処理を不可分の処理として扱う.一方カーネルプロファイラでは,特定のプロセスによって一時的にもたらされた過負荷を分離して扱うことは困難であった. 近年のオペレーティングシステムは,サーバと呼ばれる多くのユーザレベルプログラムがシステムレベルのサービスを提供している,こういった構成では,カーネルレベルとユーザレベルのプロファイル結果を同時に検討することが,システム構成の決定や性能改良に有益である.Pkprofはこのような検討のもとに考案された新しいカーネルプロファイラである. Pkprofは,今カーネルがどのプロセスのためにサービスを実行しているかを追跡する.そしてどのプロセスのためかという情報を,サービス実行に要した資源消費にラベル付けして記録する.ユーザレベルプロファイラと併用すると,一つのプログラムがユーザ空間ならびにカーネル空間で消費した資源を計測することが可能になる.このような「継ぎ目なしのプロファイル」(Seamless profile)の測定結果例を図1に示す.この例ではプロセス137がraw_cat()関数の実行に費やしたCPU時間の内訳が,gprof[2]形式でカーネル内の処理(137k;と付された関数)も含めて示されている.継ぎ目なしのプロファイルは,システム全体の視点からプログラムの性能改善を進めていくのに極めて有用である.AN00349328全国大会講演論文集第52回ソフトウェア81821996-03-062015-01-20