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

You can fool some of the people all of the time,
and all of the people some of the time,
but you can never fool your Mom.