From: | "Bagga, Rishu" <bagrishu(at)amazon(dot)com> |
---|---|
To: | vignesh C <vignesh21(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, "Debnath, Shawn" <sdn(at)amazon(dot)com> |
Subject: | Re: SLRUs in the main buffer pool - Page Header definitions |
Date: | 2023-01-10 19:05:21 |
Message-ID: | A09EAE0D-0D3F-4A34-ADE9-8AC1DCBE7D57@amazon.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>On 1/3/23, 5:06 AM, "vignesh C" <vignesh21(at)gmail(dot)com> wrote:
>>On Fri, 16 Dec 2022 at 04:47, Bagga, Rishu <bagrishu(at)amazon(dot)com>
>>wrote:
>>Rebased and updated a new patch addressing the critical section issue in
>>RecordNewMultliXact.In GetNewMultiXactId, we now make our ReadBuffer
>>calls before starting the critical section, but while holding the
>>MultiXactGenLock, so we always fetch the correct buffers. We store
>>them in an array that is accessed later in RecordNewMultiXact.
>>This way we can keep the existing functionality of only holding the
>>MultiXactGenLock while reading in buffers, but can let go when we are
>>writing, to preserve the existing concurrency paradigm.
>>Let me know your thoughts on this approach.
> The patch does not apply on top of HEAD as in [1], please post a
>rebased patch:
>=== Applying patches on top of PostgreSQL commit ID
>92957ed98c5c565362ce665266132a7f08f6b0c0 ===
>=== applying patch ./slru_to_buffer_cache_with_page_headers_v3.patch
...
>patching file src/include/catalog/catversion.h
>Hunk #1 FAILED at 57.
>1 out of 1 hunk FAILED -- saving rejects to file
>src/include/catalog/catversion.h.rej
>[1] - http://cfbot.cputube.org/patch _41_3514.log
>Regards,
>Vignesh
Hi all,
Rebased the patch, and fixed a bug I introduced in the previous patch in
TrimCLOG.
We ran a quick set of pgbench tests and observed no regressions. Here
are the numbers:
3 trials, with scale 10,000, 350 clients, 350 threads, over 30 minutes:
Median TPS:
Control
Trial 1: 58331.0
Trial 2: 57191.0
Trial 3: 57101.3
Average of Medians: 57541.1
SLRUs to BufferCache + Page Headers:
Trial 1: 62605.0
Trial 2: 62891.2
Trial 3: 59906.3
Average of Medians: 61800.8
Machine Specs:
Driver
Instance: m5d.metal
Architecture x86_64
CPUs: 96
RAM: 384 GiB
OS: Amazon Linux 2
Server
Instance: r5dn.metal
Architecture x86_64
CPUs: 64
RAM: 500GiB
OS: Amazon Linux 2
Looking forward to your feedback on this.
Sincerely,
Rishu Bagga, Amazon Web Services (AWS)
Attachment | Content-Type | Size |
---|---|---|
slru_to_buffer_cache_with_page_headers_v4.patch | application/octet-stream | 348.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2023-01-10 19:14:49 | Re: BUG: Postgres 14 + vacuum_defer_cleanup_age + FOR UPDATE + UPDATE |
Previous Message | Andres Freund | 2023-01-10 19:05:04 | Re: Avoiding "wrong tuple length" errors at the end of VACUUM on pg_database update (Backpatch of 947789f to v12 and v13) |