Skip to main content
Question

EXECUTIONPARALLELISM in resource Pool

  • November 9, 2019
  • 3 replies
  • 13 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
  • November 10, 2019

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
  • November 10, 2019

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
  • November 10, 2019

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