Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach
Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Cédric Villemain <cedric.villemain@data-bene.io>
Cc: Tomas Vondra <tomas@vondra.me>, Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-07-09T08:09:16Z
Lists: pgsql-hackers
Hi, On Wed, Jul 09, 2025 at 06:40:00AM +0000, Cédric Villemain wrote: > > On 7/8/25 18:06, Cédric Villemain wrote: > > I'm not against making this extensible, in some way. But I still > > struggle to imagine a reasonable alternative policy, where the external > > module gets the same information and ends up with a different decision. > > > > So what would the alternate policy look like? What use case would the > > module be supporting? > > > That's the whole point: there are very distinct usages of PostgreSQL in the > field. And maybe not all of them will require the policy defined by > PostgreSQL core. > > May I ask the reverse: what prevent external modules from taking those > decisions ? There are already a lot of area where external code can take > over PostgreSQL processing, like Neon is doing. > > There are some very early processing for memory setup that I can see as a > current blocker, and here I'd refer a more compliant NUMA api as proposed by > Jakub so it's possible to arrange based on workload, hardware configuration > or other matters. Reworking to get distinct segment and all as you do is > great, and combo of both approach probably of great interest. I think that Tomas's approach helps to have more "predictable" performance expectations, I mean more consistent over time, fewer "surprises". While your approach (and Jakub's one)) could help to get performance gains depending on a "known" context (so less generic). So, probably having both could make sense but I think that they serve different purposes. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Sort guc_parameters.dat alphabetically by name
- fce7c73fba4e 19 (unreleased) cited