Multi-Tasking 2: Parallel Processing Presets

Multi-Tasking 1: Engines

Multi-Tasking 1: Engines

The OL Connect Server can handle a lot of requests at the same time. To make it seamless and smooth, it delegates tasks to dedicated engines. Sometimes, however, output may not be created as fast as expected. If you have confirmed that the engine setup matches the capabilities of your hardware and that the maximum licensed speed has not been reached, then the way the engines work in parallel may be the bottleneck. This article describes how to tweak the parallel processing settings.

This how-to is part of a series. It is assumed that you have read the previous how-to in this series: Multi-Tasking 1: Engines, about the engine setup.

Whilst the engine setup determines how many engines are launched for each type of task, it does not impact how the OL Connect Server divides tasks between them when it gets multiple requests at the same time. This determination is made through the Parallel Processing settings. You can see these settings in the Connect Server Configuration tool on the Parallel Processing tab.

In a new installation, the Parallel Processing settings are set to Default. As explained in the previous how-to, this makes the server handle jobs in a first-in, first-out (FIFO) order without reserving engines for any type of task. This is a good match when all tasks are rather small, or when processing similarly sized print jobs.


When (not) to change the settings

So when can you expect to have to change the Parallel Processing settings? The best advice is not to change them unless you know you need to.

If you are unsure whether your situation requires changing the Parallel Processing settings, keep them at default and have the system run like that for a while. Meanwhile you could optimize the templates themselves, the automation processes, and the engine setup.

Be aware that even with the maximum number of engines and the ideal parallel processing settings, some tasks will still take more time than you might expect based on their size. There could be a number of reasons for that, such as scripts in the template or the preprocessing of data files. Please take the time to optimize the template and test the scripts for speed. You can find instructions on how to do this in the online help.

Mixed job load

The Parallel Processing settings only need to be changed in situations where multiple tasks run in parallel with specific requirements on how they should be handled. The best indicator of this is a mixed job load. For example:

  • Multiple output types: print, web, and e-mail.
  • A mix of small and large print jobs.
  • Jobs that can wait and “on-demand” jobs.

On-demand jobs are jobs that must be taken care of right away because someone or something is waiting for the output. For example, if someone in an office prints a few pages, that is an on-demand job: they should not have to wait for Connect to finish a larger print job. Web pages are also typically on-demand jobs, whereas a batch of emails can usually wait for a bit.

Under the default settings, on-demand jobs are not taken into account. If a large job is being handled by all merge or output engines, on-demand jobs simply must wait. So, having on-demand jobs mixed with jobs that can wait is a strong indicator that you may have to change the settings.

(The difference between merge and output engines is explained in the previous article in this series: Multi-Tasking 1: Engines.)

Presets for standard use cases

To make it easier to choose the right settings for parallel processing, a series of presets are provided. These presets cover some common scenarios as well as applications of the OL Connect add-ons Capture OnTheGo and OL Connect Send. Note that the terms Output Engine and Weaver Engine are equivalent.

You may find one of them to be the perfect match for your production environment, but if not, then one of them might still be a good starting point for further tweaking.

The presets you can choose from are as follows:

  • Batch Print. This is the same as Default, actually. It is best for processing jobs one by one in a first-in first-out order.
  • On-demand Print: Best for processing many small print jobs simultaneously. For example in an office where individual documents are sent directly to a printer.
    Tip: Add an output engine if the single output engine cannot keep up with the merge engines.
  • On-demand: Best when serving web pages, sending emails, and printing many simultaneous on-demand jobs.
  • Connect Send: This preset works best with OL Connect Send, which mostly produces on-demand web pages and on-demand print jobs.
  • Capture OnTheGo: Works best with Capture OnTheGo (COTG). COTG provides on-demand web pages (the forms), emails (notifications), and PDFs (the stored print version of a form).

How presets differ

At first glance, presets may appear to show only minor differences, but these can have a huge impact.

Reserved merge engines

An important difference between presets is what type of jobs they reserve merge engines for.

The Default and Batch print presets do not prioritize any type of job by reserving merge engines for them. It is first-in, first-out.
The On-demand Print preset only reserves merge engines for print jobs. Web and email tasks may have to wait.
The Connect Send preset reserves merge engines for web and print tasks. These are the most common tasks in Connect Send processes and they should be handled as soon as possible. Email tasks may have to wait.
The On-demand preset reserves an equal number of merge engines for each type of output, which means that one type of output can never totally block the other types of output.
The Capture OnTheGo preset is similar to the On-demand one but with different reservation values, since Capture OnTheGo always needs some merge engines ready to create web forms, email notifications and PDFs.

Multi tasking

In regards to content creation, a preset also determines whether a print task should be completed with the maximum number of merge engines (‘Optimize per task’), or whether merge engines may be borrowed from the currently running task when a new task arrives (“Maximize simultaneous tasks“).

Both On-demand presets maximize simultaneous tasks. All other presets choose optimization per task.

Reserved output engines

When it comes to Output Creation – i.e. print output – settings, the differences between presets only become apparent when there is more than one output engine. The On-demand, On-demand Print and Connect Send presets reserve all but one of the output engines for small print jobs, so that larger print jobs cannot totally block the small ones
The other presets do not reserve any output engines.

Custom settings

Start by choosing a preset that most resembles your use case. The settings take effect as soon as you press Apply, there is no need to restart the OL Connect Server. Let the system run for a while to determine whether or not the preset change has the desired effect.

If it does not, or if no preset is provided for your use case (such as if you have a mix of on-demand and batch print jobs) you may need to create custom settings for parallel processing. The custom settings are the subject of the next articles in this series, so keep a look out for those!

Tagged in: Engine, Multi-tasking, Parallel, Preset