Re: ParallelFinish-hook of FDW/CSP (Re: Steps inside ExecEndGather)

Поиск
Список
Период
Сортировка
От Haribabu Kommi
Тема Re: ParallelFinish-hook of FDW/CSP (Re: Steps inside ExecEndGather)
Дата
Msg-id CAJrrPGfJBVkE2_vxQuSixqRz2Dr_azjnhhDC-AKb-RHU64Mc1A@mail.gmail.com
обсуждение исходный текст
Ответ на ParallelFinish-hook of FDW/CSP (Re: Steps inside ExecEndGather)  (Kouhei Kaigai <kaigai@ak.jp.nec.com>)
Ответы Re: ParallelFinish-hook of FDW/CSP (Re: [HACKERS] Steps inside ExecEndGather)  (Michael Paquier <michael.paquier@gmail.com>)
Список pgsql-hackers


On Tue, Nov 1, 2016 at 1:33 AM, Kouhei Kaigai <kaigai@ak.jp.nec.com> wrote:
Hello,

The attached patch implements the suggestion by Amit before.

What I'm motivated is to collect extra run-time statistics specific
to a particular ForeignScan/CustomScan, not only the standard
Instrumentation; like DMA transfer rate or execution time of GPU
kernels in my case.

Per-node DSM toc is one of the best way to return run-time statistics
to the master backend, because FDW/CSP can assign arbitrary length of
the region according to its needs. It is quite easy to require.
However, one problem is, the per-node DSM toc is already released when
ExecEndNode() is called on the child node of Gather.

This patch allows extensions to get control on the master backend's
context when all the worker node gets finished but prior to release
of the DSM segment. If FDW/CSP has its special statistics on the
segment, it can move to the private memory area for EXPLAIN output
or something other purpose.

One design consideration is whether the hook shall be called from
ExecParallelRetrieveInstrumentation() or ExecParallelFinish().
The former is a function to retrieve the standard Instrumentation
information, thus, it is valid only if EXPLAIN ANALYZE.
On the other hands, if we put entrypoint at ExecParallelFinish(),
extension can get control regardless of EXPLAIN ANALYZE, however,
it also needs an extra planstate_tree_walker().

Right now, we don't assume anything onto the requirement by FDW/CSP.
It may want run-time statistics regardless of EXPLAIN ANALYZE, thus,
hook shall be invoked always when Gather node confirmed termination
of the worker processes.


Moved to next CF with "needs review" status.

Regards,
Hari Babu
Fujitsu Australia

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Haribabu Kommi
Дата:
Сообщение: Re: Proposal: scan key push down to heap [WIP]
Следующее
От: Haribabu Kommi
Дата:
Сообщение: Re: background sessions