IBM Support

IBM i環境でのSMTサポートについて

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
POWER6ST, SMT2
SMT2
SMT2
POWER6+ST, SMT2
SMT2
SMT2
POWER7ST, SMT2, SMT4
SMT4
SMT4
POWER8ST, SMT2, SMT4, SMT8
SMT4
SMT8
※ST:Single Thread

ここで注意が必要なのは、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 (英文)


以上

[{"Product":{"code":"HW1A1","label":"IBM Power Systems"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Not Applicable","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"Version Independent","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Historical Number

A8F8E96B6EF3E62D49257DB200318850

Product Synonym

対象システム:Power Systems;IBM i

Document Information

Modified date:
25 September 2022

UID

jpn1J1012278