[HACKERS] VOPS: vectorized executor for Postgres: how to speedup OLAP queriesmore than 10 times without changing anything in Postgres executor - Mailing list pgsql-hackers

From Konstantin Knizhnik
Subject [HACKERS] VOPS: vectorized executor for Postgres: how to speedup OLAP queriesmore than 10 times without changing anything in Postgres executor
Date
Msg-id 50877c0c-fb88-b601-3115-55a8c70d693e@postgrespro.ru
Whole thread Raw
Responses Re: [HACKERS] VOPS: vectorized executor for Postgres: how to speedupOLAP queries more than 10 times without changing anything in Postgresexecutor  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
List pgsql-hackers
Hello hackers,

There were many discussions concerning  possible ways of speeding-up 
Postgres. Different approaches were suggested:

- JIT (now we have three different prototype implementations based on LLVM)
- Chunked (vectorized) executor
- Replacing pull with push
- Columnar store (cstore_fdw, IMCS)
- Optimizing and improving current executor (reducing tuple deform 
overhead, function call overhead,...)

Obviously the best result can be achieved in case of combining all this 
approaches. But actually them are more or less interchangeable: 
vectorized execution is not eliminating interpretation overhead, but it 
is divided by vector size and becomes less critical.

I decided to write small prototype to estimate possible speed 
improvement of vectorized executor. I created special types representing 
"tile" and implement standard SQL operators for them. So neither 
Postgres planer, nether Postgres executor, nether Postgres heap manager 
are changed. But I was able to reach more than 10 times speed 
improvement on TPC-H Q1/Q6 queries!

Please find more information here: 
https://cdn.rawgit.com/postgrespro/vops/ddcbfbe6/vops.html
The sources of the project can be found here: 
https://github.com/postgrespro/vops.git

-- 
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company




pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: [HACKERS] Should we cacheline align PGXACT?
Next
From: Bernd Helmle
Date:
Subject: Re: [HACKERS] LWLock optimization for multicore Power machines