JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3: OpenMP API ユーザーガイド     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  OpenMP API について

2.  OpenMP プログラムのコンパイルと実行

3.  実装によって定義される動作

4.  入れ子並列処理

5.  タスク化

6.  変数の自動スコープ宣言

7.  スコープチェック

8.  パフォーマンス上の検討事項

8.1 パフォーマンス上の一般的な推奨事項

8.2 「偽りの共有」とその回避方法

8.2.1 「偽りの共有」とは

8.2.2 偽りの共有の低減

8.3 Oracle Solaris OS のチューニング機能

A.  指令での節の記述

索引

8.3 Oracle Solaris OS のチューニング機能

Oracle Solaris では、たとえば MPO (Memory Placement Optimizations、メモリー配置の最適化)、MPSS (Multiple Page Size Support、複数ページサイズのサポート) など、ハードウェアのアップグレードなしに OpenMP プログラムのパフォーマンスを向上させる機能がサポートされています。

MPO によって、OS は、アクセスするプロセッサの近くにあるページをプロセッサに割り当てることができます。SunFire E20K システムと SunFire E25K システムでは、異なる UniBoard 間ではなく同じ UniBoard 内で、メモリー待ち時間が異なります。「first-touch」というデフォルトの MPO ポリシーでは、メモリーに最初に接触するプロセッサが装着されている UniBoard 上のメモリーが割り当てられます。first-touch ポリシーは、first-touch 配置で、たいていのデータアクセスが各プロセッサにローカルのメモリーに行われるアプリケーションのパフォーマンスを大幅に改善することができます。メモリーがシステム全体に均等に分散されるランダムメモリー配置ポリシーと比較して、アプリケーションのメモリー待ち時間を短縮して帯域幅を増加することができ、その結果、パフォーマンスの向上につながります。

MPSS 機能により、プログラムは仮想メモリーの異なる領域で異なるページサイズを使用できます。Oracle Solaris のデフォルトのページサイズは比較的小さくなっています (UltraSPARC プロセッサで 8K バイト、AMD64 Opteron プロセッサで 4K バイト)。TLB ミスが多いと影響を受けるアプリケーションでは、大きいページサイズを使用するとパフォーマンスが向上することがあります。

TLB ミスは、Oracle Solaris Studio パフォーマンスアナライザを使用して測定できます。

特定のプラットフォームでのデフォルトのページサイズは、Oracle Solaris OS コマンドの /usr/bin/pagesize を使用して取得できます。このコマンドで -a オプションを指定すると、サポートされるすべてのページサイズが表示されます。詳細は、pagesize(1) のマニュアルページを参照してください。

アプリケーションのデフォルトのページサイズを変更する方法は次の 3 つです。