41.1.4 Tuning Application Multiprocessing

Tuning for optimal application multiprocessing settings is an exercise similar to tuning a database. It involves experimenting with different settings under different load conditions.

Database Bound versus Engine Bound Jobs

OFSAA jobs fall into the following two categories:

  • Database bound: The jobs that spend more time within databasemanipulations.
  • Engine bound: The jobs whose calculations are complex, with the time spent withdatabase operations being small compared to the amount of time doing calculations.

The following table lists jobs by Application and identifies whether the job is usually database bound or Engine bound.

Table 41-6 Lists jobs by Application and identifies

Application

Job Type

Generic Job Type

Engine / DB

Bound

Multiprocessing Enabled

Comments

Funds Transfer Pricing Ledger Migration Bulk DB Yes
Funds Transfer Pricing Bulk Transfer Pricing Bulk DB Yes Bulk methods defined via conditional assumptions will be handled row by row
Funds Transfer Pricing Non-Cash Flow Transfer Pricing Row by Row DB Yes
Funds Transfer Pricing Cash Flow Transfer Pricing Row by Row Engine Yes
Funds Transfer Pricing

LEDGER

Migration

Row by Row DB Yes
Asset | Liability Management Detail Processing (Current position, Gap, Market Value) Row by Row Engine Yes All processing except Formula Results and Auto Balancing
Asset | Liability Management Formula Results Row by Row Engine No
Asset | Liability Management Auto Balancing Row by Row Engine No

The scalability of database-bound jobs is largely determined by the size of the database server. The scalability of Engine bound jobs is determined by the size of the application server.

Tuning OFSAA processes from the Application Layer

Despite the many multiprocessing options, tuning the OFSAA database from the application layer is achieved by the following process:

  • Identify the OFSAA job types that are used by yourorganization.
  • For each job type, time the runs for a series of Number of Processessettings
  • Based on the results, determine the optimal setting per application.