Re: parallelizing subplan execution (was: explain and PARAM_EXEC)

Greg Stark <gsstark@mit.edu>

From: Greg Stark <gsstark@mit.edu>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Dimitri Fontaine <dfontaine@hi-media.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org
Date: 2010-02-21T12:57:13Z
Lists: pgsql-hackers
On Sun, Feb 21, 2010 at 3:25 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> What kinds of things would be
> sensible to hand off in this way?  Well, you'd want to find nodes that
> are not likely to be repeatedly re-executed with different parameters,
> like subplans or inner-indexscans, because otherwise you'll get
> pipeline stalls handing the new parameters back and forth.  And you
> want to find nodes that are expensive for the same reason.

I think the case you want to handle is when you could execute a node
asynchronously. That is, if the rest of the plan can proceed without
the results until they are are ready.

The case that Oracle handled first and best was UNION ALL where each
child can be run in separate processes.



-- 
greg