The P3 process is part of the VMX-Capture architecture. It is called P3 because it performs three functions: pre filtering, pre correlation, and pre aggregation.

P3 in the context of overall Configuration

The P3 process can take the output from different stack probes and can combine them. The output which P3 produces can be sent to VMX-Analysis, or can be sent to a downstream system using the Core Data Feed.

The P3 process can perform any or all of the following three functions:

P3 Pre Filtering

Pre Filtering can be used to dynamically filter the output of one probe using input from another probe. An example might be where a beacon published market data IDs which need to be forwarded to VMX-Analysis for further analysis; market data messages with IDs that didn’t match an ID from the beacon would be ignored. This can be used effectively in situations where complex or dynamic filtering logic is required.

P3 Pre Correlation

The P3 pre correlation mechanism allows simple correlation across a network hop e.g. correlation between two sides of a firewall that is applying Network Address Translation.

P3 Pre Aggregation

P3 pre aggregation differs from the pre aggregation within a stack. P3 pre aggregation can be used in situations where there is an exceptionally high volume of messages. The message load can be split between multiple stack probes, and these probe outputs can then be split between multiple P3 processes. P3 can then rollup buckets of distribution to VMX-Analysis to get effective HDR distributions for high message volume calculations.

The P3 process is sometimes referred to as the ‘passive latency’ process. This was an earlier name for the process, when it was only used to perform pre correlation functions.