Large Page 機能のご紹介

AIX Large Page (ラージページ)
機能と効果のご紹介
ー インメモリ処理に効く AIX Large Page -
2016年12月27日
日本アイ・ビー・エム株式会社
Power Systems Technical Sales
© 2016 IBM Corporation
IBM Systems Hardware
インメモリ処理に効く AIX Large Page
すでにメモリ上で処理しているけれど、もっと処理時間を改善したい方
AIX Large Page(ラージページ)機能は
メモリアクセス効率を高め
更なる処理時間短縮化を実現します。
インメモリDB
大規模DWH
Oracle/DB2/Sybase・・・
キューブ
Cognos TM1/DynamicCube/SAS・・・
ほかメモリ依存処理
大規模連続メモリ領域を読ん
で処理するアプリケーション群
大規模のメモリ空間を連続して読み込む処理において、Large Pageは効果を発揮します。
2
© 2016 IBM Corporation
IBM Systems Hardware
AIX Large Page:効果例
同じハードウェアにおいて、Large Pageの利用により、
約20%の処理時間短縮を実現しました。
Cognos TM1(BI製品) のキューブ(In memory)を使用したバッチ処理時間の削減例
20%時間短縮
3
© 2016 IBM Corporation
IBM Systems Hardware
AIX Large Page:設定例
 Large Page(※1)環境の準備
• OSユーザー設定 (Large Pageを使用するための設定)
# chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE “user_id”
• Large Pageをアサイン後(400GB分のLPを設定する例)、ミドルウェア製品を起動
#vmo -o lgpg_regions=25600 -o lgpg_size=16777216
※ どれだけのメモリ域をLarge Page(16MB/1Large Page)にするかを指定します。
Oracleの場合、以下のように考えます。
number_of_large_pages= INT [(SGA size – 1) / 16 MB)] + 1
 ミドルウェア製品のバイナリモジュールが、Large Pageに対応している場合 (Oracle DB、DB2、TM1など)
ミドルウェア製品ごとに各ミドルウェア製品のガイドに従って必要な設定を行います。
• Oracle DBのSGA領域をLarge Pageにする場合の設定例(※2)
• AIX側
vmoパラメータ: v_pinshm=1
• Oracle側
初期化パラメータ: LOCK_SGA=TRUE
• TM1領域をLarge Pageにする場合、ユーザーの環境変数設定例
export LDR_CNTRL=DATAPSIZE=16M@TEXTPSIZE=16M@STACKPSIZE=16M
 ミドルウェア製品のバイナリモジュールが、Large Pageに対応していない場合
下記のいずれかを実施
•
環境変数で指定する場合
•
バイナリにフラグをたてる場合
:LDR_CNTRL=LARGE_PAGE_DATA={Y,N,M}
:ldedit/ld –blpdata
※1. AIX Large Page 機能は、特定のPOWER4以降のプロセッサで利用可能です。
またAIX V5.3以降のすべてのAIX オペレーティング・システムで利用可能です。
※2. Oracle DB環境におけるページ設定については、こちらの資料をご参照ください。
4
https://www03.ibm.com/support/techdocs/atsmastr.nsf/5cb5ed706d254a8186256c71006d2e0a/bae31a51a00fa0018625721f00268dc4/$FILE/Oracle%
© 2016 IBM Corporation
20Architecture%20and%20Tuning%20on%20AIX%20(v%202.30).pdf
IBM Systems Hardware
AIX Large Page:使用状況の確認方法
 Large Pageの使用状況確認方法例
# vmstat –l -t 10
kthr memory
page
faults
cpu
large-page
time
----- ----------- ------------------------ ---------------------------- ------------ --------------- --------r b avm
fre
re pi po fr sr cy in
sy
cs
us sy id wa alp
flp hr mi se
1 0 51952749 352252 0 0 0 12 12 0 95 1880 671 15 0 85 0 11424 14176 18:28:28
1 0 51882813 352613 0 0 0 14 14 0 36 1153 543 15 0 85 0 11392 14208 18:28:38
1 0 51882813 352612 0 0 0 0 0
0 38 1594 1903 15 0 85 0 11392 14208 18:28:48
1 0 51882813 352586 0 0 0 0 0
0 17 1010 513 15 0 85 0 11392 14208 18:28:58
1 0 51952749 352282 0 0 0 0 0
0 38 903 576 15 0 85 0 11424 14176 18:29:08
1 0 51882813 352583 0 0 0 0 0
0 81 1167 638 15 0 85 0 11392 14208 18:29:18
1 0 51882813 352583 0 0 0 0 0
0 105 1351 710 15 0 85 0 11392 14208 18:29:28
1 0 51882813 352582 0 0 0 0 0
0 17 1075 1138 15 0 85 0 11392 14208 18:29:38
1 0 51882813 352582 0 0 0 0 0
0 109 1756 2022 15 0 85 0 11392 14208 18:29:48
1 0 51882813 352556 0 0 0 0 0
0 101 1700 1454 15 0 85 0 11392 14208 18:29:58
alp : 現在Large Pageで使用されているページ数
flp:Large Page フリーリスト上のLarge Page数
※ そのほかsvmonコマンドでも使用状況を確認できます。
5
© 2016 IBM Corporation
IBM Systems Hardware
(参考) Large Pageの概要と使用にあたっての考慮点
Large Pageの概要と使用にあたっての考慮点
•
•
•
•
OSはメモリ領域を通常4KB単位(AIX V6.1以上の場合一部は自動的に64KB)のページで管理しています。このページ管理単
位を4KBから、16MBにすることで、参照したいメモリにたどり着くまでのステップを圧倒的に削減する効果があります。
事前に確保したLarge Page領域よりも多くの領域をアプリケーションが必要とした場合は、通常のページも使用してアプリケーショ
ンは継続稼動します。もちろん通常ページへのアクセス分はLarge Pageの効果は得られません。
一般的にシステム全体で物理メモリが不足した場合、そのシステムは、(処理は遅くなりますが)ページ単位にページアウト/ページイ
ンを行うことで、必要な処理を行うためのメモリ空間を確保して稼動し続けます。
これに対し、Large Page領域はページアウトされない領域であるため、ページアウト可能な領域は通常ページ部分のみとなります。
Large Pageの効率がよいからといってLPARにアサインされたメモリサイズのほとんどをLarge Pageとして確保してしまうと、システム
全体でのメモリ不足の際に、返って遅延を起こしたり不安定にさせてしまうことがあります。よって、Large Pageを使用する上では、
以下を考慮することを推奨します。
•
Large Pageの効果を最大限に享受するため、効果が認められる必要最低限のサイズをLarge Pageとして確保し、シス
テム全体の安定性を脅かすほど必要以上には確保しないこと
•
Large Page以外に通常ページ領域も必要であることを加味して、 LPARにアサインするメモリ量を準備する。
アプリケーショ
ンがデータを
参照
仮想ページ番号
abc001
仮想ページ番号
def001
物理メモリ(通常ページ(4KB)管理)
TLBアドレス変換
テーブル
Not Found
・・・
物理ページ番号
XYZ009
TLB上に存在しない場合はTLBミ
スで、捜索のための内部処理発生
※ TLB(トランスレーション・ルックアサイド・バッファ)とは?
仮想アドレスと論理アドレスとを対応させる情報を一時的に保管しておくバッファメモリであり、
CPU上にハードウェア実装されているため、アクセスは高速だが、サイズが限られています。
アプリケーショ
ンがデータを
参照
6
仮想ページ番号
abc001
仮想ページ番号
def001
TLBアドレス変換
テーブル
管理数が少ないため、TLB上
でヒットする確率が高い
・・・
物理ページ番号
XYZ009
物理メモリ(Large Page(16MB)管理)
© 2016 IBM Corporation
IBM Systems Hardware
参考リンク集
 ラージページ概要
http://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/com.ibm.aix.performance/large_page_ovw.ht
m
 メモリ・パフォーマンス
http://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/com.ibm.aix.performance/mem_perf.htm
 複数ページサイズサポート
http://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/com.ibm.aix.performance/multiple_page_size
_support.htm
 AIX V7.2 コマンドレファレンス (vmo)
http://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/com.ibm.aix.cmds6/vmo.htm
 AIX V7.2 環境変数のチューナブル・パラメータ
http://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/com.ibm.aix.performance/misc_tun_params.
htm
 AIXでのCognos TM1のパフォーマンス・チューニング
http://www.ibm.com/support/knowledgecenter/ja/SS9RXT_10.2.2/com.ibm.swg.ba.cognos.tm1_inst.10.2.2
.3.doc/c_tm1_install_aix_tuning.html
 Oracle Architevture and Tuning on AIX
https://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100883
7
2016/12/27
© 2016 IBM Corporation