Re: Anyone interested in improving postgresql scaling?

From: Mark Kirkwood <markir(at)paradise(dot)net(dot)nz>
To: Kris Kennaway <kris(at)obsecurity(dot)org>
Cc: current(at)FreeBSD(dot)org, performance(at)FreeBSD(dot)org, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Anyone interested in improving postgresql scaling?
Date: 2007-04-10 10:41:04
Message-ID: 461B69C0.4060707@paradise.net.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Kris Kennaway wrote:
> If so, then your task is the following:
>
> Make SYSV semaphores less dumb about process wakeups. Currently
> whenever the semaphore state changes, all processes sleeping on the
> semaphore are woken, even if we only have released enough resources
> for one waiting process to claim. i.e. there is a thundering herd
> wakeup situation which destroys performance at high loads. Fixing
> this will involve replacing the wakeup() calls with appropriate
> amounts of wakeup_one().

I'm forwarding this to the pgsql-hackers list so that folks more
qualified than I can comment, but as I understand the way postgres
implements locking each process has it *own* semaphore it waits on -
and who is waiting for what is controlled by an in (shared) memory hash
of lock structs (access to these is controlled via platform Dependant
spinlock code). So a given semaphore state change should only involve
one process wakeup.

Cheers

Mark

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Maxime Henrion 2007-04-10 11:21:50 Re: Anyone interested in improving postgresql scaling?
Previous Message Heikki Linnakangas 2007-04-10 10:40:58 Re: Group Commit