Linuxのベンチマーク評価 とボトルネック解析

Similar documents
MIRACLE MH for SNMP サポート SLA( サービスレベルアグリーメント ) ML-CS-0747 本書は サイバートラスト株式会社 ( 以下 サイバートラスト ) が MIRACLE MH for SNMP サポート ( 以下当サポートサービス ) の内容について説明するものである

CLUSTERPRO SSS 動作環境編

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

160311_icm2015-muramatsu-v2.pptx

ダンプ取得機能強化サポートオプション Enterprise Edition

PowerPoint プレゼンテーション

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

目次 1 はじめに 登録商標 商標 注意事項 免債事項 SR-IOV の機能概要 性能検証事例 測定環境 測定結果 各方式による共有 NIC 性能比較 ( ポートあ

Release Note for Recording Server Monitoring Tool V1.1.1 (Japanese)

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

今週の進捗

本仕様はプロダクトバージョン Ver 以降に準じています

本仕様はプロダクトバージョン Ver 以降に準じています

bitvisor_summit.pptx

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

Windows Server 2016 Hyper-V ストレージQoS機能の強化

LinuxDeviceDriver2003-PDF.PDF

改版履歴 版数改版履歴改版年月日 1 新規作成 2013/3/29 2 TESTIO_MODE を追加 OVER_ACTION VG_STALL_ACTION の設定値を変更 2013/9/30 3 CLUSTERPRO MC StorageSaver for BootDisk (for Linux

memcached 方式 (No Replication) 認証情報は ログインした tomcat と設定された各 memcached サーバーに認証情報を分割し振り分けて保管する memcached の方系がダウンした場合は ログインしたことのあるサーバーへのアクセスでは tomcat に認証情報

Operating System 仮想記憶

Microsoft Word - nvsi_090198_quantum dxi7500_nvb.doc

04-process_thread_2.ppt

WithMIRACLE登録方法

Quad port LANカード(10GBASE-T) 取扱説明書

― ANSYS Mechanical ―Distributed ANSYS(領域分割法)ベンチマーク測定結果要約

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

OS

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014

LANカード(PG-2871) 取扱説明書

FIT2015( 第 14 回情報科学技術フォーラム ) RC-003 ファイル格納位置制御による Hadoop MapReduce ジョブの性能の向上 藤島永太山口実靖 工学院大学大学院工学研究科電気 電子工学専攻工学院大学工学部情報通信工学科 1. はじめに近年, 世界中の情報量が爆発的に増加し

はじめに 本書の目的 本書は JMA オンラインセミナー ( 以下 オンラインセミナー ) の受験者向け機能の使用方法を記述した操作説明書です システム推奨環境 オンラインセミナーを使用するユーザの PC 環境は 以下に示すスペックを満たしてい ることを推奨します ハードウェア CPU 2.33GH

ビッグデータやクラウドのシステム基盤向けに処理性能を強化した「BladeSymphony」および「HA8000シリーズ」の新製品を販売開始

(速報) Xeon E 系モデル 新プロセッサ性能について

本文ALL.indd

検証事例 富士通株式会社

Microsoft Word - p2viewer_plus_jpn20.doc

CodeRecorderでカバレッジ

富士通PCサーバ「PRIMERGY RX2530 M4」における「TeraStation TS5010 / TS3010」シリーズ動作検証報告

NEC 製PC サーバ『Express5800 R120f-1E』とSanDisk『ioMemory SX /SX 』検証報告書

スライド 1

データベース暗号化ツール「D’Amo」性能検証

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

Release Note for Media File Player v1.6.3 (Japanese)

Microsoft PowerPoint - MySQL-backup.ppt

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows FAQ 集 2013(Mar) NEC Corporation 導入に関する質問 運用に関する質問 動作環境に関する質問

5. オープンソースWAF「ModSecurity」導入事例 ~ IPA はこう考えた ~

マニュアル訂正連絡票

(Rev.AL 年 08 月 08 日 ) LiTE31S

OSS 運用監視ツールトラブル事例あるある集 ログ監視を行う際に 知っておくべき トラブル事例 2017/06/07 ミラクル リナックス株式会社テクニカルアライアンス部竹村隆吉 公開 Copyright MIRACLE LINUX CORPORATION. All rights reserved.

富士通PCサーバ「PRIMERGY TX1320 M3/RX1330 M3」における「NetStor」シリーズ動作検証

t20s3-fn09.pdf

KSforWindowsServerのご紹介

エンジニアリングトータルソリューション「ACROVA GMM」の2次元CADソフトウェアプロダクト3製品をバージョンアップ

2 Soliton SmartOn Solo Ver (USB2-NFC NFC-ST NFC-RW 対応 ) ここでは Soliton SmartOn Solo Ver のリリース概要について説明します 機能の詳細およびインストール方法については 体験版に含まれてい

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

Empower3 Feature Release (FR) 2 の新機能 コンピュータ要件パーソナルまたはクライアント項目 OS CPU メモリハードディスク 最低条件 Windows 7 Enterprise または Professional SP1 64 ビット Windows XP Profe

OS

SpeC記述のC記述への変換 (SpecCによるソフトウェア記述の実装記述への変換)

アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2

Quad port LANカード(10GBASE) 取扱説明書

r10s4-fn03.pdf

自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植

05-scheduling.ppt

(Microsoft Word - WhitePaper_EvaluationAvanceNVBU__rev2_\203t\203H\201[\203\200\211\374\222\371\224\305_.doc)

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

Microsoft PowerPoint - sp ppt [互換モード]

本ガイドは MAGNIA シリーズ共通に対応する Linux バンドルオプション について記載したものです MAGNIA シリース本体については各機種の ハードウェア構成ガイド を オプション周辺機器については ハードウェア構成ガイドオプション編 をそれぞれご参照ください 本ガイドに記載の各製品は

Release Note for Central Configuration Tool V1.1.1 (Japanese)

プラチナサポート SLA ( サービスレベルアグリーメント ) 文書番号 :ML-CS-0549 本書は サイバートラスト株式会社 ( 以下 当社 ) がプラチナサポートサービス ( 以下 当サポート サービス ) の内容について説明するものである 当サポート サービスは以下の 2 種類がある プラ

使用する前に

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

目次 実践編 -Windows10 での設定方法... 2 A.1 端末ロックによる利用者認証の有効化 ( 利用者認証の設定方法 )... 2 A.2 端末ロックによる利用者認証の安全性強化 ( 利用者認証失敗時の動作設定方法 )... 8 C.1 ドライブ / フォルダの暗号化設定と端末ロックによ

PowerPoint プレゼンテーション

CLUSTERPRO MC RootDiskMonitor 2.3 for Linux HW-RAID 監視機能 リリースメモ 2018(Jun) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル

5 バージョンダウン 別アーキテクチャ対応製品を含みます 6 お客様からご要望があった場合にご提供いたします ご契約 1 件につき 各バージョン 1 個までのご提供に限らせていただきます 対象となるバージョンアップ製品については次のとおりです Asianux Server 3 == MIRACLE

PowerPoint プレゼンテーション

仮想化基礎演習テキスト Ⅰ 第 1.0 版 演習で学ぶ仮想化基礎 ( クライアント仮想化編 ) 九州ラーニングネット株式会社 特定非営利活動法人パソコン整備士協会

secuprint5 Watermark( セキュプリント 5 ウォーターマーク ) とは secuprint5 Watermark( セキュプリント 5 ウォーターマーク ) は 印刷文書内 に 社外持ち出し禁止です などのテキスト 誰が いつ 何を印刷した か 等のセキュリティ情報 また マル秘

Microsoft Word - nvsi_090203_r1_sanboot_vaultdr.doc

MAGNIA Storage Server Configuration Guide

情報処理学会研究報告 IPSJ SIG Technical Report Vol.2014-DPS-159 No.31 Vol.2014-MBL-71 No /5/16 仮想化環境における読込み書込み比率を考慮した動的 VM メモリ割り当て 1 坂本雅哉 1 山口実靖 近年, サーバの

変更履歴 項番版数内容更新日 版新規作成 2013 年 11 月 18 日 1

Auto Tracking Server Software 導入手順書

目次 動作環境... 2 インストール... 3 ログイン... 5 環境設定... 6 ユーザー管理... 6 ORCA 接続設定... 8 自院情報設定... 9 PDF 設定... 9 ORCA データ一括取得 バックアップ バージョン情報 更新をチェック.

Touch Panel Settings Tool

<4D F736F F F696E74202D E A92E897CA D E83678AC7979D B838B5F F947

PowerPoint プレゼンテーション

改版履歴 版数改版履歴改版年月日 1.0 新規作成 2015/03/31 Page 2 NEC Corporation 2015

<4C696E A B835E A CC8A D20838A B835E B838982CC8EC08CB

VXPRO R1400® ご提案資料

高速インメモリデータ管理ソフトウェア「Primesoft Server」ご紹介

PowerPoint プレゼンテーション

Ext4 online defrag実装に関する研究開発

アドバンストサーバ「HA8000シリーズ」において最新テクノロジーを採用しシステム性能を強化

TopSE並行システム はじめに

Vantage Analyzer 機能検証結果報告書

改版履歴 版数改版履歴改版年月日 1.0 新規作成 2013/03/ OverAction と DiskStallAction の値変更 (ActionNone ServiceCmdDisable ProcessOfRdmstatKillEnable ServiceCmdEnable)

Microsoft Word - nvsi_090196_r1_vaultdr_offline_rhel_dualpath.doc

リソース制約下における組込みソフトウェアの性能検証および最適化方法

Transcription:

LKST による Linux カーネルの評価と ボトルネック解析 ( 株 ) 日立製作所システム開発研究所 平松雅巳, 杉田由美子 Japan OSS Promotion Forum OSC2005 1

目次 カーネル性能評価手法 LKST とは LKST Log Tools とは 性能解析ツール 可視化ツール 使い方 IO ボトルネック解析例 Iozone によるボトルネック例 リクエストキュー長解析 スピンロック解析 LKST のオーバヘッド OSC2005 2

カーネル性能評価手法 性能評価手法 ベンチマーク アプリケーションレベルの情報のみ サンプリング 実行頻度のみ ( 前後情報なし ) サンプリングに漏れる場合が存在 カーネル内部の詳細な情報が欲しい カーネルトレーサを利用 主な処理を確実に記録可能 OSC2005 3

LKST(Linux Kernel State Tracer) とは Linux カーネル向けイベントトレーサ カーネルドライバ ( 本体と組込みイベントハンドラ ) カーネルコードに埋め込まれたフックポイント ユーザコマンド群 拡張イベントハンドラ 特徴 イベントトレース時の柔軟なカスタマイズ設定 記録するイベントの種類 イベント記録時の処理内容 イベントの記録内容 記録領域 OSC2005 4

LKST の動作図 Linux カーネルフックポイントタスク切替ロック割り込み システムコール I/O 動的な関数呼び出し イベントとハンドラの組み合わせ マスクセット イベントの記録先 イベントハンドラ イベントハンドラ イベントハンドラ LKST CPU0 用 記録 操作 記録バッファイベントバッファ CPU1 用 ファイル出力 パニックダンプ保存 (LKCD) ディスク ( ファイル ) 障害解析に利用 OSC2005 5

LKST Log Tools とは LKST によるカーネル性能評価機能 LKST の機能拡張部分 性能データの解析ツール 解析結果のプロットツール 特徴 性能情報ごとに個別の性能指標値を算出 単一の情報だけではない データの切り出し 表示形式の変更が可能 フィルタ フォーマッタの切り替え 解析結果をプロット可能 PS/PDF 形式でプロットデータを保存 OSC2005 6

LKST による性能評価機能 性能評価ポイントで情報を取得する LKST 機能拡張 Linux カーネル フックポイント ロック ページ管理 システムコール ブロック I/O IO 取得した情報を解析する 性能解析ツール 解析した情報を可視化する 可視化ツール 拡張ハンドラ LKST 可視化ツール マスクセット イベントハンドラ 記録 操作 記録バッファイベントバッファ ロック解析 情報データ イベントハンドラ 性能解析ツール IO 解析 OSC2005 7

解析結果の統計や分布などを表示する 記録デー 性能解析ツール (lkstla) 3 つの機能を持っている アナライザ LKSTのログファイルを解析して 性能を示す値を抽出する フィルタ いくつかの条件によって 結果を選り分ける フォーマッタ lkstla タアナライザフィルタフォーマッタ 性能データ キー キー名 時間 値 選択されたデータ 統計 分布解析したデータ OSC2005 8

可視化ツール lkst_plot_log/lkst_plot_dist/lkst_plot_stat lkstla の解析結果を pdf にしてプロット OSC2005 9

使い方 デモ マスクセットによる記録設定 バッファからのデータ保存 lkstlaによるデータの解析 lkst_plot_statを使ったデータの表示 OSC2005 10

IO ボトルネック解析例 IozoneベンチマークによるMIRACLE LINUX の性能評価 OProfileを使ったボトルネック箇所の特定 LKST Log Toolsを使ったボトルネック解析 ミラクル リナックス社発表の資料に基づく OSC2005 11

IO ボトルネック測定 目的 システムの限界性能調査 ボトルネックの発見と原因解析 Iozone ファイルIO 性能測定ベンチマーク 並列化処理 ( プロセス / スレッド ) IO 方法 (read/write/random/mmap/etc.) 同期方式 ( 通常 ( 非同期 ) / O_SYNC( 同期 )) 処理ディスク数 処理プロセス数 1~4 1~4 OSC2005 12

測定対象 PC サーバ Dual Xeon (Hyper-Threading) 論理 CPU 数 :4 個 6GBメモリ SCSIドライブ ディストリビューション MIRACLE LINUX V3.0 カーネル 2.4 ベース ファイルシステム Ext3 ファイルシステム 事実上 Linux の標準ファイルシステム OSC2005 13

ベンチマーク環境構成 ディスクコントローラ Ultra320 SCSI SCSI HDD 1~4 台使用 システムHDDと別 テストパターンによって増減 テスト対象ディスク OSC2005 14

ベンチマーク結果 write スループット測定結果 (MB/sec) 120 100 80 60 40 20 0 1 2 3 4 5 6 7 8 9 10 11 パターン ID グループ A: CPU 使用率が高い最大スループット グループ B: CPU 利用率が低い低いスループット グループ C: CPU 利用率が高い最低スループット グループ B と C において性能が劣化した原因を探る OSC2005 15

Iozone パラメータ パターン ID ファイルサイズ 使用ディスク数 スレッド使用 Iozone コマンド数 1 8G 1 1 2 8G 1 1 3 4G 2 1 4 4G 2 1 5 4G 2 2 6 2731M 3 1 7 2731M 3 1 8 2731M 3 3 9 2G 4 1 10 2G 4 1 11 2G 4 4 グループ B グループ A グループ C OSC2005 16

解析手順 ボトルネック解析の手順 1. プロファイリングによる大まかな絞り込み OProfile(*) を利用 2. LKSTを用いて詳細なデータを取得 3. LKSTLogToolsを用いてデータを解析 4. 解析結果からの考察 * OProfile: サンプリングベースのプロファイリングツール設定したサンプリング間隔での実行箇所の特定を行う OSC2005 17

グループ B の解析 (1) OProfile による解析 グループ B における実行箇所の絞り込み 順位 関数 カウント 占有率 累積占有率 1 default_idle 1,993 24.37 24.37 2 try_to_free_buffers 532 6.504 30.87 3 launder_page 532 6.504 37.38 アドレス サンプル数 default_idle 内占有率 命令 0xc0109254 3 0.1505 je 0x0109280 0xc0109260 1 0.05018 movl 0x14(%edx),%eax 0xc0109268 1945 97.59 hlt 0xc0109269 44 2.208 ret hlt 命令が多くサンプリングされている OS の待ち時間が多い OSC2005 18

グループ B の解析 (2) LKST による IO 処理の解析 (1) 待ち時間処理 IO 処理 IO 処理時間を LKST で解析 100 80 グループ B グループ A 割合 (%) 60 40 20 0 1E-05 1E-04 0.001 0.01 0.1 1 10 X 軸は対数グラフ 所要時間 ( 秒 ) グループ B の IO 処理時間がグループ A より一桁大きいところにピークがある OSC2005 19

グループ B の解析 (3) LKST による IO 処理の解析 (2) IO リクエストキューの長さを LKST で解析 キューの長さの平均 500 400 300 200 100 0 グループ B グループ A グループ B のキューの長さがほとんど限界値 (=512) OSC2005 20

グループ B の解析結果 Oprofile による解析 hlt 命令が多い LKST による IO リクエストキューの解析 ディスクが少ない 並列処理が出来ず キューが長くなる IO 処理が遅い CPU 処理に空き時間発生 hlt 命令実行 OSC2005 21

グループ C の解析 (1) OProfile による解析 グループ C における実行箇所の絞り込み 順位 関数 サンプル数 占有率 (%) 累積占有率 (%) 1.text.lock.ioctl 10,310 28.74 28.74 2.text.lock.buffer 8,257 23.02 51.76 3 default_idle 2,166 6.038 57.80 4 do_generic_file_write 2,048 5.709 63.50 ビジーウェイト処理が多くサンプリングされている ロックに問題 OSC2005 22

ビジーウェイト処理とは (1) 通常のロック待ち処理 例 ) セマフォ mutex など プロセス A プロセス B プロセス C ロック競合 ロック解除 プロセス切り替え 再スケジュールしてから再開 プロセス切り替えを行う CPU 処理時間を無駄にしない OSC2005 23

ビジーウェイト処理とは (2) ビジーウェイト処理 例 ) カーネル内スピンロック プロセス A プロセス B プロセス C ロック競合 ロック解除 ロック状態を確認しながらループ 即座に再開 プロセスを切り替えずに待つ CPU 処理時間が無駄になる OSC2005 24

グループ C の解析 (2) LKST によるビジーウェイト解析 (1) ビジーウェイト処理時間を LKST で解析 順 アドレス 回数 平均 ( 秒 ) 最大 ( 秒 ) 合計 ( 秒 ) 割合 (%) 位 1 0xc019f83e 85 0.3777 16.14 32.1 41.1 2 0xc01977d1 1,028 0.02984 15.51 30.7 39.3 3 0xc018ad07 4 3.786 15.14 15.1 19.4 4 0xf8863ba3 61,477 1.8E-07 2.49E-05 0.0111 0.0142 5 0xf88637bb 61,476 1.79E-07 7.42E-06 0.0110 0.0141 全ビジーウェイト処理の 99.8% が 3 箇所に集中 OSC2005 25

グループ C の解析 (3) LKST によるビジーウェイト解析 (2) ビジーウェイト処理時間の分散を見る アドレス ~1 マイクロ秒 ~10 マイクロ秒 ~100 マイクロ秒 ~1 ミリ秒 ~10 ミリ秒 ~100 ミリ秒 ~1 秒 ~10 秒 10 秒以上 0xc019f83e 82 1 0 0 0 0 0 0 2 0xc01977d1 963 48 11 3 1 0 0 0 2 0xc018ad07 2 1 0 0 0 0 0 0 1 非常に長いビジーウェイトが何度かおきている OSC2005 26

グループ C の解析結果 Oprofile による解析 グローバルカーネルロックのサンプリング頻度が高い ロック回数が多い or ロック時間が長い LKST 実際に 10 秒以上のビジーウェイト処理の発生を確認 ロック時間が長い OSC2005 27

LKST のオーバヘッド (kernel build) 評価環境 Pentium4 Xeon 2.8GHz (L2:1MB) (Hyper Threading 有効 ) Memory: 4GB Linux 2.6.9+LKST 2.2.1 on Fedora Core 2 相対時間 1.4 1.2 1 0.8 0.6 0.4 0.2 0 カーネルビルド時間の比較 user sys real 元カーネル記録しない性能記録性能記録 -spinlock なし全て記録 ( 測定環境 :IPA 提供 ) アプリケーション実実行性能 (real) への影響は 0.5~3.5% 程度 OSC2005 28

まとめ まとめ LKST を使用した性能評価機能の開発 LKST の機能を拡張し ログから性能情報を解析する機能を開発 OProfile と LKST を連携したカーネルボトルネックの解析 IO 高負荷時のカーネル処理のボトルネックを解析 今後の予定 LKST サンプリング機能をつけるなどして 収集情報の増加を抑えたい lkstla を強化し 解析できるイベントを追加したい 関連 URL OSS 推進フォーラム http://www.ipa.go.jp/software/open/forum/ LKST http://lkst.sourceforge.jp/ Iozone http://www.iozone.org/ OProfile http://oprofile.sourceforge.net/news/ OSC2005 29

商標 Linuxは Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です MIRACLE LINUXはミラクル リナックス株式会社が使用権許諾を受けている登録商標です Intel, Intel Xeon, Pentium は アメリカ合衆国およびその他の国におけるインテルコーポレーションまたはその子会社の商標または登録商標です その他の記載されている社名および製品名は各社の登録商標また商標です その他 この発表内容は 独立行政法人情報処理推進機構オープンソースソフトウェア活用基盤整備事業 に係る委託業務の調査 開発に基づくものです OSC2005 30

Happy Evaluating! OSC2005 31

補足 : ビジーウェイトプロセスの解析 ロックプロセスの特定 時刻 cpu コマンド名 lock/unlock 関数 10:59:59.109884679 0 kdm_greet lock 10:59:59.109884863 0 kdm_greet unlock 11:00:15.543851385 3 iozone unlock schedule() 11:00:15.543853871 1 crond lock permission() 11:00:15.543862258 1 crond unlock 約 15 秒もの間ビジーウェイト状態にあった Iozone プロセスが他のアプリケーションの動作を邪魔していた スループット低下の原因? OSC2005 32