Parallel Processing preferences

The parallel processing preferences (previously referred to as Scheduling preferences, prior to 2019.2) page provides the means to control precisely how the PReS Connect and Connect Server (Master or Slave) handles jobs that operate in parallel.

There is considerable difference between the preferences that are available in the Designer Parallel Processing page and the Server Configuration Parallel Processing page.

For additional information on how these preferences can enhance performance, see Engine configuration and Performance considerations.

Parallel Processing properties (Designer Preferences)

Preset selection (Designer Preferences)

Only the Custom setting is applicable to the Designer Preferences, so this option is always selected and the field made read-only.

Content Creation Tab (Designer Preferences)

A Tab with data that relates solely to Content Creation.

The options are:

  • Total Merge engines configured read only display: This is a read only entry that shows the total number of Merge engines available. To change this value, you must update the Merge Engines in the Engines preferences page.
  • Multi tasking group:
    When starting a new Content Creation task, the task will immediately commence if there is a Merge engine available. How many Merge engines to use is based on the number of records in the input data.

    Select from the following options:
    • Optimize per task: This runs each task with as many Merge engines as needed (until engines are exhausted).
      Using this option means that Merge engines will not be reassigned when new tasks come in.

      This option is better suited for batch processing.
    • Maximize simultaneous tasks: Merge engines will be reassigned from a running task to new tasks when they arrive.
      To accommodate as many tasks as possible, the server can dynamically reassign Merge engines to new tasks as they arrive. Thus a running Content Creation task need not block other tasks.
      If multiple Merge engines are processing a task, an engine can be taken from that task and reassigned to a new task.
      As each task finishes, any freed up Merge engines get re-assigned back to still running tasks, if no new tasks were waiting.

      This option is better for on demand (ad hoc) and simultaneous job processing.
    • Additional engine every (records) entry: This controls how many Merge engines are used for a Content Creation task. It means that for every additional 'x' records in the task, an additional Merge engine will be used.
      For example, with the default 100 record threshold, tasks with 1-100 records will be assigned 1 Merge engine, tasks with 101-200 get assigned 2 merge engines, tasks with 201-300 get assigned 3 merge engines, and so on.
      These entries aren't applied instantaneously. There is often a lag. That is why you can reserve a specific number of engines for new jobs, in the options below. Those reservations operate in real time.
      The default of 100 records was chosen purely because it is an easily multiplied number, not because it has been proven to have any significant value. It means that on an average system (i.e., less than 10 Merge engines) any decently sized task is allowed to use all Merge engines. It also assumes that using more than one Merge engine for less than 100 records will probably not make a big enough difference to throughput speed. Obviously, there are situations where these assumptions will not apply.
      Currently, it’s only the print and PDF content creation tasks that use multiple Merge engines.

Parallel Processing properties (Server Configuration)

These are the options that you will be presented with if the PReS Connect Connect Server was installed.

Whether options are available for selection on this page or not is entirely dependent upon the Number of engines selection made in the Engines preferences page. If either of the Merge Engines or Weaver Engines were set to a value beyond one, then options will become available in this Parallel Processing properties page.

Preset selection (Server Configuration)

Choose from some common usage scenarios. The preset scenarios are:

  • Default - Basic settings that are good for running most things. Single jobs have preference over multi-tasking, however.
  • Batch Print - Best settings for processing jobs, one by one, in a sequential, first in first out (FIFO) order.
  • On demand Print - Best settings for processing many small print jobs simultaneously.
  • On demand - Use when serving web pages, sending emails, and printing many on demand jobs simultaneously.
  • Connect Send - Settings optimized for use with Connect Send.
    Connect Send needs a Merge engine available for on demand web pages, to be able to process on demand print jobs (especially content creation), and have a Weaver engine available for creating the production output.
  • Capture on the Go - Settings optimized for use with Capture on the Go applications.
    Capture on the Go needs on demand content creation for web pages (the forms), emails (notifications), and PDFs (persistent version of forms).
  • Custom - where you can chose exactly where and how the engines are to be assigned.
    We would recommend basing any Custom settings on one of the preset scenarios.
    Select the preset that most closely matches your day to day needs, then tweak those settings.

Only the Custom setting allows you to manually set where and how the engines are to be assigned. If selected, then options for Content Creation and Output Creation will become available under the two Tabs named thus.

Content Creation Tab (Server Configuration)

A Tab with data that relates solely to Content Creation.

The options are:

  • Total Merge engines configured read only display: This is a read only entry that shows the total number of Merge engines available. To change this value, you must update the Merge Engines in the Engines preferences page.
  • Multi tasking group:
    When starting a new Content Creation task, the task will immediately commence if there is a Merge engine available. How many Merge engines to use is based on the number of records in the input data.

    Select from the following options:
    • Optimize per task: This runs each task with as many Merge engines as needed (until engines are exhausted).
      Using this option means that Merge engines will not be reassigned when new tasks come in.

      This option is better suited for batch processing.
    • Maximize simultaneous tasks: Merge engines will be reassigned from a running task to new tasks when they arrive.
      To accommodate as many tasks as possible, the server can dynamically reassign Merge engines to new tasks as they arrive. Thus a running Content Creation task need not block other tasks.
      If multiple Merge engines are processing a task, an engine can be taken from that task and reassigned to a new task.
      As each task finishes, any freed up Merge engines get re-assigned back to still running tasks, if no new tasks were waiting.

      This option is better for on demand (ad hoc) and simultaneous job processing.
    • Additional engine every (records) entry: This controls how many Merge engines are used for a Content Creation task. It means that for every additional 'x' records in the task, an additional Merge engine will be used.
      For example, with the default 100 record threshold, tasks with 1-100 records will be assigned 1 Merge engine, tasks with 101-200 get assigned 2 merge engines, tasks with 201-300 get assigned 3 merge engines, and so on.
      These entries aren't applied instantaneously. There is often a lag. That is why you can reserve a specific number of engines for new jobs, in the options below. Those reservations operate in real time.
      The default of 100 records was chosen purely because it is an easily multiplied number, not because it has been proven to have any significant value. It means that on an average system (i.e., less than 10 Merge engines) any decently sized task is allowed to use all Merge engines. It also assumes that using more than one Merge engine for less than 100 records will probably not make a big enough difference to throughput speed. Obviously, there are situations where these assumptions will not apply.
      Currently, it’s only the print and PDF content creation tasks that use multiple Merge engines.
  • Reserve engines for on demand tasks group checkbox:
    Reassigning engines is not instantaneous when a new task arrives. To avoid inefficiencies, Merge engines will first finish work on their current selection of records, before being reassigned. Reserving engines better ensures that on demand tasks get picked up right away, but it also means that less engines will be available for large tasks.

    The total amount of Merge Engines available for selection here must be set in the Engines preferences page.

    Select from the following options:
    • Email (engines): Set the amount of Merge engines to reserve for Email jobs.
    • Web (engines): Set the amount of Merge engines to reserve for Web based jobs.
    • Print and PDF (engines): Set the amount of Merge engines to reserve for Print output jobs.
    • Merge engines available for any task: A read only value that shows how many Merge engines remain available for selection.
    • On demand task size limit (records): An on demand task is a task that has someone (or something) waiting for it to finish, so these typically need to finish “as soon as possible”. Often these are single documents but not necessarily always.
      This option allows you to designate what a Content Creation on demand task is, based upon the number of records.

Output Creation Tab (Server Configuration)

A Tab with data that relates solely to job Output Creation.

If only the single Weaver Engine is configured in the Engines preferences page, then this whole tab will be disabled.

  • Licensed speed limit (pages per minute): This read only entry shows the current license speed limitations, in pages per minute. The speed limitations are determined by your Connect license.
    This information is to help you choose what settings would make sense when assigning the “Target speed” values later in the Tab.
  • Licensed tasks limit: This read only entry shows the current license task (or job) limitations.
    The terms "job" and "task" can be used interchangeably.
  • Total Weaver engines configured: This read only entry shows the total number of Weaver engines available. To change this value, you must update the amount of Weaver Engines in the Engines preferences page.

Job sizes group:
These two settings allow you to define what type of jobs are to be considered Small jobs and what types are to be considered Large. Any job that falls between these two settings (if there is a gap between the two) will be considered a Medium job.

  • Small job max (pages): Enter the maximum number of pages a job can have and still be considered Small.
  • Large job max (pages): Enter the minimum number of pages a job must have before it is considered to be a Large job.

Reserved engines group:
These settings allow you to reserve some Weaver (Output) engines for small and medium Output Creation tasks. This it to prevent large jobs from using all available engines and blocking small or medium jobs from running. Since Weaver engines cannot switch tasks, such behaviour can only be achieved through reserving engines for small and/or medium jobs.

Engines may be reserved both for small, and for medium sized jobs. Engine reservations are not required for either though.

  • Small job (engines): Optionally enter the number of Weaver engines you wish to reserve for Small jobs.
    To make sure large batch jobs get sufficient speed during Output Creation, set a lower target speed for small jobs, this will automatically allow more for the large and medium jobs.
  • Medium job (engines): Optionally enter the number of Weaver engines to reserve for Medium jobs.
  • Total Weaver engines configured: This read only entry shows the number of Weaver engines still available. This is the Total engine count, minus the number of engines assigned to both Small and Medium jobs.
    To change this value, you must update the total amount of Weaver Engines in the Engines preferences page.

Target speed when running simultaneous jobs group:
If a single Output Creation task is running, it will be run at the full speed in the license. But when multiple tasks run in parallel, this speed has to be divided between them. By default, the maximum speed will be divided equally between tasks.

Use these settings to override what speed (in Pages Per Minute) should apply for each type of job. This allows you to prioritize one or more type of job above the others. For example, if your production process normally handles lots of small jobs, you might want to provide the smaller jobs greater speed (throughput) than the less frequent Medium and Large jobs.

But if there are so many small jobs that they start limiting the throughput of larger jobs? If there is always at least one small job running, then the maximum speed for the larger job will stay at half of the licensed limit. In this case, you might want to increase the target speed for Large jobs.

There are no hard and fast answers as to what settings will work best. It will likely be a matter of trial and error. But many sites will not need to change speed settings at all.

The options are:

  • Small job (PPM): Enter the target speed for Small jobs, in Pages Per Minute (PPM).
  • Medium job (PPM): Enter the target speed for Medium jobs, in Pages Per Minute (PPM).
  • Large job (PPM): Enter the target speed for Large jobs, in Pages Per Minute (PPM)

The entire licensed speed limit will always be distributed among jobs when running jobs simultaneously.

After assigning a target speed, any remaining licensed speed will be distributed throughout any simultaneous jobs by a ration of the target speed.

Some general rules of thumb to apply when distributing target speed:

  • Do you need to change speeds? In many cases there will likely be no need to change the target speed.
  • The target speed is not a guaranteed actual speed, but a speed limit that the engine is allowed to exceed in order to utilize the licensed speed.
  • When changing the target speed, don’t be overly precise, you are unlikely to get that exact value anyway. It will likely be a matter of trial and error.
  • As long as you don’t overdo it, the actual speed limit for a task will usually be higher than the target speed.
  • If there is a chance of not getting the target speed, you will see a warning in the preference page. This is just a warning, and nothing will break if you choose to ignore it.

Buttons

The Parallel Processing preferences also provides you with buttons to :

  • Restore Defaults. This option restores the preferences to Defaults. This applies to the current Preferences page only, but not other Preferences.
  • Apply: This option applies the settings made within the current Preferences page, but does not close the Preferences dialog.