新しいマイクロアーキテクチャーでアプリケーションはどのように実行されるのか? この疑問に答えるインテル® VTune™ Amplifier XE 2011

同カテゴリーの次の記事

インテル® VTune™ Amplifier XE パフォーマンス・アナライザーを使って Sandy Bridge EP✝ で特定の LLC イベントをサンプリングする際のパフォーマンスへの影響

この記事は、Dr.Dobb’s Go Parallel に掲載されている「How Do Applications Run on a New Micro-Architecture? Intel VTune Amplifier XE 2011 Answers the Question」の日本語参考訳です。


よくあることですが、特定のターゲット・マイクロアーキテクチャーの利点を最大限に利用し、特定の Windows バージョンで動作している既存のアプリケーションが、異なるマイクロアーキテクチャーで期待する UX (ユーザー・エクスペリエンス) を提供できるかどうか確認しなければならないことがあります。そのような場合に、インテル® VTune™ Amplifier XE 2011 の Profile System (システムのプロファイル) ターゲットタイプは、システム全体のパフォーマンスを解析し、新しいターゲット・マイクロアーキテクチャー向けに最適化するのに必要なすべての情報を提供します。

通常、Profile System (システムのプロファイル) ターゲットタイプは、次のような考慮事項に対する詳細な情報を提供します。

  • インテル® Atom™ プロセッサー・ベースのタブレットで新しい HTML 5 Web アプリケーションを使用できるか?
  • インテル® Core™ i5 プロセッサー・ベースのウルトラブックで既存の Silverlight* アプリケーションを実行できるか?
  • インテル® Core™ i3 プロセッサー・ベースのウルトラブックでデスクトップ・アプリケーションは想定どおりに動作するか?
  • インテル® Core™ i5 プロセッサー・ベースのウルトラブックでより良い UX を提供するには、既存のデスクトップ・アプリケーションに対してどのような最適化を行うべきか?
  • ウルトラブックで必要なすべてのアプリケーションを実行するため、システム全体のパフォーマンスを向上させるにはどうしたら良いか?
  • アプリケーションで最新の Sandy Bridge✝ マイクロアーキテクチャーの拡張機能を利用できているか?

システム全体のパフォーマンスを解析する場合は、対象アプリケーションの実行に関連するすべてのアプリケーション/プロセスと、それらが特定のマイクロアーキテクチャーでどのように動作するのかを考慮する必要があります。また、必要なすべてのアプリケーションを起動した場合に何が起こるかを解析することで、ロード時間を減らす最適化に専念できます。通常、最初にシステム全体のパフォーマンスを解析したほうが良いでしょう。Profile System (システムのプロファイル) は、インテル® VTune™ Amplifier XE 2011 プロジェクトを起動したときにターゲットタイプのドロップダウン・リストに表示されます (図 1 を参照)。

図 1: 新しいインテル® VTune™ Amplifier XE 2011 プロジェクトでは Profile System (システムのプロファイル) ターゲットタイプが選択されています。

ターゲットタイプに Profile System (システムのプロファイル) を設定して新しいプロジェクトを作成したら、解析タイプを選択します。インテル® VTune™ Amplifier XE 2011 は、インテル® Core™2 プロセッサー・ファミリー、インテル® Nehalem✝ マイクロアーキテクチャー、インテル® Sandy Bridge✝ マイクロアーキテクチャー、インテル® Atom™ プロセッサー・ファミリーなどの多様なインテル・プラットフォーム向けに高度なハードウェア・レベルの解析タイプを提供します (図 2 を参照)。

新しいインテル® マイクロアーキテクチャーが登場すると、通常、インテル® VTune™ Amplifier XE 2011 はアップデート・パッケージを提供することで、そのマイクロアーキテクチャー向けの各種解析タイプを追加します。各解析タイプは、CPU のオンチップの PMU (パフォーマンス・モニタリング・ユニット) を使用して、リタイアした命令数、クロック数、キャッシュミスなどのパフォーマンス・イベントをカウントするイベントベース・サンプリング解析タイプを提供します。

図 2: インテル® VTune™ Amplifier XE 2011 プロジェクトで提供される各種マイクロアーキテクチャー向けの解析タイプ

各イベントベース・サンプリング解析タイプは、アプリケーションでマイクロアーキテクチャーのハードウェア・リソースを活用できていない場所を特定する詳細な情報を提供します。各ターゲット・マイクロアーキテクチャーの解析タイプをクリックすると、サンプリングされるイベント名とサンプリング間隔の値 (インテル® VTune™ Amplifier XE 2011 がイベントデータの収集の割り込みをかけるイベント数) が表示されます (図 3 を参照)。必要に応じて、デフォルトの設定を変更できます。
インテル® VTune™ Amplifier XE 2011 は、収集時間に応じて倍数を使用しサンプリング間隔の値を自動的に調整します。

図 3: 45nm インテル® Core™2 マイクロアーキテクチャー向けのメモリーアクセス解析用に設定されたイベント

解析タイプを選択したら、[Start] をクリックして、解析およびデータ収集対象のすべてのアプリケーションと UX (ユーザー・エクスペリエンス) 動作を実行できます。例えば、異なるグループレベルの異なるアプリケーションの hotspot から取り掛かることができます。Profile System (システムのプロファイル) ターゲットタイプは特定のアプリケーション/プロセスに注目した解析ではないため、収集されるデータから、改善することでターゲット・プラットフォームの全体的なパフォーマンスを向上させる可能性のあるアプリケーション/プロセスを特定できます。

インテル® VTune™ Amplifier XE 2011 は、ハードウェアで何が起こっているのかを把握するために必要な情報を提供します。これにより、CPU 使用率の平均値だけを基に誤った判断をすることがなくなり、 各マイクロアーキテクチャーでさまざまなアプリケーションがどのように動作するかをよく理解し、必要な最適化を有効にして最適な判断を下すことができます。さらに、インテル® VTune™ Amplifier XE 2011 は、マイクロアーキテクチャーごとにさまざまなパフォーマンスの問題を理解するのに役立つヒントも提供します。

インテル® VTune™ Amplifier XE 2011 は商用製品ですが、こちらから無料体験版をダウンロードすることができます。

✝開発コード名

関連記事

  • スレッドローカル変数へのアクセスに隠されたパフォーマンス・コストスレッドローカル変数へのアクセスに隠されたパフォーマンス・コスト この記事は、インテル® ソフトウェア・ネットワークに掲載されている「The hidden performance cost of accessing thread-local variables」の日本語参考訳です。 コードを並列化した後に期待していたパフォーマンスが得られなかったことはありませんか? […]
  • レイテンシーの長い命令の影響を特定するレイテンシーの長い命令の影響を特定する この記事は、インテル® ソフトウェア・ネットワークに掲載されている「Identify Long Latency Instruction Impacts」の日本語参考訳です。 除算や平方根演算のようにレイテンシーの長い命令は、アプリケーション実行中にストールの原因となります。インテル® VTune™ […]
  • インテル® Fortran Studio XE によるマンデルブロー描画プログラムの高速化インテル® Fortran Studio XE によるマンデルブロー描画プログラムの高速化 1. はじめに インテル® Fortran Studio XE 2011 (Windows* 版および Linux* 版) は、ソフトウェア開発用言語として Fortran を採用している開発者を対象とするソフトウェア開発スイートです。インテル® (Visual) Fortran Composer XE 2011 […]
  • 「電力効率が良い」とは?「電力効率が良い」とは? この記事は、インテル® ソフトウェア・ネットワークに掲載されている「How would you define "Energy […]
  • マルチスレッド開発ガイド: 1.3 粒度と並列パフォーマンスマルチスレッド開発ガイド: 1.3 粒度と並列パフォーマンス 優れた並列パフォーマンスを達成するには、アプリケーションが適切な粒度を持つことが重要です。粒度とは、並列タスクにおける実際の処理量を指します。粒度が細かすぎると通信オーバーヘッドによってパフォーマンスが損なわれ、粒度が粗すぎるとロード・インバランスによってパフォーマンスが損なわれます。ロード・インバランスと通信オーバーヘッドを回 […]