Re: Misaligned BufferDescriptors causing major performance problems on AMD

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Greg Stark <stark(at)mit(dot)edu>, Peter Geoghegan <pg(at)heroku(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Misaligned BufferDescriptors causing major performance problems on AMD
Date: 2014-12-24 15:00:05
Message-ID: 20141224150005.GC15375@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Dec 24, 2014 at 10:30:19AM +0100, Andres Freund wrote:
> On 2014-12-23 22:51:22 -0500, Bruce Momjian wrote:
> > Many of these are 64-byte aligned, including Buffer Descriptors.
>
> In that case you need to change max_connections, some settings will lead
> to unaligned BufferDescriptors.

Well, isn't my second patch that misaligns the buffers sufficient for
testing?

> > I tested pgbench with these commands:
> >
> > $ pgbench -i -s 95 pgbench
> > $ pgbench -S -c 95 -j 95 -t 100000 pgbench
> >
> > on a 16-core Xeon server and got 84k tps. I then applied another patch,
> > attached, which causes all the structures to be non-64-byte aligned, but
> > got the same tps number.
>
> 'Xeon' itself doesn't say much. It's been applied to widly different
> CPUs over the years. I guess that was a single socket server? You're
> much more likely to see significant problems on a multi node NUMA
> servers where the penalties for cache misses/false sharing are a
> magnitude or three higher.

Sorry, the server has 2 x Intel Xeon E5620 2.4GHz Quad-Core Processors;
the full details are here:

http://momjian.us/main/blogs/pgblog/2012.html#January_20_2012

> > Can someone test these patches on an AMD CPU and see if you see a
> > difference? Thanks.
>
> I don't think you'll see a bigger difference there.

Uh, I thought AMD showed a huge difference for misalignment:

http://www.postgresql.org/message-id/20140202151319.GD32123@awork2.anarazel.de

and that email is from you.

I ended up running pgbench using 16-scale and got 90k tps:

pgbench -S -c 16 -j 16 -t 100000 pgbench

but again could not see any difference between aligned and misaligned.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ Everyone has their own god. +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-12-24 15:15:17 Re: replicating DROP commands across servers
Previous Message Bruce Momjian 2014-12-24 14:15:34 Re: Commit timestamp abbreviations