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.