Multi-threaded optimization
You can enable multi-threaded optimization to improve the performance of Optimize, that is, shorten the amount of time it takes to run an Optimize session.
To enable multi-threaded optimization, set the EnableMultithreading configuration property to true.
*
Enabling multi-threaded optimization might significantly improve Optimize performance. The amount of performance improvement is dependent on many factors including:
*
*
*
*
The maximum degree of parallelism achievable is governed by the non-parallel portions of processing and differs from Optimize session to Optimize session.
In general, use the following guidelines.
*
A significant portion of an optimization session run includes the following steps:
1.
2.
3.
4.
5.
Multi-threaded optimization does not affect these processes, which run serially. To improve the performance of reading the PCT and writing the OCT, consider using a database load utility and optimizing your database configuration.
*
Optimize uses multi-threaded optimization most when processing the algorithms which implement cross-customer rules.
*
You define the number of threads processing the cross-customer rules with the MaxCustomerSampleProcessingThreads configuration property. You might need to tune your system to find the optimal value of this setting based on your available RAM and hardware performance characteristics.
*
You might be able to run more threads in parallel if you have a smaller CustomerSampleSize because the RAM utilization per thread goes down. However, decreasing this value also decreases the amount of time required to process a chunk. This configuration also decreases the ration between chunk processing and preprocessing, causing the latter to become a bottleneck sooner.
*
You define the number of threads reading data from a sample of customers with the ProcessingThreadQueueSize configuration property. You define the number of threads writing data to a staging table with the PostProcessingThreadQueueSize configuration property.
For more details about tuning multi-threaded optimization for your specific Optimize implementation, contact your IBM® Unica® representative.