Re: Adding basic NUMA awareness

Поиск
Список
Период
Сортировка
Искать
От
Burd, Greg
Тема
Re: Adding basic NUMA awareness
Дата
Msg-id
7AA27B4C-E1C0-4608-AC59-25218C59991A@burd.me
Ответ на
Список
Дерево обсуждения
Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Cédric Villemain <cedric.villemain@data-bene.io>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Cédric Villemain <cedric.villemain@data-bene.io>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Cédric Villemain <cedric.villemain@data-bene.io>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Cédric Villemain <cedric.villemain@data-bene.io>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Cédric Villemain <cedric.villemain@data-bene.io>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Cédric Villemain <cedric.villemain@data-bene.io>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Cédric Villemain <cedric.villemain@data-bene.io>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness - Preliminary feedback and outline for an extensible approach Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Re: Adding basic NUMA awareness Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Greg Burd <greg@burd.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness "Burd, Greg" <greg@burd.me>
Re: Adding basic NUMA awareness "Burd, Greg" <greg@burd.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Dmitry Dolgov <9erthalion6@gmail.com>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Alexey Makhmutov <a.makhmutov@postgrespro.ru>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Alexey Makhmutov <a.makhmutov@postgrespro.ru>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Tomas Vondra <tomas@vondra.me>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Re: Adding basic NUMA awareness Andres Freund <andres@anarazel.de>
Re: Adding basic NUMA awareness Jakub Wartak <jakub.wartak@enterprisedb.com>


> On Jul 10, 2025, at 8:13 AM, Burd, Greg  wrote:
> 
> 
>> On Jul 9, 2025, at 1:23 PM, Andres Freund  wrote:
>> 
>> Hi,
>> 
>> On 2025-07-09 12:55:51 -0400, Greg Burd wrote:
>>> On Jul 9 2025, at 12:35 pm, Andres Freund  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.
>> 
>> Agreed. FWIW, just using clock sweep actually makes things like DROP TABLE
>> perform better because it doesn't need to maintain the freelist anymore...
>> 
>> 
>>>> 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. :)
>> 
>> My experimental patch is literally a four character addition ;), namely adding
>> "0 &&" to the relevant code in StrategyGetBuffer().
>> 
>> Obviously a real patch would need to do some more work than that.  Feel free
>> to take on that project, I am not planning on tackling that in near term.
>> 
> 
> I started on this last night, making good progress.  Thanks for the inspiration.  I'll create a new thread to track the work and cross-reference when I have something reasonable to show (hopefully later today).
> 
>> There's other things around this that could use some attention. It's not hard
>> to see clock sweep be a bottleneck in concurrent workloads - partially due to
>> the shared maintenance of the clock hand. A NUMAed clock sweep would address
>> that.
> 
> Working on it.

For archival sake, and to tie up loose ends I'll link from here to a new thread I just started that proposes the removal of the freelist and the buffer_strategy_lock [1].

That patch set doesn't address any NUMA-related tasks directly, but it should remove some pain when working in that direction by removing code that requires partitioning and locking and...

best.

-greg

[1] https://postgr.es/m/E2D6FCDC-BE98-4F95-B45E-699C3E17BA10@burd.me



В списке pgsql-hackers по дате отправления
От: Jacob Champion
Дата:
От: DINESH NAIR
Дата:
FAQ