Re: Let's make PostgreSQL multi-threaded - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: Let's make PostgreSQL multi-threaded
Date
Msg-id CAMT0RQTRzDgVzj13zryKRCcwt5VvNwWcw_d+-dQQeh7GkF40Fg@mail.gmail.com
Whole thread Raw
In response to Re: Let's make PostgreSQL multi-threaded  (James Addison <jay@jp-hosting.net>)
Responses Re: Let's make PostgreSQL multi-threaded
Re: Let's make PostgreSQL multi-threaded
List pgsql-hackers
On Thu, Jun 15, 2023 at 10:41 AM James Addison <jay@jp-hosting.net> wrote:
>
> This is making me wonder about other performance/scalability areas
> that might not have been considered due to focus on the details of the
> existing codebase, but I'll save that for another thread and will try
> to learn more first.

A gradual move to more shared structures seems to be a way forward

It should get us all the benefits of threading minus the need for TLB
reloading and (in some cases) reduction of per-process virtual memory
mapping tables.

In any case we would need to implement all the locking and parallelism
management of these shared structures that are not there in the
current process architecture.

So a fair bit of work but also a clearly defined benefits of
1) reduced memory usage
2) no need to rebuild caches for each new connection
3) no need to track PREPARE statements inside connection poolers.

There can be extra complexity when different connections use the same
prepared statement name (say "PREP001") for different queries.
For this wel likely will need a good cooperation with connection
pooler where it passes some kind of client connection id along at the
transaction start



pgsql-hackers by date:

Previous
From: Yuya Watari
Date:
Subject: Re: Making empty Bitmapsets always be NULL
Next
From: Hannu Krosing
Date:
Subject: Re: Let's make PostgreSQL multi-threaded