News: 0001491115

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Intel Demonstrates Up To 48% Improvement For AVX-512 Optimized PostgreSQL

([Intel] 4 Hours Ago AVX-512 + PostgreSQL)


With the upcoming PostgreSQL 17 database server release there is some initial [1]AVX-512 optimizations that are looking quite nice according to Intel's findings.

Since earlier this year there's been a [2]pg_popcount() optimized for AVX-512 :

"Optimize pg_popcount() with AVX-512 instructions.

Presently, pg_popcount() processes data in 32-bit or 64-bit chunks when possible. Newer hardware that supports AVX-512 instructions can use 512-bit chunks, which provides a nice speedup, especially for larger buffers. This commit introduces the infrastructure required to detect compiler and CPU support for the required AVX-512 intrinsic functions, and it adds a new pg_popcount() implementation that uses these functions. If CPU support for this optimized implementation is detected at runtime, a function pointer is updated so that it is used by subsequent calls to pg_popcount()."

Intel has published a technical paper exploring that PostgreSQL AVX-512 optimized pop count implementation. Intel engineers found as much as a 46~48% performance improvement with PostgreSQL's bit_count() function. Here is the Intel finding over AVX-512 gains for PostgreSQL bit counting on their Xeon processors on-premise and in the cloud:

Those wanting to learn more about Intel's findings around this initial AVX-512 usage for PostgreSQL can find the paper on [3]Intel.com .

In case you missed it PostgreSQL this summer also rolled out [4]up to 4x query performance with SIMD-optimized JSON escaping .

Separately there is also a [5]proposal from Intel for AVX-512 CRC32C usage within PostgreSQL.

It's great seeing continued new areas where AVX-512 is paying nice dividends for performance from [6]speedy JSON parsing to databases.

PostgrSQL 17 with this AVX-512 bit counting and [7]many other new features is currently up to its release candidate phase. PostgreSQL 17.0 stable should be out as soon as later this month.



[1] https://www.phoronix.com/search/AVX-512

[2] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=792752a

[3] https://www.intel.com/content/www/us/en/developer/articles/news/accelerate-postgresql-performance-intel-avx-512.html

[4] https://www.phoronix.com/news/PostgreSQL-Opt-JSON-Esc-SIMD

[5] https://www.postgresql.org/message-id/BL1PR11MB530401FA7E9B1CA432CF9DC3DC192%40BL1PR11MB5304.namprd11.prod.outlook.com

[6] https://www.phoronix.com/review/simdjson-avx-512

[7] https://www.postgresql.org/docs/17/release-17.html



emansom

ssokolow

chuckula

blackshard

blackshard

Mitch

schmidtbag

AHSauge

"I'm a bastard, and proud of it !"

- Linus Torvalds