PowerSystems POWER9 サーバーの新機能 NZ(gzip) Accelerator を検証してみました。
参考:
Processor Compatibility modes on IBM POWER9 based systems
New Features and Functions
User Mode NX Accelerator Enablement for PowerVM. This enables the access of NX accelerators such as the gzip engine through user mode interfaces. The IBM Virtual HMC (vHMC) 9.1.940 provides a user interface to this feature. The LPAR must be running in POWER9 compatibility mode to use this feature.
導入は、Using the POWER9™ NX (gzip) accelerator in AIX を参照
こちらも要参照:
・Power9 GZIP Data Acceleration with IBM AIX
環境
・PowerSystems E980(9080-M9S)
・Firmware: IBM,FW940.20 (VH940_061)
・Processor mode: POWER 9
・OS level: AIX 7.2 TL4 SP1 (IBM Cloud PowerSystems Virtual Server)
# prtconf
System Model: IBM,9080-M9S
Machine Serial Number: xxxxxx
Processor Type: PowerPC_POWER9
Processor Implementation Mode: POWER 9
Processor Version: PV_9_Compat
Number Of Processors: 1
Processor Clock Speed: 3150 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: 6 testvm-25xxxxx71-00xxxx74
Memory Size: 2048 MB
Good Memory Size: 2048 MB
Platform Firmware level: VH940_061
Firmware Version: IBM,FW940.20 (VH940_061)
Console Login: enable
Auto Restart: true
Full Core: false
NX Crypto Acceleration: Capable and Enabled
In-Core Crypto Acceleration: Capable, but not Enabled
~ 省略 ~
# oslevel -s
7200-04-01-1939
準備:モジュールの導入
"zlibNX" と "xgzip" をAIXに導入します。
① zlibNX
ライブラリーを先に導入します。
- ESS からAIX Expansion Pack ダウンロード
AIX Expansion Pack に存在します。(ESS(IBM Entitled Systems Support) からダウンロード可能)
- AIX にファイルセットを配置して、smit で導入
- 導入確認
# lslpp -l zlibNX.rte
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
zlibNX.rte 7.2.4.0 COMMITTED NX accelerated zlib
compression library
②xgzip
- AIX Web Download Pack から xgzip をダウンロード
- AIX にファイルセットを配置して、xzgip を smit で導入
- 導入確認
# lslpp -l xgzip.rte
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
xgzip.rte 4.0.20.0 COMMITTED A command utility to exploit
NX accelerated zlib
compression library
- xgzip コマンドの導入を確認
# which xgzip
/usr/bin/xgzip
- nx_available の確認
# echo "dw nx_available" | kdb -script
read vscsi_scsi_ptrs OK, ptr = 0xF1000000C0152E90
(0)> dw nx_available
Executing dw command
nx_available+000000: 00000000 00000000 00000000 00000007 ................
End of execution for dw command
(0)> Executing q command
#
検証
同じ内容のファイルを用意し、gzip コマンド、xgzip コマンド実行時間を確認します。
# ls -l test*
-rw-r--r-- 1 root system 6819840 Nov 06 20:18 test.tar
-rw-r--r-- 1 root system 6819840 Nov 06 20:18 test2.tar
# cksum test.tar test2.tar
650543481 6819840 test.tar
650543481 6819840 test2.tar
# time gzip test.tar
real 0m0.22s
user 0m0.04s
sys 0m0.00s
# time xgzip test2.tar
real 0m0.18s
user 0m0.06s
sys 0m0.00s
→ xgzip の方がわずかに早いです。
同じ内容を圧縮していますが、圧縮後の容量も異なります。
# ls -l | grep test*.tar
-rw-r--r-- 1 root system 832561 Nov 06 20:18 test.tar.gz
-rw-r--r-- 1 root system 827213 Nov 06 20:20 test2.tar.gz
非圧縮の確認
# time gzip -d test.tar.gz
real 0m0.00s
user 0m0.01s
sys 0m0.01s
# time xgzip -d test2.tar.gz
real 0m0.00s
user 0m0.01s
sys 0m0.00s
-> ファイルが小さいためか、比較検証にならず。。
ファイルを変更したりするなど何度か行ってみると、gzip の方が若干早いような結果もありました。
もう少し容量大きくしたりしないとよい検証結果が出ないのかもしれません...
(*)当記事は、個人的に簡易に検証している内容です。実際に使用する場合は対象のファイル、アプリケーションでの結果で判断していただくことが適切です。
# ls -l *.tar
-rw-r--r-- 1 root system 14991360 Nov 06 20:56 test.tar
-rw-r--r-- 1 root system 14991360 Nov 06 20:56 test2.tar
# cksum test.tar test2.tar
2226198776 14991360 test.tar
2226198776 14991360 test2.tar
# time gzip test.tar
real 0m0.37s
user 0m0.10s
sys 0m0.00s
# time xgzip test2.tar
real 0m0.39s
user 0m0.12s
sys 0m0.01s
#
注意事項
2020/10 時点で、zlibNX に対する HIPER APAR が存在するので、対象となるモジュールを実際に使用する場合は導入が推奨されます。
(上記検証は、APAR適用済み)
・IJ28579: POSSIBLE DATA CORRUPTION USING ZLIBNX LIBRARY
https://www.ibm.com/support/pages/apar/IJ28579
# smitty install
Install Software
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[TOP] [Entry Fields]
* INPUT device / directory for software .
* SOFTWARE to install [IJ28579s0a.201006.epkg.Z ALL > +
PREVIEW only? (install operation will NOT occur) no +
COMMIT software updates? yes +
SAVE replaced files? no +
AUTOMATICALLY install requisite software? yes +
EXTEND file systems if space needed? yes +
OVERWRITE same or newer versions? no +
VERIFY install and check file sizes? no +
Include corresponding LANGUAGE filesets? yes +
DETAILED output? no +
Process multiple volumes? yes +
ACCEPT new license agreements? yes +
PREVIEW new LICENSE agreements? no +
[MORE...10]
------
COMMAND STATUS
Command: OK stdout: yes stderr: no
Before command completion, additional instructions may appear below.
geninstall -I "a -cgNQqwXY -J" -Z -d . -f File 2>&1
File:
E:IJ28579s0a.201006.epkg.Z
Initializing log /var/adm/ras/emgr.log ...
EPKG NUMBER LABEL OPERATION RESULT
=========== ============== ================= ==============
1 IJ28579s0a INSTALL SUCCESS
Return Status = SUCCESS
参照
・Using the POWER9™ NX (gzip) accelerator in AIX
・Data compression by using the zlibNX library
・The benefits of AIX 7.2, XIVE, XGZIP and POWER9 systems
当記事の導入方法などが参考になればと思います。
以上です。