令AMD颤抖的英特尔Ice Lake,背后居然还有这样的技术
扫描二维码
随时随地手机看文章
第三代至强可扩展处理器Ice Lake终于在上个月露出庐山真面目,这款产品集结了英特尔最强的技术,相比上一代产品整体46%的提升,在人工智能、网络计算等性能更高幅度的性能提升。
另外英特尔罕见与竞争对手AMD一较高下,第三代至强在深度学习和推理方面性能相比AMD EPYC 7763提高了25倍,种种迹象无疑显示着一个“性能炸弹”的诞生。
事实上,作为英特尔“心头肉”和扩展一切成果结晶的平台,第三代至强可扩展处理器Ice Lake仍然潜藏更多技术值得发掘。
“除性能提升以外,产品更突出的是安全性和人工智能”, 英特尔公司市场营销集团副总裁兼中国区数据中心销售总经理陈葆立如是说。通过介绍来看,Ice Lake是唯一内置AI和安全解决方案的x86服务器芯片。
根据英特尔技术专家的解释,第三代至强Ice Lake内置安全解决方案,其中英特尔TME和英特尔固件恢复技术作为背后的平台支持,而英特尔软件防护扩展(英特尔SGX)、英特尔密码操作硬件加速作为安全解决方案的一环,与传统意义的ISV(独立软件开发商)、CSP(内置安全策略)关系更加紧密,因此有必要更加深入研究技术本身。
因此本文将着重从英特尔SGX、英特尔密码操作硬件加速和AI方面进行讲解。
英特尔SGX 带来的优势远超想象
根据技术专家的解释,SGX全称Intel Software Guard Extension,早在第六代酷睿上就已搭载这项技术,本次是第一次在服务器芯片上进行硬件支持。
SGX是目前被广泛测试、研究和部署的可信执行环境(TEE),实现系统中相对最小被攻击面。SGX基于硬件的安全技术实现了对敏感数据领域中硬件级别的隐私保护,同时兼顾了性能体验。内存足够大的飞地现在可以满足主流工作负载对内存的需求(最大可达1TB内存空间)。
简单解释来说,SGX是一个新的指令集扩展,方便软件开发者直接通过调用CPU指令实现安全隔离的技术。
“大家现在非常关注数据,特别是很多客户或者企业把数据放到云上,他们非常关注数据的三种状况”,技术专家介绍表示,第一种是在云端可以加密存储,第二种是在云端和本地数据间加密传输,第三种则是对服务器进行运算时服务器内存与CPU交互数据的动态加密。
为了保证数据的全生命周期的安全性,在离开各种组织的数据中心,到达云端之后,很有必要对这三种数据状态进行加密保护,SGX就是属于第三种的加密形式。
技术专家为记者解释,“飞地”指的是一个组织把数据加载到云端或是远端模块上,这样的数据是“孤悬在海外”,不受自己保护的区域,那么这种情况应该怎样进行保护?这就需要借助远端CPU的能力,即英特尔SGX,敏感数据可以被隔离使用。
他继续说,“英特尔SGX是一种基于硬件的可信执行环境,最近隐私计算联盟推荐业界都使用类似SGX这种基于硬件的可信执行环境。它就是提供了一个全新形态的安全和隐私保护,目标是能够帮助各级组织把敏感的工作负载放心地放到公有云或是远端节点上。这样可以在本地加密,传输到远端模块,在云上进行加密存储,运算时也是在内存当中由SGX提供了这种内存隔离飞地来进行必要的敏感数据运算。”
与常规的其他的一些隐私保护或者是安全技术相比,不管是在安全性、性能和可用性方面,SGX都有明显的优势。安全性上,SGX是一个硬件级的安全技术;性能上,在第三代至强可扩展处理器平台上,SGX的计算性能非常好,基本上没有太多的开销;可用性上,SGX既提供系统原生的基于SGX SDK的开发套件,也和LibOS(库操作系统)生态紧密合作,致力于不打破现有的应用方式,不需要重新构建一些通信或者是底层架构,对数据和模型进行隐私保护。
“SGX还有一个比较显著的特点,就是保护的空间可大可小”,SGX可以提供最小4K最大1TB的保护空间,因为英特尔基本上是双路服务器,所以单路512GB SGX可管理内存的情况下,双路服务器就是1TB。
“除此之外,SGX是直接由CPU来解码的,无需在安全区域提供额外的高权限软件”,技术专家告诉记者,这样为工作负载加载提供了便利。
SGX还拥有一个极佳的功能,被英特尔称之为远程认证功能。此项功能可让每一方进行互相信任,解决联邦学习当中互不信任或者是互相无法信任的过程。远程认证功能也非常利于构建联邦学习这样的应用,数据孤岛可以很好的用联邦学习的方式去解决。
SGX构建的联邦学习架构中可以看出,不同参与方都在本地训练模型,再通过安全聚集的方式到达可信第三方的联合模型。在常规的联邦学习设计中,可信第三方和本地参与方都是易受攻击的。可信第三方被攻击成功后,联邦学习的流程就不再安全了,模型数据和临时数据也会被攻破;本地方如果被攻破,相关敏感数据就被读取泄露。SGX可以帮助完整保护可信第三方和每一个参与方,与此同时不需要做太多的应用更改。
举例来看,联邦学习在构建模型或是在准备构建模型阶段时,均可使用SGX认证功能对第三方运行环境认证,检测第三方应用程序是否被攻击者篡改过。一旦发生篡改,认证流程就会失败,后面流程中也可以得知这是一个被篡改过的服务,不能建立这样的联合建模。反观之,如果参与方被攻击者攻破,攻击者会破坏整个联邦学习流程,通过可信第三方或是其他参与方认证,保证其他应用环境和执行环境都没有被篡改过。所以,SGX可以很好的助力联邦学习,帮助联邦学习更好的去实现这样一个打破数据孤岛的任务。
SGX生态最近几年也有一些新进展,较为典型的例子便是LibOS。此前,应用迁移到SGX是拥有一定成本的,现在有了LibOS这样的中间层,应用程序的系统调用会被LibOS转化为SGX SDK能够识别的调用。通过这一层转化就可使应用程序无需修改任何一行代码即可完整地放到SGX中运行,这就解决了之前提到的迁移成本和易用性的问题。
另外,LibOS继承了SGX的安全性,也是硬件级的安全标准,因此在安全性上具有保障。现在通过LibOS社区和英特尔开发人员的努力,很多项目已可通过LibOS放到SGX中运行。常见的深度学习的框架TensorFlow、PyTorch、OpenVINO、Python、Redis等都可放入LibOS,这个支持列表还在不断的拓展当中。
合作方面,早期第三代至强可扩展处理器发布一年前,阿里云硬件服务器上线前就已完成相关“安全飞地”、远程认证能力建立;最近,腾讯刚刚发布的《腾讯隐私计算白皮书》中,腾讯大数据和腾讯安全平台部已基于远程验真能力,提供这样的“安全飞地”;百度安全的MesaTEE的整体架构中,也应用了SGX安全服务,能够将数据加载到可信执行环境(TEE)。
“SGX尽管刚刚在服务器上实现实际的硬件搭载,但是从目前生态来看也得到了各个合作伙伴的支持,所以英特尔会很有信心在服务器领域继续为大家去提供全方位的数据隐私保护。另外,会让大家能够非常放心地在公有云上进行相对较为敏感的工作负载,包括代码和用户数据。”
Analytics Zoo是由英特尔主导的一个GitHub开源项目,项目整合了常用的计算框架、计算库和自动化流水线,能够减少很多用户的重复操作或者是框架整合。Analytics Zoo项目可以保证在大规模数据落地过程中,端到端的AI落地不需要进行重复的代码重写,也不需要进行大规模数据的拷贝。
在此方面,英特尔和蚂蚁集团也合作了一番。蚂蚁集团主导了名为Occlum LibOS的项目, 英特尔Analytics Zoo团队和蚂蚁集团的Occlum团队合作之下,这一项目可将大数据应用、深度学习应用无需过多改动,无缝迁移到第三代至强可扩展处理器平台上,实现安全可信的机器学习和大数据分析,同时实现一定程度的架构复用。在数据推理阶段,通过英特尔DL Boost技术,可在int8的低精度下实现两倍的性能提升。
三位一体的密码操作硬件加速
技术专家强调,英特尔提供的是硬件加速,对密码操作分为对称密码操作或是非对称密码操作,对称密码操作可能是通过电子签名这种比较标准的算法实现,而从硬件方面来对这些算法进行加速处理,可以帮助实现降低算力的损耗。
实际上,随着需求提升,密码操作的安全性也随之而升。假若AES从128位上升为256位甚至更长秘钥,这时对算力的要求是呈几何级数增长的。
技术专家强调,英特尔作为硬件提供商,需要在硬件上能够帮助软件层面的密码操作进行硬件的加速,英特尔也通过三种方式实现了硬件加速。
第一种是在CPU指令集中不断添加新的指令来帮助密码操作中实现硬件加速,一个较为典型的例子就是2000年左右,英特尔发现AES这种对称加密,在使用硬件或者是密钥向量级的加速之后,实现效率可以提升多达10-25倍。自那时起,英特尔便不断持续增强新的指令集进行硬件加速。
第二种是在CPU上进行微架构的调整,英特尔在设计微架构时会充分考虑新的指令集如何在硬件中融合,这方面的硬件加速在微架构上也有很好的体现。
第三种是在软件的优化上,英特尔拥有很大的软件团队,通过软件优化,结合硬件加速指令集的扩展,就可为业界提供密码操作硬件加速。
在这种三位一体的硬件加速之下,第三代可扩展至强处理器获得了相比上一代,公钥密码拥有5.6倍的OpenSSL RSA2048位签名能力,对称加密拥有3.3倍的单线程AES-GCM模式对称加密。
在非对称方面,技术专家为记者解释,Ice Lake中,面对特定的、超大的、超长位的数字,引用了AVX-512(Advanced Vector Extensions)这样的指令集,实现了基于整数的融合乘加的操作。通过乘加操作融合IFMA,再进行近似读取,接着通过VPMADD52指令,实现多缓存并行操作的机制,就可在RSA 2048这样的电子签名操作上实现比上一代CPU高达5.6倍的提升。
在对称方面,Ice Lake中,可以实现矢量的AES和矢量的Crray-Less Multiply(CLMUL),二者可为伽罗华域性能提升做出贡献,产生新的伽罗华域指令集。通过AVX-512提供的512比特位的寄存器的,进行向量操作,对AES加解密和Carry-Less进行没有进位的乘操作。除此之外,英特尔第一次在Ice Lake中使用全新的SHA扩展指令集。
以矢量CLMUL、矢量AES、VPMADD52、SHA扩展指令集、GFNI这五个新的指令集为代表的组合,使得Ice Lake可以对多个数据进行一次操作,帮助软件开发者极大降低开发难度,使得拥有SIMD的特性。技术专家强调,之所以在性能有如此强劲的展开和ISA指令集架构的实现,得益于AVX-512的引用,Ice Lake也是唯一能够支持AVX-512指令集的方案。
内置AI是领先业界的秘密
根据英特尔技术专家的解释,通过Ice Lake整个架构的改进,AI性能比前一代Cascade Lake系统能够有74%的性能提升,图像识别性能比竞争对手AMD EPYC 7763高25倍。
在AI软件工具上面,现在的CPU架构中,会大量利用到AVX-512指令集,目前在CPU平台上,英特尔的至强是唯一能够支持AVX-512指令集的方案。得益于这样的指令集支持,至强在多种人工智能的负载上都能够有非常优秀的性能表现,无论是对标AMD EPYC的产品还是英伟达的GPU解决方案。
实际上,根据技术专家的介绍,在此这个过程中,围绕架构和AVX-512指令集上英特尔和业界一起投入了大量的资源,在软件方案上进行了深度优化。一个典型的例子就是,在AI的开发应用中,在TensorFlow上优化的ResNet的性能,相较于默认发行版可以提升10倍。而作为TensorFlow之父谷歌,已认可英特尔在TensorFlow投入的优化性能。所以从最新版本2.5版开始,默认发行版就是英特尔的优化版。技术专家戏称,“下次我们就不能和默认发行版对比了,因为默认发行版就是我们自己的版本。”
除此之外,AI的很多经典机器学习应用中,Scikit-Learn是最流行的应用开发包,英特尔的工程团队也和开源社区一起优化了针对Scikit-Learn的机器学习的软件算法性能。通过英特尔的优化,在Scikit-Learn上可以获得100倍的性能提升。
技术专家为记者举例表示,Ice Lake比较典型的合作便是与阿里云在针对Transformer自然语言的深度优化,通过VNNI int8实现了3倍的性能提升。Transformer模型如今已在阿里云平台上每天服务百万级的用户,通过这样的性能改进,用户获得了更低的响应的延时,用户体验得到了更好的提升。
值得一提的是,Ice Lake第三代至强可扩展处理器平台上,还支持独特的第二代傲腾持久内存技术PMEM。根据技术专家的介绍,第一代导入傲腾持久内存技术之后,在业界就获得了非常好的反响,众多的客户正在投入各种应用与傲腾持久内存技术来合作。其中也产生了非常多的应用领域的创新。
据介绍,传统不是用傲腾持久内存方案需要用到较为昂贵的存储系统,造成的结果就是需要购买较多的DDR4内存,且适逢内存市场涨价。而英特尔的傲腾持久内存就可降低内存密集型服务的DDR内存成本,从客户合作的实际结果来看,成本的下降差不多可以达到30%。
总结
实际上,经历多年风云变幻的数据中心市场,性能拼杀仅仅是其中一环,除了对比性能,数据中心巨头还要比拼什么?安全性、AI处理性能甚至是产品线,前两者想必在大多数据中心新品发布会都频繁可以听到,通过上文将近五千字的技术解析中,想必读者已对英特尔在此方面的优势有所了解。产品线则代表着对应CPU的加速器、软件,这方面英特尔的实力更是毋庸置疑的。
要知道,现在的英特尔不仅是IDM,还是一个以IDM 2.0为战略的公司。英特尔不仅手握芯片生产的全部技术,还拥有第三代至强可扩展处理器平台,这一平台不仅能够直接扩展英特尔强力的SSD、傲腾持久内存,还能直接扩展英特尔旗下所有加速器包括独立GPU,FPGA,eASIC,ASIC,这一切又都可以在oneAPI上,使用开发者最为熟悉的语言进行任意开发。
仅仅从英特尔SGX、英特尔密码操作硬件加速和AI三方面技术,就窥探出如此众多的奥妙,可想而知,潜藏在Ice Lake中,被英特尔“堆料”的先进技术究竟有多强。除此之外,英特尔背后的封装互连、工艺制程和一众XPU的加持之下,Ice Lake可以说“强的可怕”。