Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ivan Voras <ivoras(at)freebsd(dot)org>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance
Date: 2010-10-07 01:25:07
Message-ID: 16636.1286414707@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance

Ivan Voras <ivoras(at)freebsd(dot)org> writes:
> On 10/04/10 20:49, Josh Berkus wrote:
>>> The other major bottleneck they ran into was a kernel one: reading from
>>> the heap file requires a couple lseek operations, and Linux acquires a
>>> mutex on the inode to do that.

> Hmmm... lseek? As in "lseek() then read() or write()" idiom? It AFAIK
> cannot be fixed since you're modifying the global "strean position"
> variable and something has got to lock that.

Um, there is no "global stream position" associated with an inode.
A file position is associated with an open-file descriptor.

If Josh quoted the problem correctly, the issue is that the kernel is
locking a file's inode (which may be referenced by quite a lot of file
descriptors) in order to change the state of one file descriptor.
It sure sounds like a possible source of contention to me.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2010-10-07 01:30:12 Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance
Previous Message Robert Haas 2010-10-07 00:44:45 Re: todo point: plpgsql - scrollable cursors are supported

Browse pgsql-performance by date

  From Date Subject
Next Message Stephen Frost 2010-10-07 01:30:12 Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance
Previous Message Robert Haas 2010-10-07 00:39:48 Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance