Service Instances
At the Intel® QuickAssist Technology API, we abstract queue pairs using the concept of service instances.
To use a service, an application must first get a handle to a service instance.
Corresponds to one or more queue pairs:
Data compression instance contains 1 queue pair.
Cryptographic instance:
QAT Gen2: contains 2 queue pairs, one for each sub-service of crypto (symmetric crypto, public key crypto).
QAT Gen4: crypto instances can be specified as either sym (symmetric) or asym (asymmetric) cryptography and contain 1 queue pair.
Configurable Items (via config file)
Queue depth (for each queue).
Number of service instances per process for a given device (limited by available rings), for example:
One per address space (e.g. user space processes).
One per software or hardware thread (logical core), to avoid contention.
Number of queue pairs per service, per bundle/VF, will be configurable in future.