Flashes (Alerts)
Abstract
POWER8プロセッサーは、SMT8(Simultaneous Multithreading 8)をサポートし、コア当たりのトランザクション処理のキャパシティーの向上を実現しています。 当文書ではIBM i環境でのSMTサポートについてまとめています。
Content
POWER8プロセッサーは、SMT8(Simultaneous Multithreading 8)をサポートし、コア当たりのトランザクション処理のキャパシティーの向上を実現しています。
Power Systemsでは、長年にわたってSMTをサポートしています。POWER5プロセッサーで始めてSMT2がサポートされ、POWER7プロセッサーではSMT4、2014年に発表されたPOWER8プロセッサーでは、SMT8を実現しています。
当文書ではIBM i環境でのSMTサポートについてまとめています。
【プロセッサー互換モードとSMT】
プロセッサー互換モードは、そのLPARが正常に作動できるプロセッサー環境を指定する値です。以下に各プロセッサー・ベース・サーバーでサポートされるプロセッサー互換モードとSMTサポートの対応を示します。
表1
プロセッサー互換モード | サポートされるSMTモード | 省略時のSMTモード | |
IBM i 7.1 | IBM i 7.2 | ||
POWER6 | ST, SMT2 | SMT2 | SMT2 |
POWER6+ | ST, SMT2 | SMT2 | SMT2 |
POWER7 | ST, SMT2, SMT4 | SMT4 | SMT4 |
POWER8 | ST, SMT2, SMT4, SMT8 | SMT4 | SMT8 |
ここで注意が必要なのは、POWER8プロセッサー搭載サーバーにIBM i 7.1を導入した場合は、省略時のSMTモードはSMT4になるということです。これはPOWER7ベースもしくはそれ以前のプロセッサー・ベース・サーバーでIBM i 7.1を使用しているお客様のPOWER8ベース・サーバーへの移行をよりスムーズにするためにこのように設定されています。プロセッサー互換モードについては、以下のKnowledge Centerを参照してください。
また、POWER8プロセッサーにおけるCPW値がPerformance Capability Reference等で公開されていますが、これらの値は全てSMT8で動作している場合のCPW値となります。
IBM i 7.2 Performance Capabilities Reference - October 2014
プロセッサー互換モード
【QPRCMLTTSKシステム値】
IBM iでは、そのLPARのSMTの制御を行うための設定値の1つとして、QPRCMLTTSK(プロセッサー複数タスク処理)システム値が提供されています。省略時の値は、'2'のシステム制御になります。これはOSが最適な値を選択することを意味しています。つまり、POWER7ベース・システムの場合は、4つのハードウェア・スレッドをダイナミックに切替え、POWER8ベース・システムの場合は、8つのハードウェア・スレッドをダイナミックに切り替えます。もし、LPARをシングル・スレッド・モードで稼働させたい場合は、QPRCMLTTSKシステム値を'0'オフに設定してください。
図1
システム値表示 システム値 . . . . . . : QPRCMLTTSK 記述 . . . . . . . . . : プロセッサー複数タスク処理 プロセッサー・マルチタスク 処理 . . . . . . . . . . : 2 0= オフ 1= オン 2= システム制御 |
QPRCMLTTSKシステム値の各値の意味は以下のとおりとなります。
0 - プロセッサー複数タスク処理は使用不可になります。これはシングル・スレッド・モードを意味します。
1 - プロセッサー複数タスク処理は使用可能です。これはプロセッサー互換モードはPOWER6/POWER6+の場合には、
SMT2で稼働することを意味しています。その他のプロセッサー互換モードを持つLPARは最大のSMTレベルで稼働します。
2 - プロセッサー複数タスク処理はシステム制御になります。これが省略時の値になります。POWER7/POWER8の場合には、
この値は'1'と同様の動きになります。
【QWCCHGPR API】
QWCCHGPR APIは、LPARでの最大スレッド数を設定できるAPIです。このAPIはPOWER7/POWER8システムを使用するIBM i 7.1 TR5以降でサポートされます。このAPIを使用してLPARの再起動することなく、最大スレッド数を変更することができます。
このAPIはQPRCMLTTSKシステム値が'0'以外の場合に有効であり、以下のように追加スレッド数をパラメーターで設定することでスレッド数の最大値を変更することができます。
CALL PGM(QWCCHGPR) PARM(X'00000000') /* QPRCMLTTSKシステム値の設定に従う(省略時値)*/
CALL PGM(QWCCHGPR) PARM(X'00000001') /* SMT2 */
CALL PGM(QWCCHGPR) PARM(X'00000003') /* SMT4 */
CALL PGM(QWCCHGPR) PARM(X'00000007') /* SMT8 */
もちろん、このAPIを使用しても表1で記載しているハードウェアおよびOSの組合せによる最大スレッド数を越えることはできません。
つまり、POWER7プロセッサー搭載システムはSMT4、POWER8搭載システムはSMT8が上限ということになります。
QWCCHGPR APIについては、Knowledge Centerの以下のリンクを参照してください。
Change Processor Multitasking Information (QWCCHGPR) API
また現在、QWCCHGPRによって設定された値がどのようなのものかを確認するためのAPIとしてQWCRTVPR APIがあります。Knowledge CenterにはこのAPIを使用したCLプログラムのサンプルが記載されておりますので、参考にしてください。
Retrieve Processor Multitasking Information (QWCRTVPR) API
【参考】
IBM i on Power - Performance FAQ (英文)
IBM i 7.2 and IBM POWER8 (英文)
以上
Historical Number
A8F8E96B6EF3E62D49257DB200318850
Product Synonym
対象システム:Power Systems;IBM i
Was this topic helpful?
Document Information
Modified date:
25 September 2022
UID
jpn1J1012278