睿诚科技协会

Intel QAT技术到底是什么?

一句话概括

Intel QAT (Intel® QuickAssist Technology) 是英特尔推出的一种硬件加速技术,它通过在处理器内部集成专用的硬件电路(QAT设备),来高效地执行数据加密、解密、压缩、解压缩等安全相关的计算密集型任务,从而将CPU从这些繁重的工作中解放出来,提升系统整体性能和效率。

Intel QAT技术到底是什么?-图1
(图片来源网络,侵删)

核心技术原理:卸载与加速

要理解QAT,首先要明白它要解决什么问题,像加密、压缩这类任务,虽然对CPU来说不难,但非常消耗CPU资源,当服务器需要处理大量这类请求时(一个繁忙的电商网站或云存储服务),CPU的大量时间都会被这些任务占据,导致真正处理业务逻辑(如运行Web服务器、数据库)的计算资源不足。

QAT的核心原理就是“卸载”(Offload)

  1. 专用硬件加速器:在Intel的至强(Xeon)服务器处理器中,Intel集成了一块专门的硬件电路,这就是QAT设备,这块电路被设计得非常擅长处理特定的算法,如AES、RSA、SHA等加密算法,以及LZ4、Gzip、Zstd等压缩算法。
  2. 工作流程
    • 应用程序(如Web服务器、数据库)需要执行一个加密或压缩任务。
    • 它不是调用CPU去计算,而是通过一个专门的驱动程序,将这个任务“扔”给QAT硬件。
    • QAT硬件在后台高效地完成计算。
    • 完成后,QAT将结果返回给应用程序。
  3. 结果:CPU在整个过程中几乎不参与计算,可以专注于其他更重要的任务,这就像你有一个专门负责“数学计算”的助手,你只需要把问题丢给他,他算完告诉你答案,你就可以继续做其他事情了。

QAT的主要优势

  1. 显著提升性能

    • 更高的吞吐量:由于CPU被解放,系统可以同时处理更多的请求,特别是对于I/O密集型和加密密集型应用,性能提升非常明显(可提升数倍甚至数十倍)。
    • 更低的延迟:硬件执行这些任务的速度通常比纯软件实现更快,减少了请求的处理时间。
  2. 降低CPU占用率

    Intel QAT技术到底是什么?-图2
    (图片来源网络,侵删)

    将CPU从繁重的密码学和压缩运算中解放出来,使得宝贵的CPU核心可以用于应用程序的核心业务逻辑,提高了资源利用率。

  3. 提升能效

    QAT硬件在执行这些特定任务时,能效比远高于通用CPU,完成相同的工作,QAT消耗的功耗更低,从而降低了数据中心的整体运营成本。

  4. 增强安全性

    Intel QAT技术到底是什么?-图3
    (图片来源网络,侵删)

    QAT硬件内部通常包含安全特性,如安全的密钥存储和管理,可以防止密钥在内存中被轻易窃取,为加密操作提供了更高级别的安全保障。


典型应用场景

任何需要进行大量数据加密或压缩的场景,都能从QAT中受益。

  1. 网络安全

    • SSL/TLS 加速:这是QAT最经典的应用,Web服务器、负载均衡器、VPN网关等设备需要处理海量的HTTPS流量,QAT可以极大地加速SSL/TLS握手和数据加解密过程,是现代高并发网站和服务的标配。
  2. 数据库

    • 加密数据库:像Oracle、MySQL等数据库支持数据透明加密(TDE),启用TDE后,所有读写操作都需要加解密,QAT可以大幅降低数据库的性能损耗。
    • 压缩数据:数据库压缩可以节省存储空间,但压缩/解压缩是CPU密集型操作,QAT可以加速此过程。
  3. 云存储与对象存储

    • 数据压缩:在存储数据前进行压缩,可以节省大量磁盘空间,降低存储成本。
    • 数据加密:为存储在云端的数据提供端到端的加密保护,确保数据安全。
  4. 大数据与分布式计算

    • Hadoop/Spark:在这些框架中,数据在节点间传输时经常需要压缩以减少网络I/O,QAT可以显著加速MapReduce和Shuffle过程中的数据压缩。
  5. 虚拟化与云计算

    • 虚拟机加密:在云环境中,为虚拟机磁盘进行加密,QAT可以为运行多个虚拟机的宿主机提供高效的加密能力,保证多租户环境下的数据隔离和安全。

技术组成

一个完整的QAT解决方案包括:

  1. 硬件:集成在Intel处理器内部的QAT硬件加速引擎。
  2. 驱动程序:操作系统(如Linux)下的内核模块,负责管理QAT硬件,为上层应用提供接口。
  3. SDK (Software Development Kit):提供给开发者的工具包和库,让应用程序能够方便地调用QAT的功能,开发者无需关心底层硬件细节,只需调用SDK提供的API即可。
  4. 密码学与压缩库:基于SDK构建的库,如OpenSSL的QAT引擎、libz的QAT支持等,使得现有应用可以无缝集成QAT。

Intel QAT 不是一种新的加密或压缩算法,而是一种硬件加速技术,它的核心价值在于通过专用硬件来执行特定计算密集型任务,从而将通用CPU解放出来,实现性能、效率和安全性的全面提升。

对于构建高性能、高安全性的现代数据中心、云计算平台和企业应用来说,QAT已经成为一项不可或缺的关键技术。

分享:
扫描分享到社交APP
上一篇
下一篇