Re: SMP scaling - Mailing list pgsql-general

From Tom Lane
Subject Re: SMP scaling
Date
Msg-id 12314.1111205046@sss.pgh.pa.us
Whole thread Raw
In response to Re: SMP scaling  (Mark Rae <mrae@purplebat.com>)
List pgsql-general
Mark Rae <mrae@purplebat.com> writes:
> Even with the numa support, which makes sure any memory allocated by
> malloc or the stack ends up local to the processor which originally
> called it, and then continues to schedule the process on that CPU,
> there is still the problem that all table accesses* go through
> the shared buffer cache which resides in one location.
> [* is this true in all cases?]

Temp tables are handled in backend-local memory, but all normal tables
have to be accessed through shared buffers.  The implications of not
doing that are bad enough that it's hard to believe it could be a win
to change.  (In short: the hardware may not like syncing across
processors, but it can still do it faster than we could hope to do in
software.)

> it looks like SGI already have a solution in the form of
> symmetric data objects.
> In particular, the symmetric heap, an area of shared memory
> which is replicated across all memory domains with the
> coherency being handled in hardware.

Hmm, do they support spinlock objects in this memory?  If so it could be
just the right thing.

> So it looks like all that might be needed is to replace the
> shmget calls in src/backend/port with the equivalent SGI functions.

Send a patch ;-)

            regards, tom lane

pgsql-general by date:

Previous
From: Paul Tillotson
Date:
Subject: Re: Query performance problem
Next
From: Phil Daintree
Date:
Subject: Re: Query performance problem