Re: Parallel bitmap heap scan
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-10-19T04:17:35Z
Lists: pgsql-hackers
On Tue, Oct 18, 2016 at 1:45 AM, Andres Freund <andres@anarazel.de> wrote: > I don't quite understand why the bitmap has to be parallel at all. As > far as I understand your approach as described here, the only thing that > needs to be shared are the iteration arrays. Since they never need to > be resized and such, it seems to make a lot more sense to just add an > API to share those, instead of the whole underlying hash. You are right that we only share iteration arrays. But only point is that each entry of iteration array is just a pointer to hash entry. So either we need to build hash in shared memory (my current approach) or we need to copy each hash element at shared location (I think this is going to be expensive). Let me know if I am missing something.. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
Pass DSA_ALLOC_HUGE when allocating a shared TIDBitmap.
- a171f01501e1 10.0 landed
-
Support parallel bitmap heap scans.
- f35742ccb7aa 10.0 landed
-
tidbitmap: Support shared iteration.
- 98e6e89040a0 10.0 landed
-
Shut down Gather's children before shutting down Gather itself.
- acf555bc53ac 10.0 landed
-
Revise the way the element allocator for a simplehash is specified.
- c3c4f6e1740b 10.0 cited
-
Refactor bitmap heap scan estimation of heap pages fetched.
- da08a6598973 10.0 landed
-
Use more efficient hashtable for tidbitmap.c to speed up bitmap scans.
- 75ae538bc316 10.0 cited