Re: How the Planner in PGStrom differs from PostgreSQL? - Mailing list pgsql-general

From Kouhei Kaigai
Subject Re: How the Planner in PGStrom differs from PostgreSQL?
Date
Msg-id 9A28C8860F777E439AA12E8AEA7694F80125E273@BPXM15GP.gisp.nec.co.jp
Whole thread Raw
In response to Re: How the Planner in PGStrom differs from PostgreSQL?  (Amit Langote <amitlangote09@gmail.com>)
List pgsql-general
> On Thu, Nov 17, 2016 at 7:09 PM, Mark Anns <aishwaryaanns@gmail.com> wrote:
> >  Can u explain this statement "check whether the scan qualifier can be
> > executable on GPU device"
> >
> > What are the scan qualifiers?
> >
> > How to determine whether they are device executable or not?
> >
> > The cost estimates are entirely based on number of rows and type of scan.
> > Then it will be same for both CPU and GPU. How the decision can be
> > made for cheaper one comparing CPU and GPU estimates?
> 
> There is a parameter (call it a "factor" if you will) called cpu_tuple_cost
> (section 19.7.2 Planner Cost Constants in the PostgreSQL documentation;
> link at the bottom), which "sets the planner's estimate of the cost of
> processing each row during a query"
> as the description on that page says.
>
> With that as the unit of cost of processing rows using the CPU and considering
> any differences in the processing capabilities between CPU and GPU, the
> optimizer code will cost the portion of plan that will be processed by the
> GPU (typically a table scan or a join) as some fraction of the cost of
> executing the same portion of the plan using the traditional CPU processing.
> 
> (Kaigai-san will be better able to explain and correct if the above rough
> sketch is not exactly accurate)
>
It is right introduction.

PG-Strom assumes GPU can run functions/operators within scan qualifier
more effectively than CPU, but has more startup cost (const) and extra
data copy via PCI-E bus (another factor based on width x num rows).
These factor makes differences in the cost of individual scan/join paths,
then planner will choose the appropriate one.

Thanks,
----
PG-Strom Project / NEC OSS Promotion Center
KaiGai Kohei <kaigai@ak.jp.nec.com>

pgsql-general by date:

Previous
From: Kouhei Kaigai
Date:
Subject: Re: How the Planner in PGStrom differs from PostgreSQL?
Next
From: William Ivanski
Date:
Subject: Trim performance on 9.5