Re: Yet another vectorized engine

From: Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru>
To: Hubert Zhang <hzhang(at)pivotal(dot)io>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, Gang Xiong <gxiong(at)pivotal(dot)io>, Asim R P <apraveen(at)pivotal(dot)io>, Ning Yu <nyu(at)pivotal(dot)io>
Subject: Re: Yet another vectorized engine
Date: 2020-02-24 12:02:44
Message-ID: 28241a05-5e76-0533-c6d4-03e1089ac248@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 24.02.2020 05:08, Hubert Zhang wrote:
> Hi
>
> On Sat, Feb 22, 2020 at 12:58 AM Konstantin Knizhnik
> <k(dot)knizhnik(at)postgrespro(dot)ru <mailto:k(dot)knizhnik(at)postgrespro(dot)ru>> wrote:
>
>
>
> On 12.02.2020 13:12, Hubert Zhang wrote:
>> On Tue, Feb 11, 2020 at 1:20 AM Konstantin Knizhnik
>> <k(dot)knizhnik(at)postgrespro(dot)ru <mailto:k(dot)knizhnik(at)postgrespro(dot)ru>> wrote:
>>
>>
>> So looks like PG-13 provides significant advantages in OLAP
>> queries comparing with 9.6!
>> Definitely it doesn't mean that vectorized executor is not
>> needed for new version of Postgres.
>> Once been ported, I expect that it should provide comparable 
>> improvement of performance.
>>
>> But in any case I think that vectorized executor makes sense
>> only been combine with columnar store.
>>
>>
>> Thanks for the test. +1 on vectorize should be combine with
>> columnar store. I think when we support this extension
>> on master, we could try the new zedstore.
>> I'm not active on this work now, but will continue when I have
>> time. Feel free to join bring vops's feature into this extension.
>> Thanks
>>
>> Hubert Zhang
>
> I have ported vectorize_engine to the master.
> It takes longer than I expected: a lot of things were changed in
> executor.
>
> Results are the following:
>
>
> par.warkers
> PG9_6
> vectorize=off
> PG9_6
> vectorize=on
> master
> vectorize=off
> jit=on
> master
> vectorize=off
> jit=off master
> vectorize=on
> jit=ofn master
> vectorize=on
> jit=off
> 0
> 36
> 20
> 16
> 25.5
> 15
> 17.5
> 4
> 10
> -
> 5 7
> -
> -
>
>
> So it proves the theory that JIT provides almost the same speedup
> as vector executor (both eliminates interpretation overhead but in
> different way).
> I still not sure that we need vectorized executor: because with
> standard heap it provides almost no improvements comparing with
> current JIT version.
> But in any case I am going to test it with vertical storage
> (zedstore or cstore).
>
>
> Thanks for the porting and testing.
> Yes, PG master and 9.6 have many changes, not only executor, but also
> tupletableslot interface.
>
> What matters the performance of JIT and Vectorization is its
> implementation. This is just the beginning of vectorization work, just
> as your vops extension reported, vectorization could run 10 times
> faster in PG. With the overhead of row storage(heap), we may not reach
> that speedup, but I think we could do better. Also +1 on vertical storage.
>
> BTW, welcome to submit your PR for the PG master version.

Sorry, but I have no permissions to push changes to your repository.
I can certainly create my own fork of vectorize_engine, but I think it
will be beter if I push pg13 branch in your repository.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bernd Helmle 2020-02-24 12:11:10 Re: [Patch] Make pg_checksums skip foreign tablespace directories
Previous Message Robert Haas 2020-02-24 12:02:29 Re: allow frontend use of the backend's core hashing functions