Presto (C++) worker

Properties that can be customized for Presto (C++) are listed here.
Table 1. watsonx.data component: Presto (C++)
Property Description Type Default value / Default setting System property Restart containers required

prestissimo_worker_replicas

The number of Presto (C++) worker replicas to deploy for parallel query execution. Increasing the number of replicas can improve query performance by distributing workloads across multiple instances. Integer small: 10; small_mincpureq: 10; medium: 10; large: 10; xlarge: 17; xxlarge: 25

replicas

Y

prestissimo_worker_resources_limits_cpu

The CPU resource limits for each Presto (C++) worker replica. This value determines the maximum CPU usage that is allowed for each worker.
Note: The value of prestissimo_worker_resources_limits_cpu must be greater than or equal to the value of prestissimo_worker_resources_requests_cpu.
Integer 12

resources_limits_cpu

Y

prestissimo_worker_resources_limits_memory

The memory resource limits for each Presto (C++) worker replica. This value sets the maximum memory allocation for each worker. This also impacts the config.properties.system-memory-gb, config.properties.query-memory-gb, and config.properties.query.max-memory-per-node system properties.
  • query-memory-gb: Specifies the total memory capacity that can be used by query execution in GB. The query memory capacity should be configured less than the system memory capacity (system-memory-gb) to reserve the memory for system usage such as disk spilling and cache prefetch, which are not counted in query memory usage.
  • system-memory-gb: It is the total memory capacity that is used for the system.
  • query.max-memory-per-node: It is similar to query-memory-gb, but query-memory-gb is enforced by memory arbitrator.
Integer 100G

resources_limits_memory

Y

prestissimo_worker_resources_requests_cpu

The CPU resource requests for each Presto (C++) worker replica. This value specifies the desired amount of CPU resources for each worker.
Note: The value of prestissimo_worker_resources_requests_cpu must be less than or equal to the value of prestissimo_worker_resources_limits_cpu.
Integer 12

resources_requests_cpu

Y

prestissimo_worker_resources_requests_memory

The memory resource requests for each Presto (C++) worker replica. This value specifies the desired amount of memory for each worker. Integer 100G

resources_requests_memory

Y

prestissimo_worker_memory

The amount of memory that is allocated to each Presto (C++) worker replica. This memory is used for query processing and other operations. (The base unit of prestissimo_worker_memory is GB.) Integer 70

memory

Y
prestissimo_worker_httpserver_max_request_header_size This property is used to set the maximum size of the request header that http supports. Data size 16kB httpserver.max_request_header_size  
prestissimo_worker_httpserver_max_response_header_size This property is used to set the maximum size of the response header that http supports. Data size 16kB httpserver.max_response_header_size  
prestissimo_worker_query_max_memory_per_node The maximum amount of user memory that a query can use on a worker. Units of bytes   query.max-memory-per-node  
prestissimo_worker_system_memory_gb This property refers to the memory given to the Presto (C++) engine under the Presto (C++) worker pod. Units of bytes   system-memory-gb  
prestissimo_worker_query_memory_gb This property refers to the total memory assigned to query execution for Presto (C++) worker engine. Units of bytes   query-memory-gb  
prestissimo_worker_async_data_cache_enabled This property when enabled prefetches data splits during table scans. Boolean   async-data-cache-enabled  
prestissimo_worker_task_max_drivers_per_task This property help to specify the maximum number of drivers a task can run concurrently. Integer   task.max-drivers-per-task  
prestissimo_worker_max_split_preload_per_driver This parameter refers to the maximum number of task splits that can be preloaded into memory per driver. Setting this parameter to a value greater than 0 enables the preloading, while setting it to 0 disables the preloading. Integer   max_split_preload_per_driver  
prestissimo_worker_resources_limits_ephemeral_storage This parameter sets the maximum amount of local ephemeral storage that a container in a Presto (C++) singlenode pod can consume. Units of bytes small: 10G; small_mincpureq: 10G; medium: 10G; large: 10G; xlarge: 10G; xxlarge: 10G resources.limits.ephemeral-storage No
prestissimo_worker_resources_requests_ephemeral_storage This parameter sets the minimum or guaranteed size of local ephemeral storage for a container in a Presto (C++) singlenode pod. Units of bytes small: 1G; small_mincpureq: 1G; medium: 1G; large: 1G; xlarge: 1G; xxlarge: 1G resources.request.ephemeral-storage No

For more information about how to customize the Presto properties, see Customization.