Re: Controlling Load Distributed Checkpoints

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Greg Smith <gsmith(at)gregsmith(dot)com>, Hannu Krosing <hannu(at)skype(dot)net>, ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, Greg Stark <greg(dot)stark(at)enterprisedb(dot)com>
Subject: Re: Controlling Load Distributed Checkpoints
Date: 2007-06-07 17:23:41
Message-ID: 46683F1D.4060609@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Tom Lane wrote:
> Heikki Linnakangas <heikki(at)enterprisedb(dot)com> writes:
>> Thinking about this whole idea a bit more, it occured to me that the
>> current approach to write all, then fsync all is really a historical
>> artifact of the fact that we used to use the system-wide sync call
>> instead of fsyncs to flush the pages to disk. That might not be the best
>> way to do things in the new load-distributed-checkpoint world.
>
>> How about interleaving the writes with the fsyncs?
>
> I don't think it's a historical artifact at all: it's a valid reflection
> of the fact that we don't know enough about disk layout to do low-level
> I/O scheduling. Issuing more fsyncs than necessary will do little
> except guarantee a less-than-optimal scheduling of the writes.

I'm not proposing to issue any more fsyncs. I'm proposing to change the
ordering so that instead of first writing all dirty buffers and then
fsyncing all files, we'd write all buffers belonging to a file, fsync
that file only, then write all buffers belonging to next file, fsync,
and so forth.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-06-07 17:43:49 Re: Controlling Load Distributed Checkpoints
Previous Message Matthew T. O'Connor 2007-06-07 17:09:44 Re: [PATCHES] [BUGS] BUG #3326: Invalid lower bound of autovacuum_cost_limit

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2007-06-07 17:43:49 Re: Controlling Load Distributed Checkpoints
Previous Message Matthew T. O'Connor 2007-06-07 17:09:44 Re: [PATCHES] [BUGS] BUG #3326: Invalid lower bound of autovacuum_cost_limit