|
|
前のページ 1 2 3 4 次のページ
|
|
ベンチマーク結果と分類
|
ベンチマークの結果、I/O結果は大きく分けて3種類に分類できることがわかった(表2)。この分類は、スループット結果とプロファイリング結果とで共通であった。
|
プロファイリング結果 |
スループット結果 |
I/OパターンID |
CPUビジー型 |
良好 |
3 ,4, 6, 7, 9, 10 |
CPUアイドル型(I/Oビジー型) |
やや悪い |
1, 2 |
ロック競合型 |
悪い |
5, 8, 11 |
表2:I/O結果の分類
|
図2:スループット結果
|
CPUビジー型は、iozoneプロセスからページキャッシュへのデータのコピー処理がボトルネックになっているケースであり、最も多く見られたパターンである。優れたスループット結果に現れている通り、非常にスムーズにI/O処理が行われた状態にある。
CPUアイドル型(I/Oビジー型)は、8GBのファイルを単一のI/Oで作成する場合に発生しており、これはデバイス(ハードディスクやディスクコントローラ)がボトルネックとなり、CPUに待ち状態が発生したケースと考えられる。この場合は、ハードディスクやコントローラの交換などによるデバイスの高速化が最も効果的なボトルネック解消方法といえる。
ロック競合型は、グローバルなカーネルロックの競合が発生したため、CPUに待ち状態が発生したケースであり、iozoneコマンドを複数起動した際に観測された。具体的にカーネルのどの部分のカーネルロックが競合したかについてをOProfileとLKSTのデータを解析することから導き出すことができた。
|
CPUビジー型
|
CPUビジー型については、パターンID 9を取り上げる。
|
パターンID |
オプション -s |
オプション -t |
オプション -T |
iozoneコマンド数 |
9 |
2G |
4 |
× |
1 |
表3:条件
|
所要時間(Wall time) |
89.446秒 |
ファイルサイズ合計 |
8,388,596.00kB |
スループット合計 |
94,740.99 kB/sec |
表4:IOzone結果
|
順位 |
シンボル |
サンプル数 |
占有率(%) |
累積占有率(%) |
1 |
do_generic_file_write |
8,462 |
16.16 |
16.16 |
2 |
get_hash_table |
4,584 |
8.754 |
24.91 |
3 |
unlock_buffer |
3,364 |
6.424 |
31.34 |
4 |
__br_write_lock |
2,763 |
5.276 |
36.61 |
5 |
__write_lock_failed |
1,989 |
3.798 |
40.41 |
6 |
__br_write_unlock |
1,516 |
2.895 |
43.31 |
7 |
__free_pages_ok |
1,287 |
2.458 |
45.76 |
8 |
rmqueue |
1,190 |
2.272 |
48.04 |
9 |
get_unused_buffer_head |
1,140 |
2.179 |
50.21 |
10 |
.text.lock.sched |
1,122 |
2.143 |
52.36 |
表5:プロファイリング全体結果
|
do_generic_file_writeを細分化した結果は表6の通り。
|
アドレス |
サンプル数 |
do_generic_file_writeに対する占有率(%) |
全体に対する占有率(%) |
命令 |
0xc0160de5 |
1 |
0.011818 |
0.00191 |
shr $0x2,%ecx |
0xc0160de8 |
7552 |
89.246 |
14.4213 |
repz movsl %ds:(%esi),%es:(%edi) |
0xc0160dea |
358 |
4.23068 |
0.683637 |
mov %eax,%ecx |
0xc0160dee |
95 |
1.12267 |
0.181412 |
mov %ecx,%ebx |
0xc0160df0 |
1 |
0.011818 |
0.00191 |
mov 0x10(%esp,1),%edi |
表6:プロファイリングdo_generic_file_write詳細
|
命令は、下記のobjdumpコマンドを使用して確認した。
|
# objdump -d /boot/vmlinux-2.4.21-9.38AXsmp --start-address=0xc0160de5 \
--stop-address=0xc0160df4
|
|
前のページ 1 2 3 4 次のページ
|
|
|
|
著者プロフィール
ミラクル・リナックス株式会社 吉岡 弘隆
2000年6月ミラクル・リナックス(株)設立、それ以前は日本オラクルにてOracleデータベースのサポートを担当していた。オープンソースとの出会いは、1998年米国Oracle出向時にNetscapeのソースコード公開がきっかけ。
ミラクル・リナックス株式会社 取締役
日本OSS推進フォーラム ステアリングコミッティ委員
OSDL Japan アドバイザリボードメンバー
|
|
|
|