查看原文
其他

re:Invent 首日:硬件创新加速,Serverless 冷启动技术突破

王一鹏、李冬梅 InfoQ 2022-12-06

2022 re:Invent 如约而至,带来了云计算领域年度最后一场重要的产品发布盛会,也多少为我们揭示了今年云计算的整体演进趋势。本次 re:Invent 第一场 Keynote 于太平洋时间 19:30 (北京时间 11:30)开始,由亚马逊云科技高级副总裁 Peter DeSantis 带来,主题聚焦于亚马逊云科技围绕性能、性价比、安全三方面因素综合考虑带来的创新和发布,涵盖了 Nitro v5 高性能芯片、C7gn 实例、ENA Express 解决方案等八大重要内容,整体可以分为芯片与实例、协议与功能更新两大部分。

1芯片与实例:服务高性能计算,平衡价格与安全
 新发布 Amazon Nitro v5 及 C7gn 实例

此次发布的 Amazon Nitro v5,在性能上较之前版本有显著提升,包括晶体管数量增加一倍,,提供了更多的计算性能,50% 的 DRAM 内存性能提升,2 倍的 PCIe 带宽提升,改善延迟 30%,同时每瓦性能提高 40%,PPS 提高 60%。

Amazon Nitro 芯片缘起于 2017 年,几乎是业内最早开始尝试将硬件虚拟化、云计算专用芯片整合而成一个统一架构平台的产品尝试,背后的核心的动力来源于亚马逊云科技对云计算本身的理解,即:弹性、安全、性能、成本、可用性及可持续性,这也是亚马逊云科技在云计算领域的建设理念。Peter 从其中最重要的“性能”谈起,讲述亚马逊云科技是如何在不断强化云服务性能的基础上,来兼顾其他因素的。

而在 Nitro 出现前,无论何种虚拟化方案,都无法将大部分资源用于客户的计算服务,也无法降低服务采用门槛,Nitro 实现了近乎裸机的性能是一种事实上的突破。

另外,云计算的安全问题自虚拟化技术诞生之初就伴随出现,Nitro 把安全性推到一个新的高度。每个 Nitro Enclave 运行一个独立的内核,并且可以独占访问内存和 CPU 资源,没有外部网络连接,没有持久存储,也没有用户访问权限,因此得以在部分数据高度敏感的行业得以一展拳脚。

Peter DeSantis 同时宣布,C7gn 实例将是 Nitro v5 支持的首个实例,这是进一步对高计算密集、高数据安全行业要求如生命科学、工业工程等提供专项服务的象征。我们通常说行业对算力的需求几乎是无限的,因此云计算的性能提升也是当下的核心命题,其主要依据即来自以上行业的工作需求。

C7gn 实例相比于 C7g 实例,为要求更严苛的网络密集型工作负载而设计和优化:包含网络虚拟设备(防火墙、虚拟路由器、负载均衡器等)、数据分析和紧密耦合的集群计算作业场景。C7gn 的另一项核心性能优势其实来自于本场发布的第三个产品,即 Amazon Graviton3E 处理器。借此,C7gn 得以支持高达 200 Gbps 的网络带宽,以及提高 50% 的数据包处理性能。

 新发布 Graviton3E 芯片及 HPC7g 实例

如果说,会前我们能对哪个系列的产品发布做出预测,那 Graviton 系列芯片的更新无疑是最为确定的。

为降低成本并为用户提供价格更优的服务,在 2015 年收购了以色列芯片设计公司 Annapurna Labs 后,亚马逊云科技加速了基于 Arm 架构的处理器的开发。Graviton 的第一个版本于 2018 年在 re:Invent 上发布,四年来,亚马逊云科技一直都在使用自己的芯片。

此次推出的 Graviton3E 芯片,是亚马逊云科技继去年推出 Arm 架构自研处理器 Graviton3 之后,针对高性能计算场景打造的新的芯片分支,与 Graviton3 相比,不仅将工作负载的性能提高了 35%,还进一步了优化浮点运算,耗能减少了 60%,用于金融相关运算也能提升 30% 执行效率。

在虚拟化应用部分,Graviton3E 芯片可模拟成最多 64 组虚拟 CPU,并且分配 128 GB 内存容量,最快将会在 2023 年初开始布署应用。

当然,作为亚马逊云科技的看家硬件之一,Graviton3E 也将支持更多的实例,HPC7g 就是其中之一。

HPC7g 基于 Graviton3E 提供服务,是结合以上提到的标杆行业的通用需求,进一步深化服务的实例。这种新的实例类型将有多种大小,最多具有 64 个 vCPU  和 128 GB 内存,这些实例将在 2023 年初正式商用。

HPC7g 同样是针对更多网络密集型工作负载业务场景提供服务的。如果将 re:Invent 当做云计算行业风向标来看,那么这次的发布至少说明一个问题:高密集工作负载场景的服务,一定是云计算近几年的主攻方向。

2协议与功能更新:Lambda 性能实现突破
 SRD 协议:Scalable Reliable Datagram(可扩展可靠数据报)

除了硬件与实例,会上,Peter 也表示,一切性能改进都源自于创新,但又不仅仅是创新,为了达到最佳性能,软硬件设施要高度融合、协同发展。

此次 re:Invent,亚马逊云科技发布了一种 SRD(可扩展的、可靠的数据报)网络协议。SRD 全称是“Scalable Reliable Datagram”,代表可扩展的、可靠的数据报。Peter 在此次发布会上重新强调 SRD 协议的重要性,该协议提供跨多条路径的负载平衡以及从丢包或链路故障中快速恢复功能,且性能优于 TCP 协议。

以 TCP 为代表的传统网络协议,为了保证网络传输的高可靠,会尽可能地将包发送至同一拓扑路径上,并且通过握手、挥手、超时重传机制保证包正确送达。SRD 的创新在于刻意的在多个路径分别发包,虽然包到达后通常是乱序的,但亚马逊云科技实现了在接收处以极快的速度进行重新排序,最终在充分利用网络吞吐能力的基础上,极大降低传输延迟。

另外,TCP 是个泛用协议,在今天的低延时场景,泛用的解决方案生存空间越来越狭小。我们固然可以通过各种优化、定制去对其作提升,但迭代的终点实际上就是创新。SRD 协议是围绕 Nitro 等一些系列硬件作专项优化的,可以将丢包重传的延时从毫秒级降低到微秒级,这彻底改变了我们对网络传输协议延时极限的推演,也验证了大型云计算服务提供商,开发自有定制化硬件的必要性。

 新发布 ENA Express

发布会上,亚马逊云科技还宣布推出了适用于 Amazon EC2 实例的 Elastic Network Adapter (ENA)Express。ENA Express 是一项新的 ENA 功能,它以 SRD 协议为基础,以两种主要方式提高网络性能:更高的单流带宽(从 5Gbps 最高提升至 25Gbps)和更低的延迟。

分布式存储系统和实时媒体编码等工作负载需要巨大流量,并且对延迟变化极为敏感。在推出 ENA Express 解决方案之前,用户通常会使用多路径 TCP 来增加带宽,但这会增加复杂性,有时可能造成与应用层不兼容。而当服务器因请求而过载时,TCP 也无法处理拥塞。这种情况下,可借助 SRD 专有协议,通过高级拥塞控制、多路径和直接从 Nitro 芯片重新排序数据包来实现这些改进。启用 ENA Express 是一个简单的配置,它使得启用 SRD 就像为 EC2 实例使用单个命令或控制台切换一样简单。与 TCP 相比,ENA Express 能够将流量的 P99 延迟减少 50%,P99.9 延迟减少 85%。

 新发布 Lambda SnapStart

此外,本次发布会另外一值得关注的重大发布就是 Amazon Lambda SnapStart。Amazon Lambda 是一项计算服务,是 Serverless 技术的先驱者和代表作品,可让使用者无需预置或管理服务器即可运行代码,它在可用性高的计算基础设施上运行代码,执行计算资源的所有管理工作,其中包括服务器和操作系统维护、容量调配和弹性伸缩和记录。

对于许多企业来说,Amazon Lambda 最大的优势就是模型操作简单、价格经济实惠。但许多团队在调整服务来部署 Amazon Lambda 时面临着一大挑战——冷启动,也就是为功能准备新的执行环境时产生的延迟,通常要经历更长的初始化时间。这是 Serverless 自诞生以来一直存在的技术障碍,此次 Amazon Lambda SnapStart 新版本的发布正弥补了这一不足。

据 Peter 介绍,Lambda SnapStart 版本是基于 Java 函数的重大改进,专门解决了 Java 函数冷启动引起的延迟问题。Lambda SnapStart 可将 Lambda 函数冷启动持续时间从超过 6 秒降低至不到 200 毫秒,并使延迟率降低 90%,而且无需额外费用,而且通常无需更改用户的功能代码。

解决 Serverless 冷启动问题的惯性思路是加入更多的缓存,但对于亚马逊云科技来说,成本开销的平衡必须被考虑其中,因此该方案还不够好。终版方案的关键之一在于引入了 Amazon Firecracker,这种发布于 2018 年的开源 KVM 虚拟化技术,以极低的开销和启动、关闭速度帮助亚马逊云科技搞定了 Lambda SnapStart 面对的技术问题。Firecracker 的每个实例被称为 microVM,每个 Firecracker microVM 仅使用大约 5 MiB,也就是 5.24 MB 的内存。这意味着可以在单个虚拟 CPU 上运行数千个 Firecracker microVM。

值得一提的是,Peter 称 Amazon Lambda SnapStart 版本自发布起免费向公众开放。

Amazon Lambda SnapStart 扫描工具项目地址https://github.com/aws/aws-lambda-snapstart-java-rules

在亚马逊云科技开发者社区官网,我们发布了关于本次 re:Invent 更全面的信息资讯,点击阅读原文即可访问。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存