Search Postgresql Archives

Re: Multiple buffer cache?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bret S. Lambert wrote:
On Sat, Feb 06, 2010 at 02:44:32PM +0100, C?dric Villemain wrote:
I am working on pgfincore which allow in some way to prepare buffer cache.
You need pg > 8.4 and linux (probably working with bsd too)

Why do something with a non-portable interface? Most OSes support
coherently mmap(2)'ing disk blocks into memory; in fact, I'm somewhat
taken aback that the postgres buffer cache isn't implemented in that
manner, but I'm willing to give the devs credit for having not done
so for good reasons.

First off, Cedric's work is using a fairly portable interface: mincore http://www.kernel.org/doc/man-pages/online/pages/man2/mincore.2.html

combined with clever bits of mmap. Two useful introductions to this are are http://www.usenix.org/events/lisa07/tech/plonka.html and http://www.kennygorman.com/wordpress/?p=246

As for why not use mmap in the first place, this is a long running debate. See http://wiki.postgresql.org/wiki/Todo#Miscellaneous_Performance for a quick intro to the issues involved. There are portability, database consistency, and code complexity issues around such a change, and the practical benefit of the change is not so obvious as to make hurdling those seem a priority. Plenty of easier changes around with completely unambiguous benefits to work on instead.

--
Greg Smith    2ndQuadrant   Baltimore, MD
PostgreSQL Training, Services and Support
greg@xxxxxxxxxxxxxxx  www.2ndQuadrant.com


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux