Re: Re: pgsql: Add URLs for : * Speed WAL recovery by allowing more than one

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
Cc: Gregory Stark <stark(at)enterprisedb(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-committers(at)postgresql(dot)org
Subject: Re: Re: pgsql: Add URLs for : * Speed WAL recovery by allowing more than one
Date: 2008-03-18 23:35:42
Message-ID: 200803182335.m2INZgP03117@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Heikki Linnakangas wrote:
> How about:
>
> * Speed WAL recovery by allowing more than one page to be prefetched
>
> This should be done utilizing the same infrastructure used for
> prefetching in general, to avoid introducing complex, error-prone code
> to WAL replay codepath, which doesn't get much testing compared to the
> rest of the system.

Updated to:

* Speed WAL recovery by allowing more than one page to be prefetched

This should be done utilizing the same infrastructure used for
prefetching in general to avoid introducing complex error-prone code
in WAL replay.

> There's already this TODO item:
>
> > Experiment with multi-threaded backend better resource utilization
> >
> > This would allow a single query to make use of multiple CPU's or multiple I/O channels simultaneously. One idea is to create a background reader that can pre-fetch sequential and index scan pages needed by other backends. This could be expanded to allow concurrent reads from multiple devices in a partitioned table.
>
> This should probably be split into two. Using multiple CPUs for
> satisfying one query is quite different from implementing some kind of a
> pre-fetching mechanism using posix_fadvise(), libaio, or background
> reader processes.

Good idea, items split:

* Experiment with multi-threaded backend better I/O utilization

This would allow a single query to make use of multiple I/O channels
simultaneously. One idea is to create a background reader that can
pre-fetch sequential and index scan pages needed by other backends.
This could be expanded to allow concurrent reads from multiple devices
in a partitioned table.

* Experiment with multi-threaded backend better CPU utilization

This would allow several CPUs to be used for a single query, such as
for sorting or query execution.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2008-03-19 00:17:53 Re: Re: pgsql: Add URLs for : * Speed WAL recovery by allowing more than one
Previous Message Bruce Momjian 2008-03-18 23:35:22 pgsql: Spit items: * Experiment with multi-threaded backend better I/O

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2008-03-18 23:45:26 Re: broken head?
Previous Message Stephen Denne 2008-03-18 23:24:16 Re: count(*) performance improvement ideas