Skip site navigation (1) Skip section navigation (2)

Re: LWLock contention: I think I understand the problem

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org, jwbaker(at)acm(dot)org
Subject: Re: LWLock contention: I think I understand the problem
Date: 2002-01-03 17:16:31
Message-ID: 200201031716.g03HGVj15783@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-odbc
Tom Lane wrote:
> Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp> writes:
> > Ok, here is a pgbench (-s 10) result on an AIX 5L box (4 way).
> > "7.2 with patch" is for the previous patch. "7.2 with patch (revised)"
> > is for the this patch. I see virtually no improvement.
> 
> If anything, the revised patch seems to make things slightly worse :-(.
> That agrees with my measurement on a single CPU.
> 
> I am inclined to use the revised patch anyway, though, because I think
> it will be less prone to starvation (ie, a process repeatedly being
> awoken but failing to get the lock).  The original form of lwlock.c
> guaranteed that a writer could not be locked out by large numbers of
> readers, but I had to abandon that goal in the first version of the
> patch.  The second version still doesn't keep the writer from being
> blocked by active readers, but it does ensure that readers queued up
> behind the writer won't be released.  Comments?

OK, so now we know that while the new lock code handles the select(1)
problem better, we also know that on AIX the old select(1) code wasn't
as bad as we thought.

As to why we don't see better numbers on AIX, we are getting 100tps,
which seems pretty good to me.  Tatsuo, were you expecting higher than
100tps on that machine?  My hardware is at listed at
http://candle.pha.pa.us/main/hardware.html and I don't get over 16tps.

I believe we don't see improvement on SMP machines using pgbench because
pgbench, at least at high scaling factors, is really testing disk i/o,
not backend processing speed.  It would be interesting to test pgbench
using scaling factors that allowed most of the tables to sit in shared
memory buffers.  Then, we wouldn't be testing disk i/o and would be
testing more backend processing throughput.  (Tom, is that true?)

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

In response to

Responses

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2002-01-03 17:21:11
Subject: Re: Updated TODO item
Previous:From: Bruce MomjianDate: 2002-01-03 17:08:34
Subject: Re: LWLock contention: I think I understand the problem

pgsql-odbc by date

Next:From: Tom LaneDate: 2002-01-03 17:41:12
Subject: Re: LWLock contention: I think I understand the problem
Previous:From: Bruce MomjianDate: 2002-01-03 17:08:34
Subject: Re: LWLock contention: I think I understand the problem

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group