Re: s_lock() seems too aggressive for machines with many sockets

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Jan Wieck <jan(at)wi3ck(dot)info>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: s_lock() seems too aggressive for machines with many sockets
Date: 2015-06-10 13:31:49
Message-ID: 20150610133149.GC25470@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jun 10, 2015 at 09:18:56AM -0400, Jan Wieck wrote:
> The attached patch demonstrates that less aggressive spinning and
> (much) more often delaying improves the performance "on this type of
> machine". The 8 socket machine in question scales to over 350,000
> TPS.
>
> The patch is meant to demonstrate this effect only. It has a
> negative performance impact on smaller machines and client counts <
> #cores, so the real solution will probably look much different. But
> I thought it would be good to share this and start the discussion
> about reevaluating the spinlock code before PGCon.

Wow, you are in that code! We kind of guessed on some of those
constants many years ago, and never revisited it. It would be nice to
get a better heuristic for those, but I am concerned it would require
the user to specify the number of CPU cores.

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

+ Everyone has their own god. +

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Grittner 2015-06-10 13:39:28 Re: The Future of Aggregation
Previous Message Andres Freund 2015-06-10 13:28:30 Re: s_lock() seems too aggressive for machines with many sockets