Enhance document processing with multicore support

Nutrient Document Automation Server (DAS) — previously known as Autobahn DX — is available as a single core, four cores, or multiples of four cores. This allows Nutrient DAS to take full advantage of the number of cores available on a computer.

The current version of Nutrient DAS can be licensed for up to 64 cores. This allows the simultaneous processing of up to 64 files in parallel, thereby reducing the time needed to execute a job. Below is a chart showing the number of pages converted from TIFFs to PDF per minute.

Pages per minute

Using multiple cores in a job

More than one core is available on most job step types, but the improvement may not be significant on fast job steps, like merging and splitting TIFFs and PDFs.

Where the use of more than one core would be significant, the number of cores to be used in the step can be set via the Maximum Cores property in the step properties section, as shown below.

Conversion Settings

Maximum number of cores allowed

The maximum number of cores that can be used by Nutrient DAS is limited to the smaller of:

  • The number of cores licensed.

  • The number of logical processors (not physical cores) in the CPU.

It’s worth noting that setting this value to the number of cores on your system may cause 100 percent usage of CPU resources by the process. This will have an effect on any other process running on the system.

The Max Available option allows .NET to decide the best number of processors to be used.

Multicore throttling

Your license key will support a specific number of CPU cores. Nutrient DAS will limit the number of concurrent file processing operations to this number and will “throttle” jobs accordingly.

For example, if a 4-core licensed server is running a 2-core job and a new job that’s configured for 4 cores starts, the number of cores allocated to the second job will be reduced accordingly, from 4 to the 2 allowed.

As another example, if a 4-core licensed server is running a 4-core job and a new job that’s configured for 2 cores starts, then the second job won’t be able to start until the cores are freed up. We’ll attempt to start the job 18 time(s) over the next 180 seconds.

The retry interval and number of tries is determined by the following two configuration file settings in the Autobahn.config file — by default, this file is in C:\Aquaforest\Autobahn DX\config:

\<add key="jobqueuetimeout" value="180" /\>

\<add key="jobqueueinterval" value="10"/\>

Command-line interface

Nutrient DAS command-line interface can also set the number of cores to use. The /maxcores=x parameter can be used to set the number of cores to use to x:

autobahndx.exe /operation=[operation name] /source=[tiff file or folder] /output=[output file] /target=[target folder] [/option=value]…
Example
Generate searchable PDF files from image PDF files found in a folder and subfolders, while keeping the original file names (using 4 processors).
autobahndx.exe /source=c:\in\folder /sourcetype=tree /target=c:\out /output=%FILENAME /outputtype=pdf operation=ocrimagepdf /ocrengine=1 /maxcores=4

To set the number of cores to use, add the parameter listed below with the number of cores:

Parameter Notes
/maxcores An integer representing the number of cores needed.