首页 >资讯 > > 正文

TLS 加速技术:Intel QuickAssist Technology(QAT)解决方案

vivo互联网技术 2023-05-18 12:15:53
一、背景

当前 TLS 已经成为了互联网安全的主要传输协议,TLS带来更高的安全性的同时,也带来了更多的性能开销。特别是在建连握手阶段,TLS的CPU开销,相对于TCP要大很多。

业界在优化TLS性能上已经做了很多软件和协议层面的优化,包括:Session 复用、OCSP Stapling、TLS1.3等。然而在摩尔定律"失效"的今日,软件层面的优化很难满足日益增长的流量,使用专用的硬件技术卸载CPU计算成为目前通用的解决方案。本文将介绍Intel在TLS加速领域提供的QAT技术方案。


(资料图片仅供参考)

二、Intel QuickAssist Technology(QAT)技术方案

Intel 提供了TLS异步加速的完整解决方案: Intel QuickAssist Technology(QAT),简称Intel QAT技术。

如下图所示,QAT 支持加速的密码算法覆盖了TLS的整个流程,包括:握手阶段的签名、秘钥交换算法,数据传输的AES加解密算法等。

图1. QAT 对TLS流程的密码算法的支持(图片来源)

QAT提供了对称与非对称两类密码算法的支持,主要包括:

非对称加密算法:RSA, ECDSA, ECDHE对称加密算法:AES-GCM(128,192,256)

注:QAT加速的优势主要体现在非对称加密上,从官方的整体性能数据看,非对称算法性能提升1.6~2倍,对称算法性能提升10%~15%

2.1 QAT Engine 软件栈

QAT Engine 是QAT技术方案的核心模块,主要的作用是作为应用程序和硬件之间的中间层,负责“加解密操作的输入输出数据” 在用户应用程序与硬件卡之间进行传递,主要操作就是IO的读写。

QAT Engine 是以 OpenSSL 第三方插件的方式提供给用户,这个意味用户可以使用 OpenSSL 标准的API,就可以实现对TLS的加速,只需要对原有代码做OpenSSL异步改造,就可以享受QAT技术带来的TLS性能加速,业务侵入性较小。

图2. Intel QAT Engine 软件栈(图片来源)

如上图所示,QAT Engine 支持两种加速方式

软件加速(qat_sw):使用 Multi-Buffer (SIMD)技术,对密码算法进行并行处理优化硬件加速(qat_hw):使用QAT硬件加速卡,将密码算法计算从CPU OffLoad到硬件加速卡

下面将介绍软件和硬件两种加速路径的实现方式。

三、软件加速:采用 Intel Multi-Buffer 技术

Intel 从 whitely 平台开始加入了新的指令集,结合intel Multi-Buffer技术,实现对密码算法的SIMD优化方案。

3.1 Intel Multi-Buffer 技术

Intel Multi-buffer 基本原理就是使用CPU的SIMD机制,通过 AVX-512 指令集并行处理数据,来提升RSA/ECDSA算法性能。

SIMD (Single Instruction Multiple Data) 即单指令流多数据流,是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。简单来说就是一个指令能够同时处理多个数据Multi-Buffer 技术基于SIMD AVX-512指令集,通过队列和批量提交策略,结合OpenSSL的异步能力,每次可以最多并行处理8个密码算法操作

Intel 的 Multi-Buffer 方案,实际上是对应Intel两个开源工程(Multi Buffer技术实现的通用密码算法底层lib库),集成在 QAT Engine 里,从而实现软件加速。

图3. Intel Engine集成了基于Multi-Buffer技术的密码算法lib

1、IP SEC lib

提供了multi-buffer 技术优化的对称加解密算法,如:AES-GCM开源项目:https://github.com/intel/intel-ipsec-mb

2、IPP CRYPTO lib

提供了multi-buffer 技术优化的RSA/EDCSA/EDCHE算法接口,基于Intel® Advanced Vector Extensions 512 (Intel® AVX-512) integer fused multiply-add (IFMA) 指令实现SIMD优化开源项目:https://github.com/intel/ippcrypto/tree/develop/sources/ippcp/crypto_mb

简而言之,QAT的软件加速的本质就是通过 AVX-512 指令集进行并行处理优化,针对并发场景性能有显著提升(下文有针对Mult-Buffer优化场景的性能测试)。

四、硬件加速:采用QAT硬件加速卡卸载

除了通过Multi-Buffer技术进行软件加速外,QAT Engine 还支持QAT硬件加速卡,通过将密码算法的计算卸载(OffLoad)到硬件加速卡,实现性能加速。

硬件加速核心是将TLS中的非对称加解密操作剥离出来,放到硬件加速卡里计算,即解放了CPU,同时专用的硬件加速卡也提供了更高的加解密性能,这是典型的硬件OffLoad技术方案。

下图为典型的 Nginx+ Intel QAT Software Stack + QAT硬件加速卡的典型应用场景:

图4.nginx+ Intel QAT Software Stack + QAT硬件加速卡的典型应用场景(图片来源)

这个典型应用场景包括四个部分:

Nginx (Async Mode): Intel 基于官方nginx(version 1.18)提供了patch,支持nginx工作在openssl的异步模式。Patch开源在:https://github.com/intel/asynch_mode_nginxOpenSSL(支持Async Mode): OpenSSL-1.1.1 新增了async mode 特性,应用层软件可以通过标准的openssl接口,实现异步调用,提升性能。QAT Engine: OpenSSL Engine 插件。向下和QAT API交互,将处理请求提交给硬件。详见项目开源地址:https://github.com/intel/QAT_EngineQAT Driver:QAT加速卡的驱动程序。分为用户态和内核态两个部分。用户态的lib库提供QAT API,内核态的driver则直接和QAT硬件加速卡打交道。

Intel QAT 依赖了OpenSSL的两个特性OpenSSL Async Mode和OpenSSL Engine

OpenSSL Async Mode能够在 async_job 执行过程中,在等待加速卡结果的时候,将 cpu 让出去;如果没有开启 async 模式,调用 openssl 函数会阻塞,cpu会阻塞等待。OpenSSL Engine则是提供了自定义注册加解密的方法,可以不使用 OpenSSL 自带的加解密库,指定调用第三方的加解密库。

基于两个特性,应用程序的加解密操作只需要保持使用原来相同openssl api,只需要做异步模式的兼容。另外,可以在调用OpenSSL的API时,指定到engine QAT上就行,不需要做任何额外的修改,就可以使用QAT卡进行加解密加速。

4.1 OpenSSL 的Async Mode特性

通过上面的介绍,我们可以看到QAT卡的本质是让一部分原本由CPU进行的计算转移到QAT卡上进行,因此提高QAT的利用率,降低CPU的切换开销和等待时间是性能最大化的核心工作。

OpenSSL 未启用异步ASYNC模式时,OpenSSL 调用是同步阻塞的,直到QAT_Engine返回结果。如下图的同步模式,在并发处理执行流的场景,大量CPU处于空闲等待的状态(图中虚线表示CPU处于空闲状态),无法有效地利用CPU。

图5. QAT_Engine + OpenSSL 同步模式(图片来源)

OpenSSL 开启异步ASYNC模式后,OpenSSL 调用是非阻塞的。如下图的异步模式,openssl的调用不需要等待QAT_engine的处理完成,可以有效地利用CPU,提高QAT的利用率,提升并发处理性能。

图6. QAT_Engine + OpenSSL 异步模式(图片来源)

通过OpenSSL的同步和异步模式的对比,可以看到OpenSSL-1.1.1 新增的异步Async特性,支持了异步非阻塞调用,提高了QAT的利用率,可以显著提升加解密性能。

4.2QAT Engine ASYNC运行流程

接下来还有一个问题,CPU 如何知道 QAT 卡完成了计算呢?

Async模块为了达到并行的目的,在单线程中实现了协程(async job)。加解密操作抽象为job,多个job同时运行,使用协程进行调度。

在async job执行的过程中,当计算操作提交给QAT卡后,CPU可以把当前任务暂停,切换上下文(保存/恢复栈,寄存器等)返回给用户态。

用户态需要主动去poll这个async job的状态,是否是ASYNC_FINISHED状态。如果是,说明之前的任务已经完成,则可以继续后面的操作(取回加密/解密结果)。

注:QAT Engine 通过轮询来获取QAT卡的计算状态,基本原理是启动一个线程,不停的调用qatdriver的polling api,轮训获取qat的计算状态,得到相应结果后,写入eventfd,唤醒async job。

图7. QAT engine ASYNC运行流程(图片来源)

如上图所示,QAT Engine Async的基本流程为:

主job调用 SSL_accept,等待 TLS客户端发起 TLS handshake。SSL内部组织了一个状态机,将握手,读写等操作抽象为两个job,ssl_io_intern(读写), ssl_do_handshake_intern(握手), 统一通过api ASYNC_start_job()进行job调度。这里启动了一个握手的job协程。握手job执行 RSA_sign签名操作时,将sign算法卸载到硬件上计算。调用 ASYNC_pause_job() 切回主job, 并将job状态设置为ASYNC_PAUSE, 这个时候CPU会交还给主job进行其它计算工作,同时QAT并行的进行自己的计算。主job通过SSL_waiting_for_async()接口获得的一个eventfd,并epoll这个eventfd。当QAT卡计算完成,会执行回调写入eventfd,通知主job计算已完成。主job切换回握手job,握手job的完成剩余流程后,再调用ASYNC_pause_job()切换主job,并将job状态设置为ASYNC_FINISH,结束协程完成握手动作。五、QAT 性能评测

通过上面的介绍,我们了解了QAT技术方案的基本原理,下面我们看下QAT的实际加速效果。

QAT Multi-Buffer 加速方案,依赖的 OpenSSL、QAT Engine、ipp-crypto、 Intel-ipsec-mb 软件栈都是开源项目,我们可以方便的使用 openssl speed 原生加解密算法对Multi-Buffer方案进行性能评估。

硬件环境

Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHzCPU(s): 8

软件环境

Linux Kernel: 4.19.91-24.1.al7.x86_64OpenSSL 1.1.1ggcc (GCC) 8.3.0cmake version 3.15.5NASM version 2.15.05GNU Binutils 2.32安装QAT Engine安装ipp-crypto、 Intel-ipsec-mb 开源lib库

测试数据

numactl -C 0 ./openssl speed rsa2048numactl -C 0 ./openssl speed -engine qatengine -async_jobs 8 rsa2048

numactl -C 0 ./openssl speed ecdhp384numactl -C 0 ./openssl speed -engine qatengine -async_jobs 8 ecdhp384

numactl -C 0 ./openssl speed aes-256-cbcnumactl -C 0 ./openssl speed -engine qatengine -async_jobs 8 aes-256-cbc

TLS 握手阶段的签名和秘钥交换算法

RSA 2048 sign/verify 提升 4.9/2.9倍ECDH key exchange 提升 12倍

对称加解密算法

AES-256-CBC 性能持平

根据性能测试结果,QAT的加速优势在于TLS握手阶段的签名和秘钥交换算法,适合频繁进行TLS建连的应用场景,比如:nginx网关、长连接网关等。

六、总结

本文介绍了 Intel QAT 技术方案,并讨论了方案提供的Multi-Buffer软件加速以及QAT硬件加速两种方式。同时,通过性能评估测试,我们可以看到QAT技术对TLS握手阶段的加解密算法有显著的性能提升。

最后,我们讨论一下 Intel QAT 技术的优缺点和应用场景:

6.1 优点和缺点

主要的优点

高性能:可以显著提高计算密集型任务的性能,减少 CPU 的负载,提高系统吞吐量和响应速度。低功耗:可以将计算密集型任务卸载到专用硬件上,降低系统功耗,提高能效比。

主要的缺点

成本较高:需要额外的硬件支持,增加了系统的成本。应用范围受限:主要适用于计算密集型任务,对于其他类型的任务可能没有显著的性能提升。不支持所有处理器:只支持Intel特定系列的处理器,需要特定的硬件和软件支持。改造成本高:需要对应用程序进行QAT异步化改造,需要一定的学习成本和技术支持。6.2 应用场景

除了加解密算法之外,Intel QAT还支持压缩和解压缩、随机数生成、数字签名、视频编解码等算法。Intel QAT主要可以用于以下场景:

接入网关:比如nginx网关、长连接网关。QAT可以加速TLS协议处理,提升网关的性能虚拟私人网络(VPN):QAT 可以加速 VPN 流量的加密和解密过程,提高吞吐量,减少延迟存储加速:QAT 可以加速数据压缩和解压缩,减少需要传输和存储的数据量视频编解码:QAT 可以加速视频编解码算法,提高视频处理的效率和质量

总的来说,Intel QAT 可以将计算密集型任务从 CPU 中分离出来,显著提高系统的性能和能效比,可以广泛应用于计算密集型任务的加速,包括网络安全、数据处理、云计算、存储加速、视频处理等多个领域。

上一篇:天天即时:看得见的城市丨博物馆奇妙之旅, 一边研学一边阅读美好生活 下一篇:最后一页
x
推荐阅读

TLS 加速技术:Intel QuickAssist Technology(QAT)解决方案

2023-05-18

天天即时:看得见的城市丨博物馆奇妙之旅, 一边研学一边阅读美好生活

2023-05-18

泰迪绝育3年后仍跑到宠物店门口“叫嚣”,店主:它很记仇,每天都来“骂”我们 天天观焦点

2023-05-18

全球讯息:大洋电机:5月17日融券卖出金额31.40万元,占当日流出金额的1.06%

2023-05-18

全球快资讯:约基奇和戴维斯是过去50年第三组对砍30+的首发中锋

2023-05-18

福建龙岩2023年4月自学考试成绩查询入口已开通

2023-05-18

每日快讯!用友网络(600588):5月17日北向资金增持10.82万股

2023-05-18

全安素的作用_全安素的冲泡方法

2023-05-18

【全球播资讯】党的十九届四中全会指出要健全维护党的集中统一的组织制度形成党

2023-05-18

【全球新要闻】秦兵马俑在哪里_秦兵马俑课文

2023-05-18

桂西霸榜全国高温榜,弱冷空气即将出手,未来三天燥热天气暂缓……

2023-05-17

国语版《蜘蛛侠:纵横宇宙》彭昱畅回归配音小黑蛛 虞书欣为格温献声

2023-05-17

全球播报:牧原股份(002714.SZ):截止2023年4月底生猪存栏量4000万头左右

2023-05-17

商丘映象•陈家大院

2023-05-17

前沿热点:三门峡市湖滨区财政局:召开重点业务工作推进会

2023-05-17

《宁安如梦》谢危结局是什么 谢危的身世是怎样的

2023-05-17

世界短讯!近60位成都市幼教同仁到成都五幼培风分园观摩学习

2023-05-17

崂山:最美环海路,颜值又更新

2023-05-17

港股异动 | 康龙化成(03759)跌超5%领跌CRO概念 一季度国内生物医药领域融资同比下跌57%

2023-05-17

意不意外?湖人今天全场送出30次助攻 比掘金多出1次

2023-05-17

飞机经停是什么意思人要下飞机吗(飞机经停是因为路线远吗)

2023-05-17

联合国报告预测:中国今年经济增长率为5.3%-天天热推荐

2023-05-17

买卖二手房 中介费降多少合适?什么样的费率是合理?

2023-05-17

贝索斯53岁女友穿泳装闪耀自家游艇,挺拔身姿惹眼,富豪目光难离|微资讯

2023-05-17

德国经济不容乐观 欧元面临利空-世界动态

2023-05-17

早知道:多家药企发布股份回购方案;货币市场基金监管新规落地

2023-05-17

高钾血症是什么病_高钠血症的治疗 今日热搜

2023-05-17

焦点资讯:4月社零消费增长18.4% 居民消费还有提升空间

2023-05-17

全球热门:奥泰生物(688606):5月16日北向资金增持1700股

2023-05-17

热门:北部湾航空在线值机(北部湾航空)

2023-05-17

双色球87期开奖结果查询_双色球87期开奖结果

2023-05-16

天天观速讯丨【金融街发布】“数据治理与银行业数字化转型”研讨会成功举办

2023-05-16

每日关注!逾600亿元,无一破发!

2023-05-16

聚焦2023数博会|毕节分会场活动将于5月19日至21日举行

2023-05-16

热点在线丨格力:孟羽童早已离职,人员流动正常

2023-05-16

多地调整公积金政策,支持提取公积金支付首付款 天天观热点

2023-05-16

简述变动成本法与完全成本法的区别及对销售的作用 简述变动成本法与完全成本法的区别-天天快报

2023-05-16

【全球播资讯】金花股份:公司2023年将围绕战略规划及年度经营计划,整合资源优势,优化产业布局,以深耕主打产品为核心,高效统筹生产经营和研发创新,聚焦主业与医药大健康产业,持续推动公司业务高质量发展

2023-05-16

全球简讯:美股异动 | Guardforce AI(GFAI.US)盘前大涨14% 完成1380万美元公开募股

2023-05-16

全球视讯!利物浦新加坡季前赛安排:7月30日对阵莱斯特城 8月2日对阵拜仁

2023-05-16

环球今亮点!小熊猫和浣熊的区别是什么?可以私人饲养吗?

2023-05-16

“百校联百县兴千村”行动协同共创助力乡村全面振兴-环球热点评

2023-05-16

中超第7轮最佳球员候选:阿奇姆彭、张卫、金敃友、武磊、王秋明-全球头条

2023-05-16

泰安发布大风蓝色预警信号(泰安发布大风蓝色预警信号的地方)|世界速讯

2023-05-16

民航局:正与中亚五国商签共建“空中丝绸之路”谅解备忘录_环球看点

2023-05-16

脱贫地区品牌如何弯道超车?

2023-05-16

牛仔裤的夏天1电影_牛仔裤的夏天1

2023-05-16

报道怎么写 活动报道怎么写_天天新消息

2023-05-16

5月16日生意社氯化铵基准价为680.00元/吨

2023-05-16

环球视讯!豆瓣酱的豆瓣处理方法?

2023-05-16

华阳股份:5月15日融资买入2553.06万元,融资融券余额12.93亿元

2023-05-16

win11这一功能遭遇吐槽 微软被迫下架

2023-05-16

环球简讯:血亏!4万人抢的网红盘,房价跌回3年前,区域冷了?

2023-05-16

4换2?勇士离队第一人曝光,普尔穆迪加盟火箭,库里联手申京

2023-05-16

帕萨特新领驭上市时间_帕萨特新领驭有哪些款?

2023-05-16

今日大明龙右开图标几级?_独家

2023-05-15

皇庭国际将延期至5月22日回复深交所关注函

2023-05-15

宁德时代董秘蒋理:碳酸锂价格目前仍处于历史较高水位

2023-05-15

天天讯息:澳大利亚贸易部长:“不希望与中国脱钩”

2023-05-15

全球视点!数据复盘:27亿抢筹能源金属 机构抢筹天齐锂业

2023-05-15

天天微动态丨北水抢筹科网股!加仓腾讯近12亿港元、买入美团超5亿港元;南水买入天齐锂业超7亿元

2023-05-15

全球短讯!【2023打卡中国】越南网红博主杨德心:中国在农业发展方面做得很好

2023-05-15

快讯:高端净水专家安吉尔荣登2023中国品牌价值评价榜单,品牌实力再获权威认可!

2023-05-15

怀揣梦想 秀出风采|环球看点

2023-05-15

微软Edge一败涂地,还有人记得IE浏览器吗? 微速讯

2023-05-15

万家瑞舜灵活配置混合增聘基金经理杨若愚

2023-05-15

当日快讯:ST金正:待主要银行账户解冻后,公司将按规向深交所申请撤销实施其他风险警示

2023-05-15

美妆行业上市公司 ESG 报告点评:精准覆盖 ESG 重点议题,拒绝无效披露

2023-05-15

【全球独家】一周天气展望:高温来袭 偶有降水

2023-05-15

全球热议:航空公司担心飞机短缺 导致订单激增

2023-05-15

若2023年城乡居民基本退休金上涨5.3%,60岁以上参保老人涨多少?

2023-05-15

世界快报:2023年5月15日一乙醇胺价格最新行情预测

2023-05-15

联合体中标合同怎么签订_联合体中标后合同怎么签订 环球观点

2023-05-15

超级粽子吧张杰_超级粽子 环球新动态

2023-05-15

乡村追梦人丨湘潭姑娘陈艳:躬身助跑,在田野上跑赢创业“马拉松”_当前热文

2023-05-15

产能利用率环比回升 短期沥青或维持震荡运行走势

2023-05-15

太仆寺卿_太仆寺-世界观点

2023-05-15

津媒:津门虎轮换阵容顶住压力保持不败,球队今明两天放假

2023-05-15

AI+病理有望解决医疗行业痛点 商业化落地进程渐进

2023-05-15

怎么样吃螃蟹视频教程_怎样吃螃蟹图解视频|环球报资讯

2023-05-15

全球新动态:沃尔沃接盘计划落空 江铃汽车:继续积极推进江铃重汽重组

2023-05-15

全球今头条!提前7天抵达德班备战!孙颖莎樊振东挥汗如雨,12名陪练阵容强大

2023-05-15

知晓|22~35℃,北京大兴区687套公租房,向这些家庭专项配租!中国科技馆,本周每天都有健康科普活动!

2023-05-15

吴谢宇案将迎来二审,在看守所时经常脑海中播放电影,求生欲很强|全球微资讯

2023-05-15

成龙参观知名酒企被嘲,“晚节不保”的他,买4000万房子仍嫌小

2023-05-15

河南郑州新砦遗址或为夏代早期都城|关注

2023-05-14

杨洋现身威尼斯心情舒畅 与泰国女星合影状态佳

2023-05-14

史密斯小厨宝漏水怎么办_史密斯小厨宝 全球百事通

2023-05-14

焦点热文:维达国际:并无接获有关Essity策略检视的任何最新信息

2023-05-14

去银行存钱时,“3种”存款方式要注意,早了解早获益

2023-05-14

松下伺服驱动器接线图(伺服驱动器接线图)

2023-05-14

“泰州日”系列活动走进中国药科大

2023-05-14

【世界快播报】郑钦文与王曦雨争八强,谢淑薇出局,阿卡完胜晋级,胡大师遭爆冷

2023-05-14

焦点要闻:奥洛菲是哪个国家的品牌_什么档次怎么样

2023-05-14

世界热资讯!山竹很硬的掰不开的是怎么回事?山竹发硬了还能吃吗

2023-05-14

焦点速讯:打通京津冀科创成果“最后一公里”

2023-05-14

环球快报:教你如何穿衣搭配 三大穿衣搭配技巧,教你找准自己的穿衣风格

2023-05-14

全球快消息!大类资产配置跟踪:全球主要权益市场均表现不佳

2023-05-14

0:3!浙江稠州面临崩溃,意外的是:让36位篮球名记,颜面扫地!|观热点

2023-05-14

看不见的战争纪录片在线观看_看不见的战争 下载 世界热讯

2023-05-14