[Bizgres-general] Question: Is 64-bit cache support
valuable?
Luke Lonergan
llonergan at greenplum.com
Sun Sep 25 20:00:12 GMT 2005
*pong*
Jim,
On 9/24/05 2:32 PM, "Jim C. Nasby" <jnasby at pervasive.com> wrote:
> This hasn't gone to -hackers yet, right?
Nope.
> Actually, what made me think of this was a recent suggestion about
> combining shared memory consuming stuff into one pool (I think it was
> FSM). The idea was that FSM (or whatever the discussion was about) could
> then be sized without a restart, which for something like FSM could be
> quite useful.
Sounds like it, but it's possibly unrelated to the more general resource
management problem, which as Josh puts it "is more a problem of resource
under-sizing than over-sizing" due to the current state of the system where
an oversized workmem can crash a server if too many connections/queries hit.
DBAs only real choice is to keep the memory settings low so that all queries
live with the lowest common denominator.
> So maybe the direction that PostgreSQL should head is that it has two
> over-arching memory limits: one for shared memory and one for non-shared
> memory. All shared memory objects would pull out of the shared memory
> pool, with all left-over space being used for buffers (of course all
> these other shared memory objects would still need limits on them so we
> didn't run out of buffers). All other memory consuming
> objects/operations, such as sort, would have to obey a total memory
> limit, designed to ensure that the machine doesn't swap. ISTM that
> whatever memory we're not using up to that limit could be considered the
> sort pool.
That may be - we had a good discussion about this at Greenplum with Simon,
Josh, Kurt, etc. and an interesting point of view came out: resource
management must include some method of ensuring that when the sum of all
queries exceeds the system's designed resources, they don't.
One proven way to do this is to create resource classes (e.g. "small,
medium, large") and form query queues that have corresponding limits. This
kind of scheme allows a DBA to allocate all of a machine's resources among
the queues, and be sure that they won't be exceeded. The system can use
well-proven queue management techniques to maximize throughput.
- Luke
More information about the Bizgres-general
mailing list