heterodb/pg-strom

(VTJ-JP) heterodb-extra 5.xで旧製品のライセンスが無効化されてGDSが利用できなくなる

Closed this issue · 6 comments

heterodb-extra 3.11-1以降のバージョン (5.0-1.el8, 5.1-1.el8)を適用すると、
旧製品PG-Strom 3.xのライセンスが無効になります。

具体的に言うとGDSの出力がされていないようなので、GPUDirect-SQLが使えない状態になります。

問題の解決策として、sudo yum downgrade heterodb-extraを実行して、3.11-1バージョンに戻す方法がありますが、
yum versionlockなどを用いてバージョンロックしないとyum updateなどをすることで再び問題が発生します。

service status:
● postgresql-15.service - PostgreSQL 15 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-15.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/postgresql-15.service.d
           └─pg_strom.conf
   Active: active (running) since Wed 2023-09-20 02:00:36 UTC; 5s ago
     Docs: https://www.postgresql.org/docs/15/static/
  Process: 187986 ExecStartPre=/usr/pgsql-15/bin/postgresql-15-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 187992 (postmaster)
    Tasks: 12 (limit: 1025714)
   Memory: 282.2M
   CGroup: /system.slice/postgresql-15.service
           ├─187992 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/
           ├─188472 postgres: logger 
           ├─188478 postgres: checkpointer 
           ├─188479 postgres: background writer 
           ├─188481 postgres: PG-Strom Program Builder-1 
           ├─188482 postgres: PG-Strom Program Builder-0 
           ├─188483 postgres: GPU0 memory keeper 
           ├─188488 postgres: walwriter 
           ├─188489 postgres: autovacuum launcher 
           └─188491 postgres: logical replication launcher 
 9月 20 02:00:34 kujira.vtj systemd[1]: Starting PostgreSQL 15 database server...
 9月 20 02:00:34 kujira.vtj postmaster[187992]: 2023-09-20 02:00:34.112 UTC [187992] LOG:  NVRTC 11.8 is successfully loaded.
 9月 20 02:00:34 kujira.vtj postmaster[187992]: 2023-09-20 02:00:34.116 UTC [187992] LOG:  HeteroDB Extra module is not available
 9月 20 02:00:34 kujira.vtj postmaster[187992]: 2023-09-20 02:00:34.116 UTC [187992] LOG:  PG-Strom version 3.5 built for PostgreSQL 15 (git: HEAD)
 9月 20 02:00:35 kujira.vtj postmaster[187992]: 2023-09-20 02:00:35.590 UTC [187992] LOG:  PG-Strom: GPU0 Tesla P100-PCIE-16GB (56 SMs; 1328MHz, L2 4096kB), RAM>
 9月 20 02:00:36 kujira.vtj postmaster[187992]: 2023-09-20 02:00:36.078 UTC [187992] LOG:  redirecting log output to logging collector process
 9月 20 02:00:36 kujira.vtj postmaster[187992]: 2023-09-20 02:00:36.078 UTC [187992] HINT:  Future log output will appear in directory "log".
 9月 20 02:00:36 kujira.vtj systemd[1]: Started PostgreSQL 15 database server.
 
 
 log file:
 2023-09-20 02:00:33.503 UTC [100455] LOG:  received fast shutdown request
2023-09-20 02:00:33.507 UTC [100455] LOG:  aborting any active transactions
2023-09-20 02:00:33.510 UTC [100455] LOG:  background worker "logical replication launcher" (PID 125294) exited with exit code 1
2023-09-20 02:00:34.035 UTC [125286] LOG:  shutting down
2023-09-20 02:00:34.038 UTC [125286] LOG:  checkpoint starting: shutdown immediate
2023-09-20 02:00:34.059 UTC [125286] LOG:  checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.014 s, sync=0.001 s, total=0.024 s; sync files=0, longest=0.000 s, average=0.000 s; distance=0 kB, estimate=3788 kB
2023-09-20 02:00:34.062 UTC [100455] LOG:  database system is shut down
2023-09-20 02:00:36.078 UTC [187992] LOG:  starting PostgreSQL 15.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18), 64-bit
2023-09-20 02:00:36.079 UTC [187992] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2023-09-20 02:00:36.079 UTC [187992] LOG:  listening on IPv6 address "::", port 5432
2023-09-20 02:00:36.082 UTC [187992] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2023-09-20 02:00:36.095 UTC [187992] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-09-20 02:00:36.105 UTC [188480] LOG:  database system was shut down at 2023-09-20 02:00:34 UTC
2023-09-20 02:00:36.105 UTC [188481] LOG:  CUDA Program Builder-1 with NVRTC version 11.8
2023-09-20 02:00:36.105 UTC [188482] LOG:  CUDA Program Builder-0 with NVRTC version 11.8
2023-09-20 02:00:36.110 UTC [187992] LOG:  database system is ready to accept connections

Environment:

PostgreSQL Version: 15.4-1
OS: Red Hat Enterprise Linux release 8.6 + EUS
CUDA Version: 11.8
NVIDIA Driver Version: 520.61.05

kaigai commented

これ、PG-Stromもv5.0beta以上に上げてもらえますか?

api_version=20230916 を見て、これは違うと「そっ閉じ」しているハズです。

Issue 651 によりテストできません。
v5.0betaタグが打たれていないため、masterのコードでビルドしようとして同じ問題が発生します。

Issue 651ではだめだったとありましたが、こちらでもCUDA 12.2でテストしてみようと思います。

  • CUDA 12.0.1-1
  • Ubuntu 20.04.6
  • Linux ubuntu1 5.4.0-163-generic
  • nvccのバージョン
/usr/local/cuda/bin/nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0
kaigai commented

なるほど、Ubuntuか・・・。🙄

RHEL8では再現してないので、Cのヘッダファイル起因の何かが怪しそうです。

失礼しました。
RHEL8では再現しないと聞いたので、RHEL8の環境を作ってテストします。

PG-Stromの以下のコミット + heterodb-extra-5.1-1.el8.x86_64では再現しないことを確認しましたが、Issueを上げたような環境でHeteroDB Extra module is not availableとなってしまうのは検討いただいたほうが良いような気がします。

確認したコミット: 3255c37
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jul_11_02:20:44_PDT_2023
Cuda compilation tools, release 12.2, V12.2.128
Build cuda_12.2.r12.2/compiler.33053471_0

Ubuntuでビルドできない件は別バグにしたほうが良さそうですね。

これ、v5.0系列での問題ではない(上に、v3.x系列に手を加えないと根本解決ではない)ので、現状のままとします。