Parallelization
The parallel processing of events is performed by the Server Scheduler automatically, when the following circumstances are met:
-
One of the following circumstances is true:
-
The batch ready for processing contains more than one document.
-
A document in the batch contains more than one page that contains recognition results.
-
More than one batch for the same project is ready for processing.
-
-
Additionally, if there are cores not currently in use and the current project has no batches ready for processing, but there are batches ready for processing from another project, the Server Scheduler is able to start processing the second project while ending the processing of the original batch in parallel. You need to configure the Server Scheduler to set the Automatic start of batch processing setting in the Service Configuration tool.
-
The server contains at least two cores and the Server Scheduler is configured to use more than one core.
-
Enough memory is available and the Server Scheduler has not reached the usage-limit set in the configuration.
Parallel processing is performed at three different task levels:
-
Page level - if there is at least one page selected for recognition in the document.
-
Document level - if there is at least one document ready to process in a batch
-
Batch level, if there is at least one batch ready to process for the same project, or if any cores are currently free and some batches are ready for process for a second project. In this case some cores are used to finish processing batches from the first project and others begin to process the batches from the second project.
For more information about parallel batch processing, see the Configuration Guide - Processing With Server - Multiprocessor Support and Parallel Processing.
The following example displays the fired events and their order and timings in a scenario where two batches related to the same project are processed in parallel on a machine with four cores. In this scenario, we assume that batch A is ready to be processed by the Server just before batch B.
