This section presents the performance benchmarks for all supported versions of . For those versions no longer supported, see the documentation for the relevant version.
Benchmark methodology
The following results were gathered on the FRTB 4.0.0 release. This section explains how the benchmark results were gathered.Benchmark results overview
The benchmark results are displayed in tables with two axes; Cores and Dataset Size. This indicates what size machine and what size dataset the tests were run on. Each cell of these tables represents an individual performance test. Each Approach (ex: IMA-DRC) was run independently.Performance test procedure
The performance test was run many times on multiple Azure machines to generate the Benchmark results. Each iteration of the performance test did the following:- Create a new Azure VM with a specific number of CPUs
- Load the approach’s dataset onto the Azure VM
- Load the FRTB 4.0 Accelerator docker image onto the Azure VM
- Start the FRTB 4.0 Accelerator
- Run Queries
- Approach (IMA-DRC, IMA-ES, SA-DRC, SA-SBM)
- Number of CPUs: (16, 32, 64)
- Dataset Size: (Small, Medium, Large)
Creating the Azure instance
Each iteration of the performance test was run on a new, clean Azure VM running Linux with a specific number of CPUs. For these tests the Azure EdsV5 Virtual Machines were used. For more information, see EdsV5 VMs on Azure’s details page. The following machines were allocated with the stated docker images:Azure VM allocations:
Docker container CPU limit:
Large VMs are allocated and the CPUs the Docker Image can use are then limited. This is done because the Azure instances for smaller VMs do not have enough memory for these tests. The tests need enough memory overhead so the JVM is not forced to perform many Garbage Collections.
Datasets
Each approach has its own three datasets, one for each size (Small, Medium, Large). This allows control over how much data is injected into the Cube. Having one dataset per approach provides the following benefits:- Ensure that only the necessary data for that approach and the approach’s queries is loaded
- Tailor the datasets to maximize the number of locations the queries have to aggregate
- Generate more accurate memory statistics.
- /configuration/*
- /date/General/*
- /date/DRC/*
- /historical/fx-data/*
- /historical/drc-summary/*