Re: Improve eviction algorithm in ReorderBuffer
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Michael Paquier <michael@paquier.xyz>, Jeff Davis <pgsql@j-davis.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>,
Amit Kapila <amit.kapila16@gmail.com>, vignesh C <vignesh21@gmail.com>,
Peter Smith <smithpb2250@gmail.com>,
Tomas Vondra <tomas.vondra@enterprisedb.com>,
"Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>,
Shubham Khanna <khannashubham1197@gmail.com>,
Dilip Kumar <dilipbalaut@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-04-10T05:30:22Z
Lists: pgsql-hackers
On 10/04/2024 07:45, Michael Paquier wrote: > On Tue, Apr 09, 2024 at 09:16:53PM -0700, Jeff Davis wrote: >> On Wed, 2024-04-10 at 12:13 +0900, Michael Paquier wrote: >>> Wouldn't the best way forward be to revert >>> 5bec1d6bc5e3 and revisit the whole in v18? >> >> Also consider commits b840508644 and bcb14f4abc. > > Indeed. These are also linked. I don't feel the urge to revert this: - It's not broken as such, we're just discussing better ways to implement it. We could also do nothing, and revisit this in v18. The only must-fix issue is some compiler warnings IIUC. - It's a pretty localized change in reorderbuffer.c, so it's not in the way of other patches or reverts. Nothing else depends on the binaryheap changes yet either. - It seems straightforward to repeat the performance tests with whatever alternative implementations we want to consider. My #1 choice would be to write a patch to switch the pairing heap, performance test that, and revert the binary heap changes. -- Heikki Linnakangas Neon (https://neon.tech)
Commits
-
Revert indexed and enlargable binary heap implementation.
- 810f64a01567 17.0 landed
-
Replace binaryheap + index with pairingheap in reorderbuffer.c
- efb8acc0d058 17.0 landed
-
Improve eviction algorithm in ReorderBuffer using max-heap for many subtransactions.
- 5bec1d6bc5e3 17.0 landed
-
Add functions to binaryheap for efficient key removal and update.
- b84050864415 17.0 landed
-
Make binaryheap enlargeable.
- bcb14f4abca0 17.0 landed