Skip to main content
Question

EXECUTIONPARALLELISM in resource Pool

  • Nov 9, 2019 6:40 PM UTC
  • 3 replies
  • 19 views

hsaxena20
Forum|alt.badge.img+1

Whats does it mean EXECUTIONPARALLELISM? and how we can set it?
Why it is required?

3 replies

SruthiA
Forum|alt.badge.img+1
  • Participating Frequently
  • Nov 10, 2019 1:29 AM UTC

Execution Parallelism Limits the number of threads used to process any single query issued in a resource pool. It can be set using ALTER RESOURCE POOL statement for a particular resource pool. Default is AUTO which is equal to number of cores of your system. It is used to provide more threads to a query so that it can complete quickly. However it is not ideal to increase EXECUTIONPARALLELISM to high value

if your query has a GROUP BY clause and EXECUTIONPARALLELISM is set to 8, to perform GROUP BY operation vertica will use 8 threads. Since it uses many threads it requires more memory. So you need to have enough memory available in that resource pool where the query is running.

The below blog provides a good picture of Vertica's work load management and how concurrency and parallelism effects workloads

https://www.vertica.com/blog/concurrency-workload-management/


hsaxena20
Forum|alt.badge.img+1
  • Author
  • Participating Frequently
  • Nov 10, 2019 9:56 AM UTC

If we can leave it as default for our user-defined pool than there should be not a problem?


SruthiA
Forum|alt.badge.img+1
  • Participating Frequently
  • Nov 10, 2019 2:24 PM UTC

Yes. You can leave it at default which is AUTO. there should not be any issue.