Re: WIP: [[Parallel] Shared] Hash
Rafia Sabih <rafia.sabih@enterprisedb.com>
Attachments
- ph_v10_performance.tar.gz (application/x-gzip)
On Mon, Mar 27, 2017 at 12:20 PM, Thomas Munro <thomas.munro@enterprisedb.com> wrote: > > On Sun, Mar 26, 2017 at 3:56 PM, Thomas Munro > <thomas.munro@enterprisedb.com> wrote: > > But... what you said above must be a problem for Windows. I believe > > it doesn't allow files to be unlinked if they are open, and I see that > > DSM segments are cleaned up in resowner's phase == > > RESOURCE_RELEASE_BEFORE_LOCKS and files are closed in phase == > > RESOURCE_RELEASE_AFTER_LOCKS. > > I thought this last point about Windows might be fatal to my design, > but it seems that Windows since at least version 2000 has support for > Unixoid unlinkability via the special flag FILE_SHARE_DELETE. On testing v10 of this patch over commit b54aad8e34bd6299093e965c50f4a23da96d7cc3 and applying the tweak mentioned in [1], for TPC-H queries I found the results quite encouraging, Experimental setup: TPC-H scale factor - 20 work_mem = 1GB shared_buffers = 10GB effective_cache_size = 10GB random_page_cost = seq_page_cost = 0.1 max_parallel_workers_per_gather = 4 Performance numbers: (Time in seconds) Query | Head | Patch | ------------------------------- Q3 | 73 | 37 | Q5 | 56 | 31 | Q7 | 40 | 30 | Q8 | 8 | 8 | Q9 | 85 | 42 | Q10 | 86 | 46 | Q14 | 11 | 6 | Q16 | 32 | 11 | Q21 | 53 | 56 | Please find the attached file for the explain analyse output of these queries on head as well as patch. Would be working on analysing the performance of this patch on 300 scale factor. [1] https://www.postgresql.org/message-id/flat/CAEepm%3D270ze2hVxWkJw-5eKzc3AB4C9KpH3L2kih75R5pdSogg%40mail.gmail.com -- Regards, Rafia Sabih EnterpriseDB: http://www.enterprisedb.com/
Commits
-
Add shared tuplestores.
- ab9e0e718acb 11.0 landed
-
Remove BufFile's isTemp flag.
- 11e264517dff 11.0 landed
-
Provide DSM segment to ExecXXXInitializeWorker functions.
- 7082e614c0dd 11.0 landed
-
Optimize joins when the inner relation can be proven unique.
- 9c7f5229ad68 10.0 cited
-
Fix failure to use clamp_row_est() for parallel joins.
- 1ea60ad602f9 10.0 cited
-
Document lack of validation when attaching foreign partitions.
- b54aad8e34bd 10.0 cited
-
Fix inclusions of c.h from .h files.
- a72f0365db41 10.0 landed
-
Fix inclusions of postgres_fe.h from .h files.
- 9722bb5757c5 10.0 landed
-
Bring plpgsql into line with header inclusion policy.
- 08da52859a1f 10.0 landed
-
Document intentional violations of header inclusion policy.
- d6b059ec740a 10.0 landed
-
Shut down Gather's children before shutting down Gather itself.
- acf555bc53ac 10.0 landed
-
btree: Support parallel index scans.
- 569174f1be92 10.0 cited
-
Add explicit ORDER BY to a few tests that exercise hash-join code.
- 7c5d8c16e12e 10.0 landed
-
Revise hash join code so that we can increase the number of batches
- 849074f9ae42 8.1.0 cited
-
Rewrite hash join to use simple linked lists instead of a
- 26069a58e8e4 7.1.1 cited