Re: Parallel query execution

Поиск
Список
Период
Сортировка
Искать
От
Stephen Frost
Тема
Re: Parallel query execution
Дата
Msg-id
20130115231557.GB16126@tamriel.snowman.net
Ответ на
Список
Дерево обсуждения
Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Gavin Flower <GavinFlower@archidevsys.co.nz>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Claudio Freire <klaussfreire@gmail.com>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Claudio Freire <klaussfreire@gmail.com>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Claudio Freire <klaussfreire@gmail.com>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Claudio Freire <klaussfreire@gmail.com>
Re: Parallel query execution Josh Berkus <josh@agliodbs.com>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Josh Berkus <josh@agliodbs.com>
Re: Parallel query execution Michael Paquier <michael.paquier@gmail.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Parallel query execution Tom Lane <tgl@sss.pgh.pa.us>
CF3+4 (was Re: Parallel query execution) Abhijit Menon-Sen <ams@2ndQuadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Simon Riggs <simon@2ndquadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Alvaro Herrera <alvherre@2ndquadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Stephen Frost <sfrost@snowman.net>
Re: CF3+4 Abhijit Menon-Sen <ams@2ndQuadrant.com>
Re: CF3+4 Stephen Frost <sfrost@snowman.net>
Re: CF3+4 Tom Lane <tgl@sss.pgh.pa.us>
Re: CF3+4 Josh Berkus <josh@agliodbs.com>
Re: CF3+4 Tom Lane <tgl@sss.pgh.pa.us>
Re: CF3+4 Peter Eisentraut <peter_e@gmx.net>
Re: CF3+4 Tom Lane <tgl@sss.pgh.pa.us>
Re: CF3+4 Bruce Momjian <bruce@momjian.us>
Re: CF3+4 Simon Riggs <simon@2ndQuadrant.com>
Re: CF3+4 Tom Lane <tgl@sss.pgh.pa.us>
Re: CF3+4 Abhijit Menon-Sen <ams@2ndQuadrant.com>
Re: CF3+4 Craig Ringer <craig@2ndQuadrant.com>
Re: CF3+4 Michael Paquier <michael.paquier@gmail.com>
Re: CF3+4 Abhijit Menon-Sen <ams@2ndQuadrant.com>
Re: CF3+4 Magnus Hagander <magnus@hagander.net>
Re: CF3+4 Craig Ringer <craig@2ndQuadrant.com>
Re: CF3+4 Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Craig Ringer <craig@2ndQuadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Craig Ringer <craig@2ndQuadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Josh Berkus <josh@agliodbs.com>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Craig Ringer <craig@2ndQuadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Magnus Hagander <magnus@hagander.net>
Re: CF3+4 (was Re: Parallel query execution) Pavan Deolasee <pavan.deolasee@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Magnus Hagander <magnus@hagander.net>
Re: CF3+4 (was Re: Parallel query execution) Jeff Janes <jeff.janes@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Simon Riggs <simon@2ndQuadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Pavel Stehule <pavel.stehule@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Jeff Janes <jeff.janes@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Heikki Linnakangas <hlinnakangas@vmware.com>
Re: CF3+4 (was Re: Parallel query execution) Josh Berkus <josh@agliodbs.com>
Re: CF3+4 (was Re: Parallel query execution) Tom Lane <tgl@sss.pgh.pa.us>
Re: CF3+4 (was Re: Parallel query execution) Bruce Momjian <bruce@momjian.us>
Re: CF3+4 (was Re: Parallel query execution) Josh Berkus <josh@agliodbs.com>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Tom Lane <tgl@sss.pgh.pa.us>
Re: CF3+4 (was Re: Parallel query execution) Andrew Dunstan <andrew@dunslane.net>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Dimitri Fontaine <dimitri@2ndQuadrant.fr>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Josh Berkus <josh@agliodbs.com>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Phil Sorber <phil@omniti.com>
Re: CF3+4 (was Re: Parallel query execution) Pavan Deolasee <pavan.deolasee@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Tom Lane <tgl@sss.pgh.pa.us>
Re: CF3+4 (was Re: Parallel query execution) Andrew Dunstan <andrew@dunslane.net>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Andres Freund <andres@2ndquadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Josh Berkus <josh@agliodbs.com>
Re: CF3+4 (was Re: Parallel query execution) "Joshua D. Drake" <jd@commandprompt.com>
Re: CF3+4 (was Re: Parallel query execution) Stephen Frost <sfrost@snowman.net>
Re: CF3+4 (was Re: Parallel query execution) Heikki Linnakangas <hlinnakangas@vmware.com>
Re: CF3+4 (was Re: Parallel query execution) Stephen Frost <sfrost@snowman.net>
Re: CF3+4 (was Re: Parallel query execution) Amit Kapila <amit.kapila@huawei.com>
Re: CF3+4 (was Re: Parallel query execution) Pavel Stehule <pavel.stehule@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Phil Sorber <phil@omniti.com>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Pavan Deolasee <pavan.deolasee@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Pavan Deolasee <pavan.deolasee@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Pavel Stehule <pavel.stehule@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Dimitri Fontaine <dimitri@2ndQuadrant.fr>
Re: CF3+4 (was Re: Parallel query execution) Gavin Flower <GavinFlower@archidevsys.co.nz>
Re: CF3+4 (was Re: Parallel query execution) Phil Sorber <phil@omniti.com>
Re: CF3+4 (was Re: Parallel query execution) Dimitri Fontaine <dimitri@2ndQuadrant.fr>
Re: CF3+4 (was Re: Parallel query execution) Magnus Hagander <magnus@hagander.net>
Re: CF3+4 (was Re: Parallel query execution) Abhijit Menon-Sen <ams@2ndQuadrant.com>
Re: CF3+4 (was Re: Parallel query execution) Boszormenyi Zoltan <zb@cybertec.at>
Re: CF3+4 (was Re: Parallel query execution) Phil Sorber <phil@omniti.com>
Re: CF3+4 (was Re: Parallel query execution) Robert Haas <robertmhaas@gmail.com>
Re: CF3+4 (was Re: Parallel query execution) Magnus Hagander <magnus@hagander.net>
Re: CF3+4 (was Re: Parallel query execution) Noah Misch <noah@leadboat.com>
CF Progress or the lack thereof Andres Freund <andres@2ndquadrant.com>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Robert Haas <robertmhaas@gmail.com>
Re: Parallel query execution Daniel Farina <daniel@heroku.com>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Noah Misch <noah@leadboat.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Andrew Dunstan <andrew@dunslane.net>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Andrew Dunstan <andrew@dunslane.net>
Re: Parallel query execution Michael Paquier <michael.paquier@gmail.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Stephen Frost <sfrost@snowman.net>
Re: Parallel query execution Pavel Stehule <pavel.stehule@gmail.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution "Dickson S. Guedes" <listas@guedesoft.net>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Jeff Janes <jeff.janes@gmail.com>
Re: Parallel query execution Jeff Janes <jeff.janes@gmail.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Claudio Freire <klaussfreire@gmail.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Jeff Janes <jeff.janes@gmail.com>
Re: Parallel query execution Claudio Freire <klaussfreire@gmail.com>
Re: Parallel query execution Paul Ramsey <pramsey@cleverelephant.ca>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Simon Riggs <simon@2ndQuadrant.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Simon Riggs <simon@2ndQuadrant.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Magnus Hagander <magnus@hagander.net>
Re: Parallel query execution Robert Haas <robertmhaas@gmail.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: CF3+CF4 WAS: Parallel query execution Josh Berkus <josh@agliodbs.com>
Re: CF3+CF4 WAS: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: CF3+CF4 WAS: Parallel query execution Josh Berkus <josh@agliodbs.com>
Re: Parallel query execution Jeff Janes <jeff.janes@gmail.com>
Re: Parallel query execution Michael Paquier <michael.paquier@gmail.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
Re: Parallel query execution Peter Geoghegan <peter@2ndquadrant.com>
Re: Parallel query execution Bruce Momjian <bruce@momjian.us>
* Gavin Flower (GavinFlower@archidevsys.co.nz) wrote:
> How about being aware of multiple spindles - so if the requested
> data covers multiple spindles, then data could be extracted in
> parallel. This may, or may not, involve multiple I/O channels?

Yes, this should dovetail with partitioning and tablespaces to pick up
on exactly that.  We're implementing our own poor-man's parallelism
using exactly this to use as much of the CPU and I/O bandwidth as we
can.  I have every confidence that it could be done better and be
simpler for us if it was handled in the backend.

> On large multiple processor machines, there are different blocks of
> memory that might be accessed at different speeds depending on the
> processor. Possibly a mechanism could be used to split a transaction
> over multiple processors to ensure the fastest memory is used?

Let's work on getting it working on the h/w that PG is most commonly
deployed on first..  I agree that we don't want to paint ourselves into
a corner with this, but I don't think massive NUMA systems are what we
should focus on first (are you familiar with any that run PG today..?).
I don't expect we're going to be trying to fight with the Linux (or
whatever) kernel over what threads run on what processors with access to
what memory on small-NUMA systems (x86-based).

> Once a selection of rows has been made, then if there is a lot of
> reformatting going on, then could this be done in parallel?  I can
> of think of 2 very simplistic strategies: (A) use a different
> processor core for each column, or (B) farm out sets of rows to
> different cores.  I am sure in reality, there are more subtleties
> and aspects of both the strategies will be used in a hybrid fashion
> along with other approaches.

Given our row-based storage architecture, I can't imagine we'd do
anything other than take a row-based approach to this..  I would think
we'd do two things: parallelize based on partitioning, and parallelize
seqscan's across the individual heap files which are split on a per-1G
boundary already.  Perhaps we can generalize that and scale it based on
the number of available processors and the size of the relation but I
could see advantages in matching up with what the kernel thinks are
independent files.

> I expect that before any parallel algorithm is invoked, then some
> sort of threshold needs to be exceeded to make it worth while.

Certainly.  That's need to be included in the optimization model to
support this.
Thanks,
	Stephen
В списке pgsql-hackers по дате отправления
От: Bruce Momjian
Дата:
Сообщение: Re: Parallel query execution
От: Tom Lane
Дата:
Сообщение: Re: [PATCH] COPY .. COMPRESSED
FAQ