下一代机密计算即将到来:性能比肩普通应用

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 随着Intel新一代数据中心级处理器Ice Lake的发布,由Intel SGX保护的可信应用的性能已经可以比肩普通应用,让我们来看看这一切是如何通过硬件进步与软件优化变为可能?
随着Intel新一代数据中心级处理器Ice Lake的发布,由Intel SGX保护的可信应用的性能已经可以比肩普通应用,让我们来看看这一切是如何通过硬件进步与软件优化变为可能?


北京时间2021年4月7日凌晨,Intel发布了第3代至强可拓展处理器(代号为Ice Lake)。这是Intel首次发布基于10nm制程的数据中心芯片,带来了更快的单核性能(声称20%的IPC提升)、更多的核心数(最多40 x 2个),8通道DDR4内存支持,以及面向AI和密码学的加速指令。

除了上述性能提升以外,Intel还高调宣布了在Ice Lake上带来重要的安全特性——下一代Intel SGX技术。蚂蚁集团的安全计算团队在正式发布的数月前,通过与阿里云和Intel的合作,拿到了Icelake的测试芯片,并对其性能做了详尽的测评。因此,我们抢先给大家带来了干货满满的下一代Intel SGX的性能测评,并分享我们提出的软件性能优化方法。

本文包含三个部分:1.    下一代Intel SGX简介2.    下一代Intel SGX性能测试3.    下一代Intel SGX性能优化(在Occlum项目中)

本文的部分内容整理自作者在OC3会议(Open Confidential Computing Conference)上的技术演讲,补充了此前无法在Intel正式发布Icelake之前公开的实测数据。这是业界首个对下一代Intel SGX的性能评估和优化报告。

OC3会议是机密计算领域开源项目的第一次线上大聚会:15名演讲嘉宾,来自Alibaba、Ant Group、Baidu、Intel、Google、Microsoft等业界主流软硬件厂商;超过650名与会者,有来自66个国家和地区。蚂蚁集团的安全计算团队也受邀做了报告,介绍了我们在Occlum项目中如何通过引入多种异步技巧、在下一代Intel SGX取得10X性能提升的工作。

下一代Intel SGX简介

Intel Software Guard Extensions (SGX)是一种内存隔离技术,它可以将用户选定的程序和数据放入被称为飞地(Enclave)的私有内存中保护起来,使得任何飞地外的(潜在恶意的)软硬件都无法窥探或者窃取飞地内的信息。

SGX是目前测试最充分的可信执行环境(TEE)技术之一,也是实现机密计算(Confidential Computing)的最主流技术手段,可应用于多方安全计算、云计算、区块链、隐私保护等诸多场景。

那Icelake平台上的下一代Intel SGX(后简称“新SGX”)带来了哪些改进呢?

新SGX解决了旧SGX上的两大可扩展性问题:

1. 核数:旧SGX此前可用的最高端芯片是Xeon E3,而该芯片只有6个物理核。显然,这个数量对于数据中心场景的负载来说是完全不够用的。而新SGX的Icelake平台支持至多80个物理核(160个逻辑核),带来了CPU计算资源的跨越式提升!

2. SGX上可信内存容量只有256MB。当这个容量无法满足飞地中的程序时,飞地对可信内存的访问延迟就会大幅增加(1-2个数量级),严重影响性能。而新SGX的Icelake平台将可信内存容量提升到了1TB,一举解决了旧SGX在大内存应用方面的困扰!

下表总结了旧SGX(在Pentium Silver和Xeon E3上)和新SGX的差别:7BDF9331-4B21-48FD-BB12-4E5CE2B628FB_4_5005_c.jpeg

但天下没有免费的午餐。新SGX在可信内存容量上的可扩展性提升是以牺牲一定的安全性为代价的:新SGX弱化了安全模型,放弃了对部分物理攻击的防御(即通过物理手段对内存做篡改或重放)。当然,新SGX对软件攻击的防御并未削弱。关于新SGX的设计与安全性的更详细信息可以见Intel的白皮书

总的来看,根据我们对实际应用场景的理解和与客户交流获得的反馈,我们认为新SGX提供了一个在安全和性能之间更切实际的权衡。

下一代Intel SGX性能测

是骡子是马,牵出来溜溜。

理论上讲,新SGX内存访问的开销是大幅降低的。但其他方面的开销呢?是有改进,抑或是有倒退?带着这些疑问,我们测试了在三款不同的Intel CPU上SGX的性能开销,以横向比较新旧SGX的性能差异。

SGX主要有三方面的性能开销:
1. 可信内存访问。如前所述,当飞地的可信内存用量很大时,飞地的可信内存访问开销会大幅提升。

2. 动态内存管理(Encalve Dynamic Memory Management,简称EDMM)。由于做了更多安全检查和处理,飞地中动态增减可信内存的开销要比飞地外增减普通内存更大。

3. 飞地切换(Enclave Switching)。CPU进入或退出飞地的过程叫做飞地切换(可以类比进程的上下文切换)。出于安全原因,飞地切换会带来不小的性能开销。

我们的测试结果和结论如下。

可信内存访问开销

截屏2021-11-19 下午4.51.57.png结论:新SGX的可信内存访问开销几乎可以忽略不计,远优于旧SGX。

可信内存访问开销

截屏2021-11-19 下午4.52.07.png结论:新SGX的动态内存管理开销一般略优于旧SGX,但开销仍然不小。

飞地切换开

截屏2021-11-19 下午4.52.17.png结论:新SGX的飞地切换开销显著优于旧SGX,但开销仍然不小。

下一代Intel SGX性能优化

根据上面的性能测试结果,我们看到虽然新SGX已经消灭了可信内存访问开销了,但在动态内存管理和飞地切换方面仍然有着不小的开销。前者会拖累飞地中的可信应用在内存管理方面的效率,而后者会大幅增加可信应的I/O开销(I/O通常要触发飞地切换)。

那么,软件层面是否可以做一些优化,避免、缓解、或掩盖SGX的这些硬件开销?答案是肯定的。

蚂蚁集团在机密计算(包括Intel SGX)方向有着深厚的技术积累。我们的一个代表性工作是Occlum项目(https://github.com/occlum/occlum),一款蚂蚁集团自主研发、适用于SGX的开源库操作系统,可以使得Linux应用无需修改即可运行于SGX中,大大降低了SGX的使用门槛。

Next-Gen Occlum的新设计

为了优化Occlum在新SGX上的性能表现,我们早在半年前就内部启动了Next-Gen Occlum(简称NGO)项目,探索可能的软件优化手段。最终,我们决定在NGO中采用一种“以异步为中心”的新设计重新架构Occlum。“以异步为中心”的设计使得Occlum可以最大化的利用Icelake的大内存和多核心的硬件优势,提高执行的并行性,从而避免、降低或掩盖SGX的硬件开销。

截屏2021-11-19 下午4.52.41.png图. NGO“以异步为中心”的设计体现在四个层面
截屏2021-11-19 下午4.52.50.png图. NGO基于协程的高效调度
截屏2021-11-19 下午4.52.59.png图. NGO基于Linux io_uring的高效异步I/O

Next-Gen Occlum的性能结果

根据我们的性能测试,NGO采用的性能优化手段是非常有效的——NGO在多项性能指标上达到——甚至超过了——Linux的水平!
这里我们给出初步的性能测试结果,见下图。

截屏2021-11-19 下午4.53.19.png截屏2021-11-19 下午4.53.29.png截屏2021-11-19 下午4.53.39.png

结语

Icelake平台上的下一代SGX带来了可扩展性的质变,对实际应用意义巨大。下一代SGX虽然未能消灭全部的硬件开销,但通过恰当的软件优化手段(如Next-Gen Occlum中所展示的),SGX飞地中的可信应用性能已经可以比肩飞地外的普通应用。截屏2021-11-19 下午4.53.48.png
Next-Gen Occlum中的优化会于近期开源,并合并入Occlum的主干。欢迎持续关注Occlum项目(https://github.com/occlum/occlum)。
参考链接:报告的YouTube视频:https://www.youtube.com/watch?v=3qQHrUEzFX4


- END -

截屏2021-11-19 下午4.42.00.png

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
7月前
|
机器学习/深度学习 数据处理 数据安全/隐私保护
DPU:数据中心与计算架构的革新引擎
【2月更文挑战第3天】
1240 1
DPU:数据中心与计算架构的革新引擎
|
6月前
|
存储 Cloud Native 安全
|
7月前
|
存储 人工智能 数据管理
|
人工智能 Serverless 程序员
自研CPU实现大规模应用!张建锋:新型计算体系正在到来
自研CPU实现大规模应用!张建锋:新型计算体系正在到来
205 0
|
机器学习/深度学习 分布式计算 Cloud Native
带你读《云原生机密计算最佳实践白皮书》——Occlum: 基于Intel SGX的轻量级LibOS
带你读《云原生机密计算最佳实践白皮书》——Occlum: 基于Intel SGX的轻量级LibOS
558 0
|
人工智能 Serverless 程序员
自研CPU实现大规模应用,新型计算体系正在到来
阿里巴巴宣布自研CPU倚天710已大规模应用,阿里云未来两年20%的新增算力将使用自研CPU。目前,倚天710已在阿里云数据中心大规模部署,并以云的形式服务阿里巴巴和多家互联网科技公司,算力性价比提升超30%,单位算力功耗降低60%,这是中国首个云上大规模应用的自研CPU。
623 0
自研CPU实现大规模应用,新型计算体系正在到来
|
存储 云计算 数据中心
阿里云技术又有了新的突破, CIPU将会是最强大的处理器,云计算的时代已经到来。
随着技术的进步,数字产品内部的处理器也在不断的进步,这是一种符合时间和消费者需要的变化。
362 0
阿里云技术又有了新的突破, CIPU将会是最强大的处理器,云计算的时代已经到来。
|
存储 算法 网络协议
磐久网络 | 阿里云首次揭秘自研可编程网络核心技术和应用场景
阿里云首次揭秘自研可编程网络核心技术和应用场景
磐久网络 | 阿里云首次揭秘自研可编程网络核心技术和应用场景
|
人工智能 自动驾驶 安全
CPU 架构下算力增长式微,人民需要下一代计算域架构,XPU 未来已来
后摩尔定律时代,算力如何破局?安谋科技将挥“CPU+XPU”双拳,引领新一轮算力革命。
401 0
CPU 架构下算力增长式微,人民需要下一代计算域架构,XPU 未来已来
|
5G 网络安全 网络虚拟化
MWCS手记:英特尔加速5G网络转型 核心、边缘、接入一个都不能少!
随着近日5G独立组网(SA)NR标准冻结,5G的商用步伐从散步变成慢跑、快跑,到现在已经开始疾速奔跑,这也意味着5G技术方案验证及应用步入关键阶段。作为一家基础设施核心技术供应商,英特尔一直站在推进5G发展的前沿,并与全球的运营商和制造商合作,推动5G网络的大规模转型。
174 0
MWCS手记:英特尔加速5G网络转型 核心、边缘、接入一个都不能少!
下一篇
DataWorks