[Bizgres-general] [ENG] Re: Statement Queuing take II - Resource Scheduling (Running with cost and cursors)
Mark Kirkwood
mkirkwood at greenplum.com
Wed Aug 2 06:39:25 UTC 2006
Luke Lonergan wrote:
> Mark,
>
>
>> -----Original Message-----
>> From: eng-bounces at intranet.greenplum.com
>> [mailto:eng-bounces at intranet.greenplum.com] On Behalf Of Mark Kirkwood
>> Sent: Tuesday, August 01, 2006 11:06 PM
>> To: bizgres-general at pgfoundry.org
>> Cc: eng at intranet.greenplum.com
>> Subject: [ENG] Re: [Bizgres-general] Statement Queuing take
>> II - Resource Scheduling (Running with cost and cursors)
>>
>> An update on progress again:
>>
>> The machinery to track limit types other than merely active
>> count was running for the first time today, so cost and count
>> limit types are both working! (and work_mem could be made to
>> work if I spent time on figuring out how to count the
>> possible allocations in a plan).
>>
>
> This is a big deal if I read this correctly - can we assign statements
> to queues post-planning based on their cost?
>
>
Not at the moment, how it works is that a user (i.e. role) is in a
resource queue, so everything they do counts against *that* queue.
However (not implemented yet, as there is some thinking to do here), SET
ROLE to a role with a *different* queue could kinda do that, in a very
prescribed manner.
To have statements assigned to queues based on some limit parameter (say
cost) would be pretty cool - err - we had not really though of doing it
that way tho.... To do something like that the resource queues
themselves would need a lower threshold or something so that for a given
statement with (say) cost x, we can decide which queue to put it in. But
we would also need some way to decide *which* possible limit type is the
decider for a given statement (i.e is it cost, count, work_mem etc) -
maybe that would be set per role? (role has a limit type as opposed to
the current role has a queue).
I guess this is a different way of managing the system load, one way being:
- put users into queues based on the their expected workload
Whereas what we have been describing is:
- put statements into queues based on their estimated workload
It is certainly interesting...(scratches had), not sure we can do both...
Cheers
Mark
More information about the Bizgres-general
mailing list