Re: Adding basic NUMA awareness - Mailing list pgsql-hackers

From Greg Burd
Subject Re: Adding basic NUMA awareness
Date
Msg-id DC1A4B14-70B7-4B44-AD0B-E05D3292D833@getmailspring.com
Whole thread Raw
In response to Re: Adding basic NUMA awareness  (Andres Freund <andres@anarazel.de>)
Responses Re: Adding basic NUMA awareness
List pgsql-hackers

On Jul 9 2025, at 12:35 pm, Andres Freund <andres@anarazel.de> wrote:

> FWIW, I've started to wonder if we shouldn't just get rid of the freelist
> entirely. While clocksweep is perhaps minutely slower in a single
> thread than
> the freelist, clock sweep scales *considerably* better [1]. As it's rather
> rare to be bottlenecked on clock sweep speed for a single thread
> (rather then
> IO or memory copy overhead), I think it's worth favoring clock sweep.

Hey Andres, thanks for spending time on this.  I've worked before on
freelist implementations (last one in LMDB) and I think you're onto
something.  I think it's an innovative idea and that the speed
difference will either be lost in the noise or potentially entirely
mitigated by avoiding duplicate work.

> Also needing to switch between getting buffers from the freelist and
> the sweep
> makes the code more expensive.  I think just having the buffer in the sweep,
> with a refcount / usagecount of zero would suffice.

If you're not already coding this, I'll jump in. :)
 
> That seems particularly advantageous if we invest energy in making the clock
> sweep deal well with NUMA systems, because we don't need have both a NUMA
> aware freelist and a NUMA aware clock sweep.

100% agree here, very clever approach adapting clock sweep to a NUMA world.

best.

-greg

> 
> Greetings,
> 
> Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Adding basic NUMA awareness
Next
From: Andrew Dunstan
Date:
Subject: Re: Buildfarm setup for AIX