On Mon, Nov 30, 2015 at 6:17 PM, Kyotaro HORIGUCHI < horiguchi.kyot...@lab.ntt.co.jp> wrote: > > > ====== TODO or random thoughts, not restricted on this patch. > > - This patch doesn't contain planner part, it must be aware of > async execution in order that this can be in effective. >
How will you decide whether sync-execution is cheaper than parallel execution. Do you have some specific cases in mind where async execution will be more useful than parallel execution? > > - Some measture to control execution on bgworker would be > needed. At least merge join requires position mark/reset > functions. > > - Currently, more tuples make reduce effectiveness of parallel > execution, some method to transfer tuples in larger unit would > be needed, or would be good to have shared workmem? > Yeah, I think here one thing we need to figure out is whether the performance bottleneck is due to the amount of data that is transferred between worker and master or something else. One idea could be to pass TID and may be keep the buffer pin (which will be released by master backend), but on the other hand if we have to perform costly target list evaluation by bgworker, then it might be beneficial to pass the projected list back. With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com