FOREST Procedure
Determining the Number of Parallel Evaluations
The number of parallel fold evaluations is determined by the following two-step process:
-
The number of worker nodes to use in parallel subsessions is determined as follows:
If you specify a value greater than 0 in the NSUBSESSIONWORKERS= option to indicate the number of workers to use in parallel subsessions, then that value is used for each subsession.
If you do not specify a value in the NSUBSESSIONWORKERS= option, or if you specify a value of 0, then the number of workers for each subsession is the same as the number of workers that are used in the parent session. If the number of workers that are used in the parent session times the number of folds is greater than the number of workers available on the server, then the number of workers for each subsession is reduced to the number of workers on the server divided by the number of folds. The number of workers in each subsession is then increased if necessary, according to the size of the data table, as follows: NSUBSESSIONWORKERS= 1+Number of Observations*Number of Columns / 50,000,000 (the number of worker nodes in each subsession is at least one node per 50 million values).
-
The number of parallel evaluations is then limited by the server configuration as follows:
In single-machine mode, if the number of folds is greater than 16, then the number of parallel evaluations is limited to 16. Otherwise, the number of parallel evaluations is equal to the number of folds.
In distributed mode, the upper limit for the number of parallel evaluations is calculated as 2*W/n, where W is the number of workers that are connected to the server and n is the number of workers in the parallel subsessions.