Re: Possible performance regression in version 10.1 with pgbench read-write tests.
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>,
Mithun Cy <mithun.cy@enterprisedb.com>, Alvaro Herrera <alvherre@2ndquadrant.com>,
Amit Kapila <amit.kapila16@gmail.com>, Robert Haas <robertmhaas@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-07-23T10:06:58Z
Lists: pgsql-hackers
Attachments
- 0001-Pad-semaphores-to-avoid-false-sharing.patch (application/octet-stream) patch 0001
On Mon, Jul 23, 2018 at 3:40 PM, Thomas Munro <thomas.munro@enterprisedb.com> wrote: > On Sun, Jul 22, 2018 at 8:19 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> 8 clients 72 clients >> >> unmodified HEAD 16112 16284 >> with padding patch 16096 16283 >> with SysV semas 15926 16064 >> with padding+SysV 15949 16085 >> >> This is on RHEL6 (kernel 2.6.32-754.2.1.el6.x86_64), hardware is dual >> 4-core Intel E5-2609 (Sandy Bridge era). This hardware does show NUMA >> effects, although no doubt less strongly than Mithun's machine. >> >> I would like to see some other results with a newer kernel. I tried to >> repeat this test on a laptop running Fedora 28, but soon concluded that >> anything beyond very short runs was mainly going to tell me about thermal >> throttling :-(. I could possibly get repeatable numbers from, say, >> 1-minute SELECT-only runs, but that would be a different test scenario, >> likely one with a lot less lock contention. > > I did some testing on 2-node, 4-node and 8-node systems running Linux > 3.10.something (slightly newer but still ancient). Only the 8-node > box (= same one Mithun used) shows the large effect (the 2-node box > may be a tiny bit faster patched but I'm calling that noise for now... > it's not slower, anyway). Here's an attempt to use existing style better: a union, like LWLockPadded and WALInsertLockPadded. I think we should back-patch to 10. Thoughts? -- Thomas Munro http://www.enterprisedb.com
Commits
-
Pad semaphores to avoid false sharing.
- 46201d603f9c 10.5 landed
- f2db5f3bb0b5 11.0 landed
- 2d3067595299 12.0 landed