SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Joel Auernheimer, Application Engineer, Communications Infrastructure Division
Agenda
 QAT: Overview
 QAT: Applications
 QAT: Call to Action
 Questions and advanced topics
Intel®QAT:Overview
Intel® QuickAssist Technology Overview
QAT provides security (encryption) HW acceleration and compression HW
acceleration
QAT makes use of a set of APIs to abstract out the hardware, so the same
application can run on multiple generations of QAT hardware
Customers can also make use of patches that we have provided to popular
open source software, so they can minimize or eliminate their effort to learn the
API
Supported Hardware
 Intel® Communications Chipset 89xx series (formerly known as Cave Creek and Coleto Creek)
(PCH+QAT or QAT endpoint only), plus add-in cards (QAT1.5 and QAT1.6)
 Intel® Atom™ Processor C2000 Product Family for Communications Infrastructure (SoC)
(QAT1.5)
 Intel® C62x Chipset, plus add-in cards (QAT1.7)
 Intel® Atom™ Processor C3000 Product Family (QAT1.7)
 Intel® Xeon® Processor D Family (QAT1.7)
 And more
 More information (including performance numbers) is available in the product briefs on
ark.intel.com
 https://networkbuilders.intel.com/blog/securing-networks-billions-of-things-exabytes-of-
data-with-100-gbps-of-performance
Getting Started with QAT
Follow our “Quick Start Guide” at https://01.org/intel-quickassist-technology
 Step 1: Get QAT hardware
 Step 2: Get acquainted with the available resources
– Intel® QuickAssist Technology Main - www.intel.com/quickassist
– Intel® QuickAssist Technology 01.org Technical Collateral & Applications -
https://01.org/intel-quickassist-technology
– To Learn how to use Intel® QuickAssist Technology and run example code, review our
tutorial videos on Intel Developer Zone –Intel® QuickAssist Technology Technical Getting
Started Tutorials - https://software.intel.com/en-us/networking/quickassist
 Step 3: Follow our Getting Started Guide
– Find the correct Getting Started Guide:
– For released products: https://01.org/intel-quickassist-technology
– Follow the instructions to install the QAT software and run the performance sample code
Offloading to QAT frees up CPU cores!
QAT endpoints show up as a PCIe Device
Exposes request/response ring interface
User application allocates memory and puts input data (including payload,
keys...) in DRAM
QAT API is called
API handles DMA, etc
Poll or interrupt for result
Take advantage of QAT parallelism
QAT Algorithms
Symmetric cryptography functions include: cipher operations (AES, DES, 3DES,
ARC4); wireless (Kasumi, Snow 3G, ZUC (QAT1.7+)); hash/authenticate
operations (SHA-1, MD5; SHA-2 [SHA-224, SHA-256, SHA-384, SHA-512], SHA-
3 (QAT1.7+)); authentication (HMAC, AES-XCBC, AES-CCM); AES-XTS (QAT1.6+)
Public Key functions include: RSA operation; Diffie-Hellman operation; digital
signature standard operation; key derivation operation; elliptic curve
cryptography (ECDSA and ECDH); and prime number testing.
Compression/decompression includes: DEFLATE/INFLATE
Selected QAT Documentation
Using Intel® Virtualization Technology (Intel® VT) with Intel® QuickAssist
Technology Application Note
Using Intel® QuickAssist Technology in Linux Container and Docker
Intel® QuickAssist Technology API Programmer's Guide
Intel® QuickAssist Technology Cryptographic API Reference Manual
Intel® QuickAssist Technology Data Compression API Reference Manual
Intel® QuickAssist Technology - Performance Optimization Guide
Intel® QuickAssist Technology Software for Linux* - Programmer's Guide
Intel® QuickAssist Technology - Proof-Points
• F5 BIG-IP Solution Brief w/QuickAssist
- http://www.intel.com/content/www/us/en/data-center/xeon-e5-v3-f5-networks-scale-
performance-solution-brief.html
• IBM v7000Z w/QuickAssist:
- http://www.intel.com/content/www/us/en/storage/ibm-storwize-v7000-quick-assist-
technology-video.html
QAT:Applications
Intel® QuickAssist Technology Applications
OpenSSL, for asynchronous accelerators, with QAT_engine:
https://github.com/intel/QAT_Engine/
NGINX: https://github.com/intel/asynch_mode_nginx
HAProxy: http://www.haproxy.org/
QATzip: https://github.com/intel/QATzip
Hadoop (via QATzip)
DPDK cryptodev
DPDK Crypto Stack
 DPDK exposes symmetric crypto services
via the cryptodev API
– Supports software and hardware
(offload) implementations
– One stop shop for best of Intel crypto
on DPDK
– Provides Poll Mode Drivers for Intel®
QuickAssist Technology
 Upstreamed to DPDK.org
 Used by IPsec sample application
QAT PMD
cryptodev
cryptodev API
AES-NI PMD, …
ethdev
Ethernet PMD
ethdev API
Sample Application, e.g. IPsec
cryptodev producer APIethdev producer API
QAT driver (in-tree)
User Space
Kernel Space
CALL TO ACTION
Follow our “Quick Start Guide” at https://01.org/intel-quickassist-technology
 Step 1: Get QAT hardware
 Step 2: Get acquainted with the available resources
– Intel® QuickAssist Technology Main - www.intel.com/quickassist
– Intel® QuickAssist Technology 01.org Technical Collateral & Applications -
https://01.org/intel-quickassist-technology
– To Learn how to use Intel® QuickAssist Technology and run example code, review our
tutorial videos on Intel Developer Zone –Intel® QuickAssist Technology Technical Getting
Started Tutorials - https://software.intel.com/en-us/networking/quickassist
 Step 3: Follow our Getting Started Guide
– Find the correct Getting Started Guide:
– For released products: https://01.org/intel-quickassist-technology
– Follow the instructions to install the QAT software and run the performance sample code
Questions???
Knowledge Check and advanced topics
T/F: QAT is part of all CPUs?
Explain: QAT is a “black box”
Explain: QAT can operate in “endpoint-only mode”
Where is the QAT documentation?
What software works with QAT out of the box?
Where are the configuration files located? Why are configuration files needed?
Under what conditions might I see less than Intel’s best performance numbers for a
particular product?
How do I upgrade QAT firmware?
Knowledge Check and advanced topics (cont’d)
How do I show that QAT is working on a particular platform?
What Linux kernels are supported?
Operating System Support
Linux
• Fully validated on RHEL 7.x
• Smoke-tested on various versions of RHEL, CentOS, Fedora, SUSE, Ubuntu
FreeBSD 10, 11
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
– A data compression instance contains 1 queue pair
– By default, a cryptographic instance contains 2 queue pairs, one for each sub-service of crypto
(symmetric crypto, public key crypto)
Configurable Items (via config file)
 Queue depth (for each queue)
 Number of instances per 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
DMA-able Memory
Memory passed to Intel® QuickAssist Technology hardware must be DMA’able
 Physically contiguous (can also deal with SGLs)
 Physically addressed
– If VT-d is enabled (e.g. in virtualized system), then Intel IOMMU will translate to host physical addresses as needed
 Pinned (i.e. locked, guaranteed resident in physical memory)
Intel provides a User Space DMA-able Memory (USDM) component (kernel driver and corresponding user
space library) which
 Allocates/frees DMA-able memory, mapped to user space
 Performs virtual to physical address translation on memory allocated by this library
This component is used by the sample code supplied with the user space library.
Low Level APIs for Accessing Services
API When to use OS environments supported
Intel® QuickAssist
Technology
Traditional
• Original API, recommended for most cases
• Can be used to access all services and features
• Linux
• FreeBSD
Intel® QuickAssist
Technology Data
Plane
• Optimized for data plane applications (reduced
offload cost) by using physical addressing,
supporting batching and MMIO amortization, etc.
• Supports a subset of symmetric crypto and
compression
• Constraints: asynchronous only, polling only, not
thread-safe, no support for stateful operation
• Linux user space
• FreeBSD
DPDK cryptodev • For DPDK applications, e.g. IPsec
• Offers DPDK PMD-like semantics, e.g. buffers
passed as mbufs, batch submission, etc.
• Supports symmetric crypto only1
• DPDK
[1] May be extended for other services in future
Memory Buffer Types
Flat Buffers (defined in the file cpa.h)
 “Traditional” API: CpaFlatBuffer
– pData is a virtual address
 “Data Plane” API: CpaPhysFlatBuffer
– pData is a physical address
Buffer Lists (also defined in cpa.h)
 “Traditional” API: CpaBufferList
– pMetaData is allocated by user (first
call cpaCyBufferListGetMetaSize), and
populated by implementation to point
to a CpaPhysBufferList (used by Intel®
QuickAssist Technology device)
 “Data Plane” API: CpaPhysBufferList
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including OpenSSL, NGINX, and HAProxy

Más contenido relacionado

La actualidad más candente

Kvm and libvirt
Kvm and libvirtKvm and libvirt
Kvm and libvirtplarsen67
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VRISC-V International
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep diveWinton Winton
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016Brendan Gregg
 
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals哲豪 康哲豪
 
Nick Fisk - low latency Ceph
Nick Fisk - low latency CephNick Fisk - low latency Ceph
Nick Fisk - low latency CephShapeBlue
 
Kubernetes
KubernetesKubernetes
Kuberneteserialc_w
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernelguest547d74
 
Library Operating System for Linux #netdev01
Library Operating System for Linux #netdev01Library Operating System for Linux #netdev01
Library Operating System for Linux #netdev01Hajime Tazaki
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...VirtualTech Japan Inc.
 
Deploy Application on Kubernetes
Deploy Application on KubernetesDeploy Application on Kubernetes
Deploy Application on KubernetesOpsta
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at NetflixBrendan Gregg
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能Kohei Tokunaga
 
Linux kernel tracing
Linux kernel tracingLinux kernel tracing
Linux kernel tracingViller Hsiao
 
Disk health prediction for Ceph
Disk health prediction for CephDisk health prediction for Ceph
Disk health prediction for CephCeph Community
 

La actualidad más candente (20)

Kvm and libvirt
Kvm and libvirtKvm and libvirt
Kvm and libvirt
 
OVS v OVS-DPDK
OVS v OVS-DPDKOVS v OVS-DPDK
OVS v OVS-DPDK
 
Ixgbe internals
Ixgbe internalsIxgbe internals
Ixgbe internals
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016
 
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 
Intel dpdk Tutorial
Intel dpdk TutorialIntel dpdk Tutorial
Intel dpdk Tutorial
 
Nick Fisk - low latency Ceph
Nick Fisk - low latency CephNick Fisk - low latency Ceph
Nick Fisk - low latency Ceph
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
Library Operating System for Linux #netdev01
Library Operating System for Linux #netdev01Library Operating System for Linux #netdev01
Library Operating System for Linux #netdev01
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 
Deploy Application on Kubernetes
Deploy Application on KubernetesDeploy Application on Kubernetes
Deploy Application on Kubernetes
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
DPDK In Depth
DPDK In DepthDPDK In Depth
DPDK In Depth
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
Linux kernel tracing
Linux kernel tracingLinux kernel tracing
Linux kernel tracing
 
Disk health prediction for Ceph
Disk health prediction for CephDisk health prediction for Ceph
Disk health prediction for Ceph
 

Similar a Intel® QuickAssist Technology Introduction, Applications, and Lab, Including OpenSSL, NGINX, and HAProxy

Cryptographic Hardware Support for the Linux Kernel - Netconf 2004
Cryptographic Hardware Support for the Linux Kernel - Netconf 2004Cryptographic Hardware Support for the Linux Kernel - Netconf 2004
Cryptographic Hardware Support for the Linux Kernel - Netconf 2004James Morris
 
Developing a Windows CE OAL.ppt
Developing a Windows CE OAL.pptDeveloping a Windows CE OAL.ppt
Developing a Windows CE OAL.pptKundanSingh887495
 
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...PT Datacomm Diangraha
 
QNAP for IoT
QNAP for IoTQNAP for IoT
QNAP for IoTqnapivan
 
Serie dei nuovi processori Xeon Scalabili - Yashi Italia
Serie dei nuovi processori Xeon Scalabili - Yashi ItaliaSerie dei nuovi processori Xeon Scalabili - Yashi Italia
Serie dei nuovi processori Xeon Scalabili - Yashi ItaliaYashi Italia
 
Using a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application PerformanceUsing a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application PerformanceOdinot Stanislas
 
intel Sync. & Edge Solution udpate xEng-v1.0.pptx
intel Sync. & Edge Solution udpate xEng-v1.0.pptxintel Sync. & Edge Solution udpate xEng-v1.0.pptx
intel Sync. & Edge Solution udpate xEng-v1.0.pptxAlex Wooram Kim
 
HiPEAC Computing Systems Week 2022_Mario Porrmann presentation
HiPEAC Computing Systems Week 2022_Mario Porrmann presentationHiPEAC Computing Systems Week 2022_Mario Porrmann presentation
HiPEAC Computing Systems Week 2022_Mario Porrmann presentationVEDLIoT Project
 
XPDDS17: How to Abstract Hardware Acceleration Device in Cloud Environment - ...
XPDDS17: How to Abstract Hardware Acceleration Device in Cloud Environment - ...XPDDS17: How to Abstract Hardware Acceleration Device in Cloud Environment - ...
XPDDS17: How to Abstract Hardware Acceleration Device in Cloud Environment - ...The Linux Foundation
 
BeRTOS: Free Embedded RTOS
BeRTOS: Free Embedded RTOSBeRTOS: Free Embedded RTOS
BeRTOS: Free Embedded RTOSDeveler S.r.l.
 
Small Is the New Big
Small Is the New BigSmall Is the New Big
Small Is the New BigDESMOND YUEN
 
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentorchiportal
 
G rpc talk with intel (3)
G rpc talk with intel (3)G rpc talk with intel (3)
G rpc talk with intel (3)Intel
 
DPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith WilesDPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith WilesJim St. Leger
 
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI ConvergenceDAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergenceinside-BigData.com
 

Similar a Intel® QuickAssist Technology Introduction, Applications, and Lab, Including OpenSSL, NGINX, and HAProxy (20)

No[1][1]
No[1][1]No[1][1]
No[1][1]
 
Cryptographic Hardware Support for the Linux Kernel - Netconf 2004
Cryptographic Hardware Support for the Linux Kernel - Netconf 2004Cryptographic Hardware Support for the Linux Kernel - Netconf 2004
Cryptographic Hardware Support for the Linux Kernel - Netconf 2004
 
Developing a Windows CE OAL.ppt
Developing a Windows CE OAL.pptDeveloping a Windows CE OAL.ppt
Developing a Windows CE OAL.ppt
 
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
 
Choosing the right processor
Choosing the right processorChoosing the right processor
Choosing the right processor
 
QNAP for IoT
QNAP for IoTQNAP for IoT
QNAP for IoT
 
Agnostic Device Drivers
Agnostic Device DriversAgnostic Device Drivers
Agnostic Device Drivers
 
iWave Systems Techologies Pvt Ltd: Products- Software BSPs
iWave Systems Techologies Pvt Ltd: Products- Software BSPsiWave Systems Techologies Pvt Ltd: Products- Software BSPs
iWave Systems Techologies Pvt Ltd: Products- Software BSPs
 
Serie dei nuovi processori Xeon Scalabili - Yashi Italia
Serie dei nuovi processori Xeon Scalabili - Yashi ItaliaSerie dei nuovi processori Xeon Scalabili - Yashi Italia
Serie dei nuovi processori Xeon Scalabili - Yashi Italia
 
Using a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application PerformanceUsing a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application Performance
 
intel Sync. & Edge Solution udpate xEng-v1.0.pptx
intel Sync. & Edge Solution udpate xEng-v1.0.pptxintel Sync. & Edge Solution udpate xEng-v1.0.pptx
intel Sync. & Edge Solution udpate xEng-v1.0.pptx
 
HiPEAC Computing Systems Week 2022_Mario Porrmann presentation
HiPEAC Computing Systems Week 2022_Mario Porrmann presentationHiPEAC Computing Systems Week 2022_Mario Porrmann presentation
HiPEAC Computing Systems Week 2022_Mario Porrmann presentation
 
XPDDS17: How to Abstract Hardware Acceleration Device in Cloud Environment - ...
XPDDS17: How to Abstract Hardware Acceleration Device in Cloud Environment - ...XPDDS17: How to Abstract Hardware Acceleration Device in Cloud Environment - ...
XPDDS17: How to Abstract Hardware Acceleration Device in Cloud Environment - ...
 
BeRTOS: Free Embedded RTOS
BeRTOS: Free Embedded RTOSBeRTOS: Free Embedded RTOS
BeRTOS: Free Embedded RTOS
 
Small Is the New Big
Small Is the New BigSmall Is the New Big
Small Is the New Big
 
Embedded Rust
Embedded RustEmbedded Rust
Embedded Rust
 
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentor
 
G rpc talk with intel (3)
G rpc talk with intel (3)G rpc talk with intel (3)
G rpc talk with intel (3)
 
DPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith WilesDPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith Wiles
 
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI ConvergenceDAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
 

Más de Michelle Holley

NFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkNFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkMichelle Holley
 
Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?Michelle Holley
 
5G and Open Reference Platforms
5G and Open Reference Platforms5G and Open Reference Platforms
5G and Open Reference PlatformsMichelle Holley
 
De-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and OpportunitiesDe-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and OpportunitiesMichelle Holley
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPEMichelle Holley
 
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesEnabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesMichelle Holley
 
Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption Michelle Holley
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Michelle Holley
 
OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)Michelle Holley
 
Tungsten Fabric Overview
Tungsten Fabric OverviewTungsten Fabric Overview
Tungsten Fabric OverviewMichelle Holley
 
Orchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple CloudsOrchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple CloudsMichelle Holley
 
Convergence of device and data at the Edge Cloud
Convergence of device and data at the Edge CloudConvergence of device and data at the Edge Cloud
Convergence of device and data at the Edge CloudMichelle Holley
 
Intel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem ProgramIntel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem ProgramMichelle Holley
 
Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...Michelle Holley
 
Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...Michelle Holley
 
Intel Powered AI Applications for Telco
Intel Powered AI Applications for TelcoIntel Powered AI Applications for Telco
Intel Powered AI Applications for TelcoMichelle Holley
 
Artificial Intelligence in the Network
Artificial Intelligence in the Network Artificial Intelligence in the Network
Artificial Intelligence in the Network Michelle Holley
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioMichelle Holley
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Michelle Holley
 
Making Networking Apps Scream on Windows with DPDK
Making Networking Apps Scream on Windows with DPDKMaking Networking Apps Scream on Windows with DPDK
Making Networking Apps Scream on Windows with DPDKMichelle Holley
 

Más de Michelle Holley (20)

NFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkNFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function Framework
 
Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?
 
5G and Open Reference Platforms
5G and Open Reference Platforms5G and Open Reference Platforms
5G and Open Reference Platforms
 
De-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and OpportunitiesDe-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPE
 
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesEnabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
 
Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)
 
Tungsten Fabric Overview
Tungsten Fabric OverviewTungsten Fabric Overview
Tungsten Fabric Overview
 
Orchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple CloudsOrchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple Clouds
 
Convergence of device and data at the Edge Cloud
Convergence of device and data at the Edge CloudConvergence of device and data at the Edge Cloud
Convergence of device and data at the Edge Cloud
 
Intel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem ProgramIntel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem Program
 
Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...
 
Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...
 
Intel Powered AI Applications for Telco
Intel Powered AI Applications for TelcoIntel Powered AI Applications for Telco
Intel Powered AI Applications for Telco
 
Artificial Intelligence in the Network
Artificial Intelligence in the Network Artificial Intelligence in the Network
Artificial Intelligence in the Network
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with Istio
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...
 
Making Networking Apps Scream on Windows with DPDK
Making Networking Apps Scream on Windows with DPDKMaking Networking Apps Scream on Windows with DPDK
Making Networking Apps Scream on Windows with DPDK
 

Último

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 

Último (20)

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 

Intel® QuickAssist Technology Introduction, Applications, and Lab, Including OpenSSL, NGINX, and HAProxy

  • 1. Joel Auernheimer, Application Engineer, Communications Infrastructure Division
  • 2. Agenda  QAT: Overview  QAT: Applications  QAT: Call to Action  Questions and advanced topics
  • 4. Intel® QuickAssist Technology Overview QAT provides security (encryption) HW acceleration and compression HW acceleration QAT makes use of a set of APIs to abstract out the hardware, so the same application can run on multiple generations of QAT hardware Customers can also make use of patches that we have provided to popular open source software, so they can minimize or eliminate their effort to learn the API
  • 5. Supported Hardware  Intel® Communications Chipset 89xx series (formerly known as Cave Creek and Coleto Creek) (PCH+QAT or QAT endpoint only), plus add-in cards (QAT1.5 and QAT1.6)  Intel® Atom™ Processor C2000 Product Family for Communications Infrastructure (SoC) (QAT1.5)  Intel® C62x Chipset, plus add-in cards (QAT1.7)  Intel® Atom™ Processor C3000 Product Family (QAT1.7)  Intel® Xeon® Processor D Family (QAT1.7)  And more  More information (including performance numbers) is available in the product briefs on ark.intel.com  https://networkbuilders.intel.com/blog/securing-networks-billions-of-things-exabytes-of- data-with-100-gbps-of-performance
  • 6. Getting Started with QAT Follow our “Quick Start Guide” at https://01.org/intel-quickassist-technology  Step 1: Get QAT hardware  Step 2: Get acquainted with the available resources – Intel® QuickAssist Technology Main - www.intel.com/quickassist – Intel® QuickAssist Technology 01.org Technical Collateral & Applications - https://01.org/intel-quickassist-technology – To Learn how to use Intel® QuickAssist Technology and run example code, review our tutorial videos on Intel Developer Zone –Intel® QuickAssist Technology Technical Getting Started Tutorials - https://software.intel.com/en-us/networking/quickassist  Step 3: Follow our Getting Started Guide – Find the correct Getting Started Guide: – For released products: https://01.org/intel-quickassist-technology – Follow the instructions to install the QAT software and run the performance sample code
  • 7. Offloading to QAT frees up CPU cores! QAT endpoints show up as a PCIe Device Exposes request/response ring interface User application allocates memory and puts input data (including payload, keys...) in DRAM QAT API is called API handles DMA, etc Poll or interrupt for result Take advantage of QAT parallelism
  • 8. QAT Algorithms Symmetric cryptography functions include: cipher operations (AES, DES, 3DES, ARC4); wireless (Kasumi, Snow 3G, ZUC (QAT1.7+)); hash/authenticate operations (SHA-1, MD5; SHA-2 [SHA-224, SHA-256, SHA-384, SHA-512], SHA- 3 (QAT1.7+)); authentication (HMAC, AES-XCBC, AES-CCM); AES-XTS (QAT1.6+) Public Key functions include: RSA operation; Diffie-Hellman operation; digital signature standard operation; key derivation operation; elliptic curve cryptography (ECDSA and ECDH); and prime number testing. Compression/decompression includes: DEFLATE/INFLATE
  • 9. Selected QAT Documentation Using Intel® Virtualization Technology (Intel® VT) with Intel® QuickAssist Technology Application Note Using Intel® QuickAssist Technology in Linux Container and Docker Intel® QuickAssist Technology API Programmer's Guide Intel® QuickAssist Technology Cryptographic API Reference Manual Intel® QuickAssist Technology Data Compression API Reference Manual Intel® QuickAssist Technology - Performance Optimization Guide Intel® QuickAssist Technology Software for Linux* - Programmer's Guide
  • 10. Intel® QuickAssist Technology - Proof-Points • F5 BIG-IP Solution Brief w/QuickAssist - http://www.intel.com/content/www/us/en/data-center/xeon-e5-v3-f5-networks-scale- performance-solution-brief.html • IBM v7000Z w/QuickAssist: - http://www.intel.com/content/www/us/en/storage/ibm-storwize-v7000-quick-assist- technology-video.html
  • 12. Intel® QuickAssist Technology Applications OpenSSL, for asynchronous accelerators, with QAT_engine: https://github.com/intel/QAT_Engine/ NGINX: https://github.com/intel/asynch_mode_nginx HAProxy: http://www.haproxy.org/ QATzip: https://github.com/intel/QATzip Hadoop (via QATzip) DPDK cryptodev
  • 13. DPDK Crypto Stack  DPDK exposes symmetric crypto services via the cryptodev API – Supports software and hardware (offload) implementations – One stop shop for best of Intel crypto on DPDK – Provides Poll Mode Drivers for Intel® QuickAssist Technology  Upstreamed to DPDK.org  Used by IPsec sample application QAT PMD cryptodev cryptodev API AES-NI PMD, … ethdev Ethernet PMD ethdev API Sample Application, e.g. IPsec cryptodev producer APIethdev producer API QAT driver (in-tree) User Space Kernel Space
  • 14. CALL TO ACTION Follow our “Quick Start Guide” at https://01.org/intel-quickassist-technology  Step 1: Get QAT hardware  Step 2: Get acquainted with the available resources – Intel® QuickAssist Technology Main - www.intel.com/quickassist – Intel® QuickAssist Technology 01.org Technical Collateral & Applications - https://01.org/intel-quickassist-technology – To Learn how to use Intel® QuickAssist Technology and run example code, review our tutorial videos on Intel Developer Zone –Intel® QuickAssist Technology Technical Getting Started Tutorials - https://software.intel.com/en-us/networking/quickassist  Step 3: Follow our Getting Started Guide – Find the correct Getting Started Guide: – For released products: https://01.org/intel-quickassist-technology – Follow the instructions to install the QAT software and run the performance sample code
  • 16. Knowledge Check and advanced topics T/F: QAT is part of all CPUs? Explain: QAT is a “black box” Explain: QAT can operate in “endpoint-only mode” Where is the QAT documentation? What software works with QAT out of the box? Where are the configuration files located? Why are configuration files needed? Under what conditions might I see less than Intel’s best performance numbers for a particular product? How do I upgrade QAT firmware?
  • 17. Knowledge Check and advanced topics (cont’d) How do I show that QAT is working on a particular platform? What Linux kernels are supported?
  • 18. Operating System Support Linux • Fully validated on RHEL 7.x • Smoke-tested on various versions of RHEL, CentOS, Fedora, SUSE, Ubuntu FreeBSD 10, 11
  • 19. 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 – A data compression instance contains 1 queue pair – By default, a cryptographic instance contains 2 queue pairs, one for each sub-service of crypto (symmetric crypto, public key crypto) Configurable Items (via config file)  Queue depth (for each queue)  Number of instances per 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
  • 20. DMA-able Memory Memory passed to Intel® QuickAssist Technology hardware must be DMA’able  Physically contiguous (can also deal with SGLs)  Physically addressed – If VT-d is enabled (e.g. in virtualized system), then Intel IOMMU will translate to host physical addresses as needed  Pinned (i.e. locked, guaranteed resident in physical memory) Intel provides a User Space DMA-able Memory (USDM) component (kernel driver and corresponding user space library) which  Allocates/frees DMA-able memory, mapped to user space  Performs virtual to physical address translation on memory allocated by this library This component is used by the sample code supplied with the user space library.
  • 21. Low Level APIs for Accessing Services API When to use OS environments supported Intel® QuickAssist Technology Traditional • Original API, recommended for most cases • Can be used to access all services and features • Linux • FreeBSD Intel® QuickAssist Technology Data Plane • Optimized for data plane applications (reduced offload cost) by using physical addressing, supporting batching and MMIO amortization, etc. • Supports a subset of symmetric crypto and compression • Constraints: asynchronous only, polling only, not thread-safe, no support for stateful operation • Linux user space • FreeBSD DPDK cryptodev • For DPDK applications, e.g. IPsec • Offers DPDK PMD-like semantics, e.g. buffers passed as mbufs, batch submission, etc. • Supports symmetric crypto only1 • DPDK [1] May be extended for other services in future
  • 22. Memory Buffer Types Flat Buffers (defined in the file cpa.h)  “Traditional” API: CpaFlatBuffer – pData is a virtual address  “Data Plane” API: CpaPhysFlatBuffer – pData is a physical address Buffer Lists (also defined in cpa.h)  “Traditional” API: CpaBufferList – pMetaData is allocated by user (first call cpaCyBufferListGetMetaSize), and populated by implementation to point to a CpaPhysBufferList (used by Intel® QuickAssist Technology device)  “Data Plane” API: CpaPhysBufferList