《阿里云:2022云栖大会倚天专场演讲实录:倚天开启云原生算力新时代(71页).pdf》由会员分享,可在线阅读,更多相关《阿里云:2022云栖大会倚天专场演讲实录:倚天开启云原生算力新时代(71页).pdf(71页珍藏版)》请在三个皮匠报告上搜索。
1、封面页(此页面将由下图全覆盖,此为编辑稿中的示意,将在终稿 PDF 版中做更新)(待分享)卷首语 2021 年云栖大会上,阿里云发布自研的基于 Arm v9 架构的倚天 710 芯片,这是一款云原生处理器,无超线程概念,用户可以享受物理核的极致性能体验。随后,阿里云推出了采用倚天 710 芯片的倚天云服务器,超强实例、极致性能,在阿里巴巴集团内部及外部客户的试用效果都非常好。2022 年的 11 月,我们再聚杭州云栖大会,并通举办倚天专场的技术分享,全方位展示倚天云服务器在云原生时代的性能表现。在产品层面,来自阿里云的架构师将系统、深度而又全面地介绍倚天云服务器背后的技术奥秘,包括芯片架构设计
2、、硬件架构设计、软件优化实现方案以及七大场景下的性能收益等;来自安谋科技(Arm China)的技术专家也将从 Arm 架构出发,分享 Neoverse 生态与软件迁移实践。在应用实践上,既有阿里云自身在视频云原生业务新范式的探索,数据库 RDS在技术演进方面的实践总结,也有北京科学智能研究院的嘉宾分享倚天云服务器在材料研发这一科学计算场景下的适配与调优、万核级别的算例验证。在迁移实践上,阿里云程序语言与编译器方面的技术专家将从迁移工具支持、一键式调优、软件管理以及跨架构迁移实践等方面,介绍倚天平台全栈应用性能优化与迁移最佳实践,同时也将发布开箱即用的智能优化方案和面向开发者的倚天ECS 开发
3、指南。倚天“利剑出鞘”,破晓来袭,关于“倚天 ECS 云服务器”更多内容,邀您移步正文品读。目录 一、揭秘 ECS 倚天实例背后的技术.5 二、Neoverse 生态与软件迁移.20 三、阿里云倚天 710 实例助力 ABACUS 新实践.36 四、基于倚天的视频云原生业务新范式.46 五、RDS On 倚天 ECS 的技术演进.56 六、倚天平台全栈应用性能优化与迁移最佳实践.62 一、揭秘 ECS 倚天实例背后的技术 5 一、揭秘 ECS 倚天实例背后的技术 作者:张先国,阿里云弹性计算高级架构师 11 月 15 日,阿里云 ECS 倚天实例正式开始商业化。此前,阿里巴巴在 2022 云栖
4、大会上宣布,阿里云未来两年 20%的新增算力将使用自研 CPU。11 月 5 日,云栖大会“倚天开启云原生算力新时代”专场上,阿里云弹性计算高级架构师张先国作为分享嘉宾,带来了题为云原生算力新时代:倚天 ECS 技术揭秘的主题分享,本文根据该演讲整理而成。阿里云弹性计算高级架构师 张先国 1.背景:算力需求暴涨、摩尔定律失效 当前,企业云上业务需求趋势正在大幅增长,算力需求呈“爆炸式”递增。直播/短视频行业每天有上亿用户产出 UGC 视频内容发布在不同平台,产生百万核级视频编码算力需求和高业务成本。基因/制药行业涉及到的分子动力学模拟、基因序列对比、蛋白结构分析,原来以实验为主,今天计算机模拟
5、为主,从原子-分子单位的行为进行计算,消耗大量的算力。一、揭秘 ECS 倚天实例背后的技术 6 电商行业从流量为主转变为精益化运营过程中所需的 AI 推理、大数据画像,智能精准推荐对算力需求也越来越旺盛。以 AI 为代表的算力规模每三个半月就会翻一倍。然而,在算力需求暴涨的同时,摩尔定律演进速度却在减慢,硬件技术进步的红利见底。如今,每迭代一代 CPU,服务器和数据中心的功耗和成本攀升,每千瓦芯片功耗在生命周期内带来上万美金的成本;硬件和芯片的成本也在逐代上涨。在云这类面向多租户的场景下,超线程(HT)架构的问题逐渐暴露出来,面对一些高密计算任务时很难满足业务需求,共享内存与物理核的机制导致租
6、户之间处理任务可能需要相互排队,导致性能大幅下降;或者互相干扰的情况导致性能波动。一、揭秘 ECS 倚天实例背后的技术 7 如何能在实现高性能(减少干扰)的同时实现低功耗、低成本?我们认为,以此前的技术方案,无法解决业务需求和痛点,需要设计一款云原生芯片,结合现有的阿里云软硬件架构,才能更好地解决客户应用的需求。我们先来看下结果:在编解码的场景下,ECS 倚天实例和传统实例相比,实现了 80%的性价比提升,数据库场景、AI 推理场景、大数据场景也都分别有着 30%、70%、50%的性价比有效提升。目前,ECS 倚天实例已应用于阿里巴巴集团核心业务,并服务科学研究、智能手机行业和多家知名互联网公
7、司。2021 年双 11 期间,天猫双 11 核心交易系统平滑迁移至倚天 710 云实例,算力性价比提升 30%;汇量科技广告推理业务使用倚天 710云实例,性能和网络带宽双双提升,性价比提升 40%以上。2.“倚天”利剑出鞘:软硬一体的云原生 ECS 架构 ECS 倚天实例是如何实现大幅的性价比提升的?我们从不同 ECS 产品架构层面,包括:云原生处理器倚天 710、云计算基础设施处理器 CIPU、云原生应用优化方案 ECS Booster 等不同层面,给大家分享。倚天 710:高性能、低功耗 我们先来看下倚天 710 处理器在设计上,是如何解决上述问题的。从芯片层面看,主要影响应用性能的四
8、大要素包括 ALU(逻辑计算单元)、Cache、主频、加速指令。首先,倚天 710 单颗 CPU 即实现了 128 核的高密度设计,高规格实例可以实现线性的性能增长;同时处理器无超线程概念,避免了性能争抢的问题:独享物理核,性能更强劲;独享 Cache,应用缓存更高效。一、揭秘 ECS 倚天实例背后的技术 8 x86 架构是两个 vCPU/HT 共享一个物理核,1 份 ALU(算术逻辑运算单元)。ECS倚天实例采用的是独享物理核心方式,这可以让算力密集的计算指令不必排队、不必争抢,计算速度更快。在 Cache 维度,过去两个 vCPU/HT 共享一二级缓存,相互争抢,性能波动较为严重。采用倚天
9、 CPU 独享 Cache 的设计,让 vCPU 之间相互不影响,为重负载计算带来更高性能。一、揭秘 ECS 倚天实例背后的技术 9 影响算力性能的关键因素,除了核的资源,还有主频 大家知道为什么多数 Web、App、DB 的生产业务 CPU 使用率的安全水位线是 50%,日常水位低于 30%吗?以下图中的视频编码为例,并发超过 4 路后,性能下降 40%;再加上前面说到的核争抢问题,如果客户的实际业务超过 50-60%水位,关键生产应用将响应放慢,客户感知卡顿甚至超时问题。因此需要将 CPU 使用率安全水位压低,牺牲成本保证安全,浪费了另外 50%资源。背后的原因是 x86 功耗大,高算力负
10、载很容易造成功耗过大,温度上升,因此采用降频规避,进而影响了性能。而倚天 710 的功耗是主流 x86 的 1/6,没有任何降频问题。同时也推荐倚天的安全水位可以提高到 70-80%,减少资源浪费。在云上多租户共用平台,即使用户运行低负载应用,也存在相互影响的风险,倚天彻底解决了此问题。下图展示的案例就可以看到,在视频编解码四路以上时,代表倚天的橙色部分基本保持恒定,x86 则会降低幅度 40%。值得一提的是,倚天 710 还针对特定算法场景进行了加速与优化。比如像 NEON、SVE 等矢量计算技术,可以让单条指令处理更长的数据,可以大幅提升机器学习、视频编码和高性能计算等场景性能;另外,倚天
11、实例还支持 BF16 和 INT8,在机器学习场景下,大幅提升计算效率,为客户提供更多选择。一、揭秘 ECS 倚天实例背后的技术 10 以 CIPU 为中心的架构:高密、稳定、强劲 除了芯片本身能力,为了实现降本增效,倚天ECS实例基于云原生的硬件架构设计。传统的服务器常常设计为 2 路或 4 路,通过多 NUMA 互连的方式提升整机 CPU 密度,让一个 OS 调度更多 CPU 算力,却也增加了复杂度。在这种架构下,随着核数增加,网络和存储 IO 也快速翻番,还要保持跨 NUMA cache 一致性,导致应用性能下降;同时也带来爆炸半径过大的问题,在云计算场景下,多路的设计会让局部硬件故障的
12、影响范围更大。阿里云采用云原生的思想重新设计。倚天 710 CPU 单颗 CPU 即实现了 128 核的高密度设计,同时以 CIPU 为中心的硬件架构,通过 CIPU 连接 2 颗或者更多倚天的芯片,去 NUMA 方案下实现整机核密度更高,避免了跨 NUMA 带来的性能下降,同时由整机的高密度带来了成本下降,使得倚天实例更有竞争力。同时,多单路的硬件机型设计,爆炸半径减半,产品更稳定。此外 CIPU 硬件本身也是创新性的设计,通过将虚拟化与 IO 转发等数据面卸载到专用硬件上进行加速,消除了原来虚拟化损耗与性能争抢,并大幅加速了 IO,也会使得整体性能更高;VPC 环境下支持弹性 RDMA 加
13、速能力,相比 TCP 时延降低 70%以上。一、揭秘 ECS 倚天实例背后的技术 11 ECS Booster ECS Booster是阿里云在倚天实例上提供的软件性能优化方案,通过网络中断优化、操作系统优化、应用层优化等技术,针对 web、APP、数据库等主流场景进行优化,运行在倚天实例上阿里云 PaaS 产品的性能获已经实现得显著性能收益,相信也能给客户业务场景带来明显受益。3.全场景性能大幅提升 11 月 15 日,ECS G8y(倚天实例)将正式上线,产品规格覆盖 1-128 核,全面搭载 eRDMA 加速能力,可以大大提升软件性能。一、揭秘 ECS 倚天实例背后的技术 12 ECS
14、G8y(倚天实例)有着性能卓越、生态丰富,绿色降本三个方向的业务价值,其中关于性能收益及增长方面有着很好的数据表现。前文说到的云原生处理器和创新的硬件架构,最终在应用上有哪些性能收益?我们从 Web、App、Media、DB、大数据、科学计算、AI 推理等七个最广泛场景来看产品性能表现。Web 场景:综合性能提升 30%Web 场景是互联网中应用场景最多、消耗服务器资源最多的场景。为了解决移动场景流量和体验问题,服务端常常采用网页压缩方案节约带宽。但压缩算法非常消耗CPU 算力和时间,导致队列中多客户请求时延变长。倚天拥有独立 CPU 物理核,结合 SVE 指令加速,单 vCPU 数据压缩性能
15、翻倍,前面提到的体验影响减半。Web 场景包括 Nginx、Apache、NodeJS、PHP 等排名靠前的应用,倚天实例对比阿里云 G7 系列实例,综合性能提升 30%左右。阿里云防火墙 CFW 已经实现倚天 ECS 迁移。CFW 为客户业务提供安全防护,需进行大量正则表达规则进行扫描,消耗大量算力,影响业务性能。采用独享物理核的ECS 倚天实例,实现安全和体验收益兼得。在不同正则匹配性能优势分别为 23%、40%、28%。一、揭秘 ECS 倚天实例背后的技术 13 App 编程语言性能:多数性能提升 40%不管是编译型语言 C、Go 等还是无需编译的语言 Java、Python 等,都很好
16、的平滑兼容 ARM 架构,我们可以看到,使用开源的 Benchmark 进行测试,应用运行在 ECS倚天实例上获得的性能提升多数有 40%。编解码场景:20-40%性能提升 短视频和直播是如今最火热的应用,UGC 时代内容指数级增长,编解码算力消耗也随之增长。如今最流行的 H.264 算法速度快,节约算力,但是编码后的文件更大,一、揭秘 ECS 倚天实例背后的技术 14 消耗更多存储和带宽。H.265 可以很好解决此问题,使用比重快速增长,但多消耗1 倍算力成本。无论是在哪种场景下,倚天的视频编解码性能均比 x86 实例更高,成本更低。如图,上述两类视频编码规范的编码器 X.264、X.265
17、 运行在 ECS 倚天实例上,都收获了 20-40%性能提升;这个过程中我们进行了大量矢量指令优化,使性能大幅提高,优化软件可以向客户输出。数据库场景:10-30%性能提升 数据库场景下,运行在 ECS 倚天实例上,相较与 G7 实例,开源软件 Redis、Memcached 有 30%性能优势,MySQL 和 PGSQL 有 10-20%性能优势。阿里集团电商业务所使用的Tair数据库也已经迁移到倚天平台,协议上兼容Redis,性能是开源 Redis 数据库的 3 倍。Tair 支撑了多年天猫双 11 大促,有强大的缓存能力,需要把数据缓存到内存,消耗 Memory 资源。我们采用倚天强大的
18、算力优势进行数据压缩,让内存成本降低 60%,叠加倚天实例自带的 eRDMA 加速能力,可以提升吞吐量 80%,时延降低 15%以上。目前基于 ECS倚天实例的 Tair 产品已经上线,大家可以在云上使用。一、揭秘 ECS 倚天实例背后的技术 15 大数据场景:20-60%性能提升 在需要消耗大量 IO、大量计算以及高内存带宽的大数据场景中,ECS 倚天实例由于拥有独立物理核、Cache 更大、网络时延更低等特点,运行 Spark 应用性能收益 20%以上,搜索 Elastic Search 和流计算 Flink 场景性能收益达到 40%和 60%。上述大数据开源软件,直接编译即可在倚天实例上
19、运行,欢迎大家试用。一、揭秘 ECS 倚天实例背后的技术 16 科学计算:20%以上性能提升 在科学计算等场景下,相比于同规格 x86 云实例,运行在倚天实例上的基因、制药,汽车领域等方面的算法都有 20%左右的收益,我们近期有两个伙伴测试分子动力学和 EDA 应用,甚至实现了性能翻倍。这主要是由于科学计算场景使用的主要是物理核资源,倚天实例与同规格的 x86 实例相比,核物理核数量是后者的两倍,计算性能更高。阿里云弹性高性能计算平台 E-HPC、弹性伸缩等云上工具已经支持 ARM 平台,主要科学算法也都可以平滑兼容。AI 推理:性能提升 1 倍 AI 场景算力消耗增长飞快,成本占比急剧上升。
20、推理场景下典型的搜推广客户都无法接受下调精度(影响模型准确度)降本。阿里云弹性计算团队和达摩院合作,推出了 HIE-Engine 动态量化方案,利用倚天实例的 INT8 加速能力,可将 RestNet 和 Bert 场景性能提升 1 倍,且精度没有损失。一、揭秘 ECS 倚天实例背后的技术 17 4.降低碳排放、降低成本 对于企业客户来说,除了业务性能表现,IT 碳排放和成本也很重要的一环。今天的这款倚天处理器,可以在 CPU 负载 30%的情况下,每 vCPU 功耗比 x86 降低 6 倍,整机功耗降低 60%以上。碳排放也等比降低。全国 IDC 年耗电量约 2000 多亿度,相当于两个三峡
21、大坝的发电量,采用倚天实例进行替换,可以省下一整个三峡的电量。一、揭秘 ECS 倚天实例背后的技术 18 除了绿色低碳,企业还能降低 IT 成本,大家可以看图中的定价,倚天实例对比最新一代主售实例定价是 30%、23%、22%的降本幅度,将技术收益让利给客户。使用这款产品会获得更好的性价比。在前面提到的七大主要应用场景,平均性价比(性能价格)收益可达 50-80%。5.丰富的软件生态及应用案例 下图为 ARM 服务器软件生态,包括主流 OS、编程语言、Lib 库、开源应用。这些软件我们都做过使用和测试,可以做到无需修改代码即可运行。迁移文档、迁移工具等方案可以点击这里。一、揭秘 ECS 倚天实
22、例背后的技术 19 目前在阿里云产品中,RDS、容器、PAI、视频云等多款 PaaS 产品接入倚天 ECS;阿里集团电商业务也使用了倚天 ECS,有效支撑阿里 618、99 大促以及双 11 大促多个活动。外部有短视频、Web、游戏、广告等客户提前使用了新产品。最后总结一下关键词。技术关键词 倚天 710 云原生处理器(独立物理核、重新定义 CPU 水位)、CIPU 为中心的硬件架构(业界最高密度、NUMA less 提高稳定性、硬件加速)、ECS booster 方案(加速应用性能)。关键数字 性能提升 30%以上,性价比提升 50%;节约用电 1 个三峡。再次感谢各位见证硬核技术的倚天专场
23、,今天倚天的一小步,将是改变未来IT历史、改变云计算浪潮的一大步,感谢大家!点击这里,查看 ECS 倚天实例产品详情页。二、Neoverse 生态与软件迁移 20 二、Neoverse 生态与软件迁移 作者:别再平,安谋科技(Arm China)高级软件经理 2022 年 11 月 5 日,“倚天开启云原生算力新时代”专场在杭州云栖大会 D 馆云栖科创 SHOW 场举行,安谋科技(Arm China)高级软件经理别再平带来了题为Neoverse 生态与软件迁移的主题分享,详细的介绍了 Arm Neoverse 生态及性能优势和迁移建议,本文根据该演讲整理而成。安谋科技(Arm China)高级
24、软件经理 别再平 1.Arm 完善、丰富的生态成为国内外多家云厂商首选 在 Arm 的生态系统中包含 CPU 架构、CPU 微架构,芯片实现三个概念,CPU 架构定义了用户对 CPU 核心的期望行为,包括寄存器、内存模型,异常模型等等,而 CPU微架构则是一个 CPU 核心的具体实现,芯片则是芯片厂商在 CPU 核心的基础上配合各种加速器和总线互联最终实现。二、Neoverse 生态与软件迁移 21 同一个 CPU 架构可以有不同的微架构实现,例如上图右侧中的例子:Arm 的 Cortex A710 和 Arm 的 Neoverse N2 两款 CPU 核心,都是基于 Armv9.0 架构实现
25、,同一款软件也同样可以在两款 CPU 上运行。上图中展示的是 Arm 的 CPU 架构演进,Arm 自 2011 年推出基于 64 位的 Armv8 架构以来,保持着逐代演进的节奏,根据市场和客户的需求,不断地在安全、性能、功能等方面加入不同的 CPU 特性,不同的 CPU 特性会组合成为一个 CPU 扩展,也就是一个小(新)版本。Arm 的 CPU 版本是逐年演进且向前兼容的,像 Neoverse 二、Neoverse 生态与软件迁移 22 N2 是基于 Armv9 的架构,它可以同时兼容前代架构的所有特性,系统软件等也可以通过查询系统寄存器了解当前硬件所实现的具体 CPU 架构特性。201
26、8 年 Arm 战略性地将服务器芯片设计和传统客户端芯片设计分离,推出了 Arm Neoverse 产品线,纵向看 Arm Neoverse 平台有三个系列产品,V 系列、N 系列和E 系列。V 系列强调性能,可提供最高单核处理能力,主要用于 HPC 和数据中心云应用等;N 系列更注重性能、功耗和面积的平衡,具备最高的可扩展性,主要适用于数据中心、云计算应用;E 系列更注重功耗和面积,主要应用于无线接入等功耗受限的领域。横向看 Neoverse 平台近几年推出的 CPU 产品,N1 平台是第一代聚焦基础设施的CPU实现,目前已经获得广泛应用。在服务器领域,基于N1的产品有AWS和Ampere的
27、服务器芯片,DPU 领域有英特尔基于 Neoverse N1 的 DPU 实现。第二代是 V1,属 V 系列产品,更注重单核性能,新增 2256 的 SVE 加速引擎,AWS 的 Graviton 3 是基于 V1 来实现的,并且已经于今年 5 月份正式商用。N2 是第一个支持 Armv9 架构的 CPU 核心,支持 2128 的 SVE 引擎,倚天 710 芯片也是基于 N2 平台实现的。二、Neoverse 生态与软件迁移 23 Poseidon 平台基于 Armv9.2 架构,在 N2 的基础上性能再提高 30%,且增加了 CCA架构特性,支持机密计算。上图展示的是 Arm Neover
28、se 平台推出以来,在最近两年时间里取得的一些成就。可以看到在云上,AWS、微软、谷歌、阿里云等都推出了基于 Arm Neoverse 的云实例。在智能网卡领域,Marvell 推出了基于 Neoverse 的智能网卡,谷歌云和英特尔联合推出了“Mt Evans”DPU。在企业领域,惠普发布了基于 Ampere 的 ProLiant Gen11 平台,也代表 Arm 正进入传统的企业领域。同时在规范方面,Arm 推出了 System Ready 认证项目,针对Arm 系统的软硬件进行测试认证,确保最终 Arm 的系统可以开箱即用和安装多样的操作系统,过去两年已经有五十多个系统获得 System
29、 Ready 认证。二、Neoverse 生态与软件迁移 24 聚焦云计算领域,从上图中可以看到 Arm Neoverse 系统已经被部署在公有云、私有云,混合云等方方面面,且已经被国内外主流云计算厂商所采用,比如阿里云、腾讯云、AWS、微软、谷歌等。在云原生的软件生态方面,Arm 持续致力于开源软件开发和支持。目前 Arm 对超过 100 个开源项目进行投入,可以看到(上图)自下而上从网络、OS、虚拟化、容器,编程语言以及各种上层应用负载,Arm 都有很完善的支持。对 二、Neoverse 生态与软件迁移 25 底层网络侧的 DPDK、OVS、ODP 均可支持。在语言层面,OpenJDK、G
30、oLang 等也都可以在 Arm 平台上直接运行,包括压缩方面的主流计算库,Arm 也可以很好的支持。顶部(上图)列出了一些主流的云负载应用,有常见的一些数据库、缓存、Web 服务器、大数据、存储等。左侧(上图)中可以看到 Arm 在 CI/CD 领域也有很大的投入,GitLab、Github Actions、Travis 等都原生支持 Arm 系统,方便开发者在 Arm系统上进行开发构建。在操作系统领域,从主流的发行版 OS 到社区版 OS,Arm 都已经是所谓的”第一等公民“,Red Hat Enterprise Linux、CentOS、SUSE、龙蜥社区等对 Arm 系统都有原生支持。
31、二、Neoverse 生态与软件迁移 26 在编译器领域,在 GCC 和 LLVM,Arm 和生态伙伴一起合作,持续投入,确保在Silicon 硬件系统面世以前,相应的架构特性和微架构实现就在编译器中获得支持。随着编译器版本的更新,Arm 会逐步支持相应架构特性,以及相应微架构实现,保证客户用最简便的编译方法获得最优化的运行性能。从另一角度可以看到,Arm 会把自己的 IP 路线图和编译器路线图相配合,例如在2024 年之后,相应的编译器就会支持 Poseidon,我们会在 Poseidon 平台落地前,就把相应的功能支持加入到编译器当中,保证最终用户拿到硬件之后可以第一时间用现有的编译器获得
32、最好的性能。2.多兼容、可扩展,Arm 多业务场景性能大幅提升 下图中列了 Neoverse 平台的 N1、N2 两款 CPU 核心以及 Cortex A72 的性能对比及架构特性的增强。Arm Neoverse N1 这款 CPU 核心,对比 Cortex A72 有 60%的性能提升,同时降低了 30%的功耗。Arm Neoverse N1 加入了很多服务器领域的架构特性,例如独立的L2 Cache,支持原子操作,同时也支持基本的 RAS 特性。二、Neoverse 生态与软件迁移 27 接下来的 Neoverse N2 CPU 核心,在 N1 基础上提升了 35%的性能,且保持了同样的功
33、耗,使得 N2 有了非常好的可扩展性,同时 N2 也是第一款支持 Armv9 架构的CPU 实现,尤其指出 N2 实现了 MPAM 架构特性,类似于传统 x86 的 RDT,可以把内存及cache进行隔离划分,可以避免系统抖动及云环境下多租户之间的相互影响。使用基于 Arm Neoverse 平台的服务器,可以获得更高的性能,更低的功耗,以及最终带来更低的部署成本。二、Neoverse 生态与软件迁移 28 给大家列一个端到端的例子,上图中包含网络服务的端到端的解决方案,可以看到从整个解决方案中的各种软件,Arm 都有相应的性能提升,比较熟悉的包括前端的web 服务、反向代理、防火墙,后端的数
34、据库、缓存,以及业务处理的 Java、视频编解码等,Arm 系统相对于同代的 x86 系统,都有 20%以上的性能优势。相对于第一代N1来说,N2在各种应用负载上均有大幅的性能提升,在MemcacheD、MySQL、NGINX 上分别有 30%、29%、48%的性能提升。二、Neoverse 生态与软件迁移 29 上图中为大家展示的是我们基于 Neoverse N2 的倚天 g8y 实例,和传统 x86 实例的实测对比结果,我们对 Web 服务器场景进行测试,使用默认的编译器及软件版本,最终测试得到的结果显示,对于 HTTP 场景下,g8y 实例相对于 x86 实例有 20%的性能优势。如果再
35、考虑加密层面,针对 HTTPS 进行测试会有 38%的性能优势。倚天 g8y 实例将于 11 月 15 号正式商用,相应的测试参数都在上图中列了出来,大家可以参考进行对比测试。同时我们也进行了内存数据库 Redis 的测试,在 pipeline 参数分别设置为 1、50、100 的情况下,基于倚天 710 芯片的 g8y 实例相对于 x86 实例分别有 10%、20%,36%的性能收益。其中整个软件都是直接用现有的开源软件项目直接下载并直接编译安装,无需经过任何手动优化即可获得图中的结果。3.有效操作优化保障代码安全,实现性能提升 在上文中我们已经看到,Arm 本身有很完善的软件生态,尤其在云
36、原生领域,用户在使用的时候,基本无需进行特殊代码改动,接近于开箱即用的场景,我这边给到大家的迁移建议主要是针对一些自研非开源的软件,尤其是大家之前的软件中使用了一些针对 x86 系统的手动优化,在这些场景下,主要是在 SIMD 并发处理和内存访问优化方面给大家提一些建议。二、Neoverse 生态与软件迁移 30 首先是 SIMD 单指令多数据的优化,通过使用这种技术,我们可以在一条指令中同时执行多个操作,提高操作并行度,进而最终提高 IPC。Arm 架构主要包含两个架构扩展,Neon 和 SVE,特别适合用在一些数据量比较大的处理场景,起到加速作用,例如视频编解码、图形图像处理、音频语音处理
37、、压缩与解压缩,以及一些网络的处理等等。首先来看 Neon,我们可以把一个 128 比特的寄存器,当做是几个元素的集合,元素的大小可以是 8、16、32、64 位,元素可以被当作整数或者浮点数进行处理,但 二、Neoverse 生态与软件迁移 31 是要保证这里面的每个元素和数据类型是相同的,对应的元素会组成一个通道,当我们执行一条 Neon 指令的时候,就可以同时处理多个数据元素,提高效率。再看 SVE 架构扩展,其功能和 Neon 类似,但 SVE 相比 Neon 主要有两个方面的优势:从架构角度看,Neon 寄存器宽度固定为 128 比特,限制了它的扩展。SVE 在架构上允许从 128
38、一直到 2048 比特的位宽,只要是 128 比特的整数倍就可以,给了设计者更大的灵活度。从软件角度看,SVE 在软件上不需要关心 Vector 具体的宽度,开发人员只需要写一套代码,就可以运行在不同硬件上。二、Neoverse 生态与软件迁移 32 关于使用 Neon 和 SVE 加速,最常用的方式是通过传入一些编译选项,或者编译器识别当前 CPU 类型去自动应用 Neon 和 SEV 加速。但如果大家发现了一些热点想要手动进行优化的时候,建议直接用 intrinsics 方式,相对于汇编代码,代码逻辑更清晰且更容易编写,同时也便于编译器进一步进行性能优化。关于性能优化的例子:Arm 在 S
39、PDK 当中应用 Neon 对算法进行优化,无论编码还是解码,基本上都有大约 2 倍的性能提升,在 SPDK 内存清零操作中,使用 SVE 加速获得了 8 倍的性能提升。右侧(上图)是代码的示例,通过代码示例,在右下角也可以看到,这套代码没有具体 vector 宽度的指定,不管最终 SVE 硬件的宽度是 128 还是 256,都可以直接运行。另外也可以看到这个 SVE 版本的循环没有针对尾循环的特殊处理,因为 SVE 扩展配合特殊的循环指令以及相应的掩码预测寄存器,可以自动处理尾循环。二、Neoverse 生态与软件迁移 33 Arm 和传统 x86 CPU 之间一个很显著的区别是它们的内存模
40、型(memory model)。大家最直观的内存序是顺序内存序(SC),这种情况下所有的内存操作都不会乱序,好处是容易理解,但对于 CPU 的实现限制太严,会严重影响 CPU 性能。目前比较多的是 x86 采用的 TSO 模型,相对于第一种 SC,解除了一些限制,允许存储和加载这两个操作乱序。Arm 架构则采用了一种限制更少的 memory model,这种模型下所有的内存加载和存储操作都可以进行乱序,这样给了微架构设计者最大的自主权,可以带来更高的性能。二、Neoverse 生态与软件迁移 34 Arm 为了提高性能允许各种内存操作进行乱序,当我们需要按照一种固定的顺序执行时,Arm 提供了
41、各种内存栅栏来保证内存访问的顺序,帮助大家来保证代码正确性。从左到右(上图)分别是 Load-Acquire/Store-Release 半栅栏、DMB 全栅栏、DSB、ISB,屏障的限制越来越强,对性能的影响也越来越大,在保障正确性的前提下,尽量选择比较弱的栅栏,做到恰到好处地实现正确性和性能的平衡。我们的建议是写代码时,先选择比较强的栅栏,保证代码的正确性,后续进行代码评测优化的过程中如果发现成为瓶颈的话,再选用一些比较弱的栅栏进行优化。上图是 Arm 对 DPDK Virtio 应用进行优化的例子,包含前端后端,通过一个队列进行通信,相当于一个生产者一个消费者。这里最初使用的是全栅栏,后
42、续在性能测试时发现是一个瓶颈,做优化时把相应的全栅栏 DMB 换成了半栅栏后,在 PVP 测试场景下获得了 20%的性能提升,只要改动这一处即可达到性能提升的效果。二、Neoverse 生态与软件迁移 35 这里说明一下,Arm memory model 是一种硬件定义的内存模型,对于大多数情况,我们并不建议大家直接操作依赖于具体架构的汇编代码,一种更推荐的方式是借助于语言定义的 memory model,例如我们可以使用 C+11 或者 C11 的 memory model,调用其 API,这样工具链会处理语言的 memory model 并自动映射到最终硬件架构的 memory model
43、,这样的操作方便移植且不容易出错。最后再次强调,与内存序相关的编程非常复杂,memory model 是非常容易出问题的点,我们必须仔细权衡其正确性和性能。为了代码的安全,建议大家在开发初期可以使用一些较强的屏障指令保证逻辑正确,在后续的代码优化过程当中,通过移除一些冗余屏障或在必要时切换到较轻的屏障,最终达到提高性能的目的。三、阿里云倚天 710 实例助力 ABACUS 新实践 36 三、阿里云倚天 710 实例助力 ABACUS 新实践 作者:蔡淳,北京科学智能研究院高性能计算团队负责人 2022 年 11 月 5 日,“倚天开启云原生算力新时代”专场在杭州云栖大会 D 馆云栖科创 SHO
44、W 场举行,北京科学智能研究院高性能计算团队负责人蔡淳发表了倚天助力 AI for Science:ABACUS 新实践的主题分享。本文根据该演讲整理而成,主要分为三个部分:1)AI for Science 探索材料研发新范式 2)倚天 710 的适配与调优 3)基于 E-HPC 的万核级别算例验证 北京科学智能研究院高性能计算团队负责人 蔡淳 三、阿里云倚天 710 实例助力 ABACUS 新实践 37 1.AI for Science 探索材料研发新范式 首先,讲一讲 AI for Science 如何定义材料研发流程中的新范式。材料创新是药物设计、新能源等领域发展的源动力。材料研发的范式
45、由传统的大量重复实验试错,升级为先通过理论模拟筛选出可能的材料,再进行验证研发的计算驱动流程。但是,在进行理论模拟的过程中,维数灾难阻碍了高精度计算的进行。借用保罗狄拉克所说:“有了量子力学之后,对于所有的化学问题和大部分的物理问题,所依照的基本物理定律都已经明确,困难仅在于这些定律的精确应用会导致数学方程过于复杂而无法求解。”三、阿里云倚天 710 实例助力 ABACUS 新实践 38 为了解决维数灾难的问题,科学家把最基础、最精确的物理模型层层抽象,在不同体系中,选择相对应的物理模型,以保证能在合理的时间内给出计算结果。但不同尺度的物理模型,在时间和空间上有多个数量级的差异,结果的精度也有
46、不小差距。AI for Science 方法旨在解决上述问题:它能够通过机器学习的方式,将高精度方法下学习的特征应用到更大体系下,同时拥有高精度的计算结果,以及高效率的求解时间。在原子尺度分子模拟方法方面,还存在一些挑战。传统的分子动力学方法,需要科学家提供力场经验参数,势函数开发周期非常长。对于密度泛函理论(DFT)来说,DFT 软件的代码分支非常庞杂,研发周期长;DFT算法使用了交换关联泛函近似,但精度越高的近似方式计算量越大。三、阿里云倚天 710 实例助力 ABACUS 新实践 39 深度势能方法是基于机器学习的分子动力学方法。它很好地耦合了科学计算、机器学习与高性能计算。左侧的图展示
47、了深度势能方法的训练流程。它通过 DFT 计算原子势,用神经网络学习势函数,最后将它应用到分子动力学中,从而实现高效率、高精度的计算。上图中间的结果,展示了深度势能方法和传统 DFT 方法计算得出的分子径向分布函数对比,其结果非常一致。三、阿里云倚天 710 实例助力 ABACUS 新实践 40 DFT 是一种通过求解薛定谔波函数方程,直接求解物质性质的算法。假设给定一个晶体的晶胞参数等信息,通过 DFT 方法计算可以得到它的电导率、体系密度等基本的物理性质。它是几乎不需要经验参数的第一性原理方法。研究者也凭借着这项工作获得 1998 年的诺贝尔化学奖。如上图公式所示,密度泛函理论的核心是,将
48、系统的总能量 E 表示为电子密度 的泛函。左下角展示了DFT的雅各布天梯,从最简单的局域密度近似开始,以计算量为代价,逐渐接近通过精确的量子力学方法计算得到的结果。DeePKS 方法采用神经网络模型表示高精度方法与低精度方法之差;研究人员可以使用 DeePKS 软件,先使用低精度的泛函,用比较高的效率给出结果,再将结果加上 DeePKS 方法给出的修正值,从而让计算结果逼近高精度的泛函。右图是水分子中氧元素之间距离的径向分布函数:DeePKS 方法和高精度 DFT 方法计算的结果能够很好的吻合;相比之下,使用 PBE 泛函的计算结果会出现比较大的偏差。三、阿里云倚天 710 实例助力 ABAC
49、US 新实践 41 AI+材料科学范式需要依赖 DFT 软件为 AI 模型训练产生数据;训练中的模型会再次影响 DFT 软件的计算结果,这一过程需要反复迭代直至收敛,其中需要进行大量的DFT 计算。ABACUS(中文名“原子算筹”)是一款国产开源的密度泛函理论软件。ABACUS 最早是由中科大的何力新老师课题组发展起来的,并且在 2021 年 3 月加入 Deep Modeling 开源社区。三、阿里云倚天 710 实例助力 ABACUS 新实践 42 作为一款科学计算软件,ABACUS 研发突破了传统课题组的代码开发方式,把代码托管在 GitHub 平台,欢迎开源贡献者一起进行新功能的开发以
50、及错误的修复。加入 DeepModeling 社区之后,ABACUS 迎来了来自中科大、北京大学、物理所以及北京科学智能研究院(AISI)等不同单位的贡献者。值得一提的是,北京科学智能研究院(AISI)是鄂维南院士在 2021 年建立的首个以AI for Science 为使命的科学研究机构。2.倚天 710 的适配与调优 接下来,为大家介绍 ABACUS 如何迁移到倚天 710 云平台。倚天 710 的操作系统是阿里云提供的 Ali Linux3,它能够很好地支持现有 Linux 的软件生态。用户在安装软件时,可以直接从包管理器下载需要的依赖,不再需要重新手动编译。倚天 710 芯片是基于
51、ARM v9 架构开发的,支持 SVE、INT8mm、BF16mm 等指令集加速。除此之外,ARM 平台为大家提供了高性能的数学库,它可以让研究者注重算法开发,不需要操心矩阵计算的实现方式。三、阿里云倚天 710 实例助力 ABACUS 新实践 43 上图是 ABACUS 自带算例进行的性能对比图。最右边一列是倚天 710 的计算时间,它和七代 x86 架构 CPU 以及六代高频实例,在计算时间上是一致的。需要注意的是,上面的测试中倚天 710 使用的实例是 4xlarge 规格,仅为 x86 实例的一半。这个结果得益于倚天 710 的独立物理核心、独立 cache 和 ALU 性能,且无超线
52、程损耗。3.基于 E-HPC 的万核级别算例验证 三、阿里云倚天 710 实例助力 ABACUS 新实践 44 研究人员在阿里云 E-HPC 上,进行了贴近实际算力的验证。阿里云团队提供的弹性高性能计算 E-HPC 服务,从 ECS 的虚拟机镜像创建计算节点,实现计算集群资源的弹性伸缩,保障计算在云上与本地超算类似的操作体验下高效进行。E-HPC在创建ECS实例时,可以选用竞价实例,让时间要求不敏感的科学计算任务,在云平台资源使用的低谷期,以非常低廉的价格进行科学计算。ABACUS 针对 350 eV 的极端高温下的 32 个硼原子体系,在由倚天 710 实例构成集群上进行了最新发展的 Sto
53、chastic DFT 方法的计算。如上图所示,研究人员使用了 11008 个倚天 710 的 CPU 核心,即 86 个 128 核节点。这是一个弱扩展的任务,每个核心数的运算量是一定的,计算资源消耗随着核心数增加而线性增加。在 ABACUS 实现的轨道并行和 K 点并行两种不同的任务划分模式下,计算时间都在有限范围内增长,并行性能非常好。在软件精度方面,不同的核心数计算得到的能量和压强一致,计算结果是正确的。三、阿里云倚天 710 实例助力 ABACUS 新实践 45 每个展示的数据点都由十个随机种子初始化进行计算,以避免系统性的随机误差。随着计算量的增加,压强和能量的标准差在不断地收敛,
54、直至理论的最优值。在实际运算时,研究人员可以针对下游任务需要的精度,选用相应的核心数进行计算。本次实验验证了倚天 ECS 实例的下列优势:首先,倚天 710 有着稳定的主频,它能够保证在高密计算的科学计算场景下不降频,保持性能输出的一致性。其次,倚天 710 实例的扩展性优秀,它能够在 1 万级别的核心规模上,实现接近线性的加速。最后,倚天实例的性价比相较于 x86 非常高,研究院可以节省将近 70%的成本。倚天帮助我们在传统的科学计算任务由本地超算部署到云平台的过程中,实现降本增效。四、基于倚天的视频云原生业务新范式 46 四、基于倚天的视频云原生业务新范式 作者:何亚明,阿里云智能视频云总
55、经理 2022 年 11 月 5 日,“倚天开启云原生算力新时代”专场在杭州云栖大会 D 馆云栖科创 SHOW 场举行,阿里云智能视频云总经理何亚明带来了题为基于倚天的视频云原生业务新范式的主题分享,详细地介绍了视频云原生业务基于倚天云服务器的新走向,本文根据该演讲整理而成,供大家阅览。阿里云智能视频云总经理 何亚明 1.市场份额第一,阿里云视频云云边端能力凸显 视频作为一种内容表现形式,目前已经覆盖直播、短视频等多个行业,社会化的新视频时代,也就是“社会视频化”已经到来。而在内容产出维度,不止有前期拍摄,还有对视频的处理、分发、传播等动作,并加入了 AI 功能。四、基于倚天的视频云原生业务新
56、范式 47 阿里云视频云的云边端一体的数智化音视频能力,包含了云端一体、弹性伸缩、交互顺滑、技术普惠、数智升级等优势特点,所以我们认为视频是一个交叉学科创造的技术领域,不论是传统信号处理编解码还是传输、网络、AI 等,大量的算力需求一定是首要选择。在 IDC 报告中,阿里云视频云连续四年荣获中国视频云整体市场份额第一。先前也有提到,表面看视频拍摄完成后直接上传直播、分发,但实际背后的技术处理需要经过非常长的链路,且成本和门槛以及专业度都非常高。四、基于倚天的视频云原生业务新范式 48 之所以说视频云是云原生的最佳案例,是因为整个视频云就是“长”在阿里云云原生上的,上图中可以看到从上到下,不管是
57、 PaaS 还是 SaaS 工具,实质都是包含服务化的性质。在弹性层面,也不止时间弹性和空间弹性,还有很多 CPU、GPU 等一些 Intel,ARM 的异构资源。2.迈向多趋势,业务场景+客户需求推动视频高清化技术不断向前 视频发展呈现高清化、低延时、智能化、专业化等多个趋势。以高清化维度举例,因为用户感官对视频高清的极致体验的要求,类似视频平台标清分辨率从最小的 SD 增长到 1080P,这是近乎七倍的信息量增长,到现在的 4K、8K,分辨率的提升带来的是大量数据量的膨胀,加之用户的常态需求,给算力、存储,网络传输带来了不同程度的压力。同时,在一些高运动场景下,视频帧率越高,从肉眼体验上就
58、会越清晰,宽色域也是同样的道理。在沉浸式体验的场景下,视频越高清、分辨率越高,沉浸感也就越强,这些实实在在的挑战也在推动着视频高清化技术不断向前。四、基于倚天的视频云原生业务新范式 49 第二个趋势是低延时。在观看同一场足球比赛直播时,可能隔壁已经在欢呼,你观看的内容球员还没有进球,这就是延时。即使是标准的宽带电视,也有 5s 以上的延时,但是随着对低延时要求极高的 VR、AR 等沉浸式体验的兴起,对底层计算力和芯片的要求也越来越高。不管是低延时还是高码率,最核心的点就是视频编码。视频标准每升级一代,技术复杂度就会提高十倍;视频编码每升级一代,质量码率则小 50%,但视频升级数据量不止 2 倍
59、,这是第二个矛盾;同时,摩尔定律在变慢,算力增长无法实时跟上高清/8KVR 的直播画面,所以复杂度和视频算力之间就是第三个矛盾。四、基于倚天的视频云原生业务新范式 50 我们认为解决三个矛盾实际上是三个方向的结合,即软硬协同提速度、AI 处理提画质、云端联合保体验。软硬协同要充分利用 CPU 的能力,在计算、编码优化、算力提升上和硬件结合,算力提升是大方向。其次是智能处理,我们利用大量 AI 技术,把大量画面中人眼不关注的地方做智能化的忽略。最后一点云端联合,算力不仅云上有,云端的联合我们可以做后处理,算力不够时发小分辨率视频,用端上的算力进行超分,做成大视频,所有的结合就是我们智能编码解决方
60、案,当然今天着重讲“软硬协同”。3.视频云原生业务拥抱倚天 ECS,可靠、稳定、弹性 倚天云服务器在视频云原生业务下可以发挥可靠、稳定、弹性的优势,包括直播、点播,媒体处理等,很多业务可以混跑,时间复杂度和算法复杂度也可以结合在一起。四、基于倚天的视频云原生业务新范式 51 算力的需求恒定存在,很多活动高峰时对算力要求不一样,倚天芯片可以给视频云更好的选择。一些新品存在超频、降频等问题,使得业务复杂度和抖动较大,选择和倚天结合的 Arm 芯片给我们带来了更强的稳定性。我们选择把算力分布式地部署在不同池子中,在真正“灾难”到来时也相应增加了业务的逃逸能力。在算法层面,基于自研 S263 和 S2
61、65 结合 Arm 芯片带来了很多效能提升。在做引擎的过程中我们发现 Arm 在各种视频、转封装、文件,流媒体等协议上适配的过程非常灵活,与此同时 Arm 芯片的架构给视频云的转码业务也带来了更多的选择。四、基于倚天的视频云原生业务新范式 52 在调度方面,使用 Arm 芯片以后,我们实测在单机上资源水位率,CPU 利用率可以提高到 95%,帮助视频云提高了 10%的 CPU 利用率。在视频编码技术层面,Arm 提供了强大的工具帮助指令集实现轻松迁移,不管是高并发的指令还是进程优化,从架构设计上都有天然的优势,和视频云的编码也是一个很好的结合。上图中可以看到,和平头哥合作,结合大量快速的算法优
62、化,迁移到 Arm 上之后,S264、S265 相对 C7 分别可以再提高 31.9%和 33%。四、基于倚天的视频云原生业务新范式 53 性能的提升带来了成本的节省和延迟的降低,视频云是典型的大规模视频处理场景业务,成本和体验就是企业的核心竞争力。倚天的超强算力也让 8K 视频实时直播成为可能。四、基于倚天的视频云原生业务新范式 54 在 AI 方面,我们在推理上及自适应上,相较过去 x86 架构,都在不断地进行性能提升,也在正面帮助视频云降低业务成本。同时,Arm 机型混跑也已经在视频云点播业务上线。4.倚天 ECS+Arm 芯片,发挥算力优势,打造核心竞争力 客户和业务场景的需求给视频技
63、术带来更多挑战,不管是更清晰、更流畅、更低延迟还是更高清的体验,都需要在算力上对视频进行大力支持,后续我们会和倚天云服务器和 Arm 芯片深度合作,发挥算力优势。四、基于倚天的视频云原生业务新范式 55 通过视频的力量让创新变得更简单,倚天710也给了我们更好的机会和更强的技术,我的演讲就到这里,谢谢大家。五、RDS On 倚天 ECS 的技术演进 56 五、RDS On 倚天 ECS 的技术演进 作者:彭祥,阿里云数据库事业部资深技术专家、RDS 产品部负责人 2022 年 11 月 5 日,“倚天开启云原生算力新时代”专场在杭州云栖大会 D 馆云栖科创 SHOW 场举行,阿里云数据库事业部
64、资深技术专家、RDS 产品负责人彭祥发表了云数据库新未来-新一代 RDS 架构和优化实践的主题分享。本篇内容根据该演讲整理而成,主要分为两个部分:1)RDS 数据库的架构演进 2)RDS On 倚天 ECS 的技术演进 阿里云数据库事业部资深技术专家、RDS 产品部负责人 彭祥 1.RDS 数据库的架构演进 如下图所示,展示了阿里云 RDS 的发展历程。2009 年,AliSQL 去商业数据库实现了脚本化自动运维。2011 年,阿里云 RDS 上线,成功实现了全自动部署免运维,以及高可用容灾能力。2014 年,RDS 支持 OpenAPI,以及 PostgreSQL、SQL Server等多引
65、擎,成功进入服务化阶段。五、RDS On 倚天 ECS 的技术演进 57 2019 年,阿里云实现了 DAS 自助诊断服务,支持全自动弹性伸缩,以及基于机器学习的智能决策和参数调优;同时集团电商业务开始全面上云。自此阿里云 RDS 正式步入智能化阶段。2022 年,RDS 与阿里云基础设施深度融合,支持 Serverless 产品弹性,与 ECS 以及 CIPU 高度一体化,成功实现国产硬件上深度优化,以及自主可控内核。阿里云RDS 开始全面云原生化。基于阿里云 ECS 和 ESSD 等基础服务,RDS 数据库构建了计算和存储分离的架构,大幅提升了产品能力和客户业务价值。在这个架构之下,用户可
66、以利用云盘快照功能,快速构建数据库的备份恢复能力。除此之外,用户也可以利用ECS的弹性资源能力,轻松实现资源的快速拉起和扩容。五、RDS On 倚天 ECS 的技术演进 58 RDS 基于阿里云 IaaS 服务,构建了 K8S 集群调度系统,将数据库容器化部署在其核心管控架构之上。该平台支撑了 RDS 的四款引擎,包括 MySQL、PostgreSQL、MariaDB 以及 SQL Server。在这个架构之上,阿里云实现了多项核心业务创新,包括 Serverless,云原生 Kubernetes 多租户部署形态等等。在架构升级的过程中,为了解决本地盘迁移至云盘后出现的 IO 等相关问题,阿里
67、云技术团队进行了大量的技术创新。团队通过对 Binlog 体系改造,以及对 RTO 和 RPO等方面进行有效提升,解决了由于架构演进带来的 IO 延时问题。Binlog 作为 MySQL 数据库最基本的机制之一,是所有云上 MySQL 数据库深度依赖的功能。但是 Binlog 机制也有很多局限性,比如大事务处理,高吞吐场景下的局限性等。阿里云研发团队通过对 Binlog 进行深度改造之后,大幅提升了吞吐和延时等性能指标。除此以外,阿里云在 Buffer Pool 初始化以及 Crash Recovery 进行了深度优化。尽管有大量的优化细节和代码改造,其内核与开源社区的内核能力保持兼容。五、R
68、DS On 倚天 ECS 的技术演进 59 RDS 通过 OnECS 架构演进,为产品能力以及客户业务价值提供了大量优化的可能性。比如 OnECS 基于 ESSD 不但支持常规的 PL1、PL2、PL3 云盘,还支持 PL0 和AutoPL 等,帮助客户实现降本增效的目的。与此同时,OnECS 支持 PL 等级的动态降级,业务在降级过程中全程无感。除此以外,OnECS 支持云盘扩容和缩容能力,使数据存储随着客户数据和业务发展阶段进行动态调整,最终达到降本增效的效果。随着稳定性的提升,OnECS 架构能够在高可用只读实例的基础上,支持基础版的只读实例,并将只读实例的成本下降50%,进一步实现了降
69、本增效的目的。2.RDS On 倚天 ECS 的技术演进 五、RDS On 倚天 ECS 的技术演进 60 接下来,讲一讲 RDS On 倚天 ECS 的技术演进。通过前面提到的技术架构演进,阿里云大幅提升了数据库 RDS 由英特尔机型的 OnECS 架构向 On 倚天 ECS 迁移的研发效率。如上图所示,在 MySQL 读写混合负载场景下,RDS On 倚天 ECS 的性能小幅超越第七代 x86 机器。在不同实例规格下,RDS On 倚天 ECS 的性能提升了 10%到 25%不等。除此之外,倚天 ECS 相比第七代英特尔机型,售价下降了 13%,整体性价比提升了 25%。客户业务和应用从
70、x86 架构数据库向倚天 ECS 架构数据库迁移的过程中,业务代码改造量是零,成功实现无缝迁移。客户只需要把数据库的连接地址,从 x86 架构改成 RDS On 倚天 ECS 的地址即可。接下来,给大家深度分享一下 RDS On 倚天 ECS 在技术上的深度优化。RDS 数据库作为一个最基本的 PaaS 服务,需要在 ARM 体系架构的服务器进行深度调优。这是一个全栈优化的过程,从芯片的 prefetch 策略优化到 ECS 的 TSO 等优化,以及操作系统优化、编译器优化、数据库内核代码优化以及参数调优等。其中,最核心的部分是数据库的代码优化、参数调优以及编译环境调优。On 倚天 ECS 支
71、持 RDS 两款传统开源引擎产品 MySQL 和 PostgroSQL。上图展示了这两款引擎,在优化之前和优化后的性能变化。经过上述深度调优之后,在只写业务场景下,RDS 的性能是第七代 ECS 云服务器性能的 110%,只读能力高达 125%。五、RDS On 倚天 ECS 的技术演进 61 上图是阿里云官网 RDS 售卖控制台的截图,用户可以在购买过程中选择使用 x86 架构或 ARM 架构。目前,该产品还处于邀测阶段。倚天 710 不只是单核性能上的提升,同时还体现在数据加密、数据解密、数据压缩、数据解压等业务场景里的性能提升。接下来 RDS 数据库也会在这些特殊场景下进行深度优化。我今
72、天的分享就到这里,谢谢大家。点击这里,查看嘉宾的精彩演讲视频。六、倚天平台全栈应用性能优化与迁移最佳实践 62 六、倚天平台全栈应用性能优化与迁移最佳实践 作者:李三红,阿里云程序语言与编译器技术总监 2022 年 11 月 5 日,“倚天开启云原生算力新时代”专场在杭州云栖大会 D 馆云栖科创 SHOW 场举行,阿里云程序语言与编译器技术总监李三红发表了倚天平台全栈应用性能优化与迁移最佳实践的主题分享,本篇内容根据该演讲整理而成,主要分为四个部分:1)倚天 ECS 应用生态全景 2)全栈应用性能优化实践 3)跨架构迁移 4)重要发布 阿里云程序语言与编译器技术总监 李三红 1.倚天 ECS
73、应用生态全景目前,倚天 ECS 支持丰富的开源生态。六、倚天平台全栈应用性能优化与迁移最佳实践 63 在开发者工具方面,倚天 ECS 支持 GCC、LLVM 等编译器,以及 Java(OpenJDK、GraalVM)、Python 等语言;在 OS/基础库方面,倚天 ECS 支持 glibc、dpdk、jemalloc、OpenSSL 等基础库,以及 ubuntu 等 OS;在容器/虚拟化方面,支持安全容器、Kubernetes(K8S)、Docker、KVM 等等。如上图所示,从应用生态全景看倚天 ECS 的支持。在操作系统方面,倚天 ECS 支持OpenAnolis Anolis OS 创
74、新 LTS 版,以及其定制版 Alibaba Cloud Linux;在虚拟化&容器方面,倚天 ECS 支持 Dragonfly Hypervisor、ACK、以及阿里云沙箱容器袋鼠;在工具链和语言方面,倚天 ECS 支持 Alibaba Cloud Compiler(LLVM based)、六、倚天平台全栈应用性能优化与迁移最佳实践 64 Alibaba Dragonwell、Noslate Anode、APython;在中间件和工作负载方面,倚天ECS 支持 MySQL、Flink、TensorFlow、Spark 等等。使用倚天 ECS,大家比较关心的问题有两个。1)应用如何平滑迁移倚天
75、 ECS?OS、编译器、基础库,开源组件是否能提供更好的适配?是否有工具支持迁移?迁移之后,是否有优秀的云原生管理软件?多架构的软件版本又如何管理?2)倚天 ECS 上,应用可以获得多大的收益?应用能跑多快?倚天 ECS 通过软件栈基础组件优化,二/三方库优化,以及通用负载优化,最终实现全栈性能优化。通过相关工具,以及最佳实践,也支持客户场景应用调优。2.全栈应用性能优化实践 六、倚天平台全栈应用性能优化与迁移最佳实践 65 如上图所示,全栈应用优化主要包括倚天 ECS、操作系统、编译器/运行时、以及应用。实现全栈优化方法主要有两种,即 Outside in approach 和 Layere
76、d approach。其中,Outside in approach 是阿里云基于真实的 Workload 建立基线,然后基于基线进行迭代优化。在分层优化方面,阿里云的操作系统团队、编译器团队、中间件团队,以及 PaaS 团队等,围绕倚天 710 芯片进行各自的分层优化。举个例子:我们结合倚天架构的特点,对特定的操作系统和编译器版本进行的协同优化。目前,阿里云推荐的基础软件版本有 Alibaba Cloud Linux(3)、Alibaba Cloud Compiler(13)、Alibaba Dragonwell(11)。应用工具支持包括 KeenTune、EMT4J、Jifa、Perf(x)
77、。围绕倚天 ECS,Alibaba Cloud Linux 有四个特点。1)Alibaba Cloud Linux 首次完成全面支持倚天 710,实现开箱即用、工单支持、十年维护。2)Alibaba Cloud Linux 历经阿里双 11 场景历练,有效支撑阿里云数据库,容器服务等云产品。3)Alibaba Cloud Linux 作为基座,我们从硬件,内核,编译器,运行时,做了全栈应用优化,大幅提升性能。六、倚天平台全栈应用性能优化与迁移最佳实践 66 4)Alibaba Cloud Linux 逐步向龙蜥社区,以及上游社区开源。接下来,讲一讲 C/C+编译器套件 Alibaba Clou
78、d Compiler。Alibaba Cloud Compiler 面向倚天 710 芯片,进行了全面优化。能够更好地支持 SVE 指令;团队基于倚天 710 芯片进行微架构调优;倚天 710 芯片上最新 C+20 特性支持:Coroutine,Modules 等等。除此之外,Alibaba Cloud Compiler 面向阿里云产品,服务云上客户。一套编译器,同时支持 X64,AArch64 两种架构;支持更快的构建、编译速度,相比 GCC 提升 15%至 40%构建加速;更多易用的编译优化,相比 GCC 取得 5%至 15%的性能提升。六、倚天平台全栈应用性能优化与迁移最佳实践 67 A
79、libaba Dragonwell 的中文名是“龙井”,于 2019 年开源。如上图所示,在倚天芯片上,Alibaba Dragonwell 在不同版本间进行迭代优化,11.0.11.6 相比11.0.8.3SPECjbb2015 吞吐量提升了 58%。在多核情况下的性能,更好地保证扩展性。接下来,讲一讲一键式调优工具 KeenTune。KeenTune 可以将云上不同的业务场景和 VM 规格,进行更好的组合,形成最佳的性能调优 profiles。KeenTune 可以一键式全栈调优内核参数、应用配置等。如上图所示,倚天 ECS 基础软件进行了大量优化,主要有四个方向,即 Workload P
80、rofiling Driven 优化、架构差异优化、编译优化、以及并发优化。六、倚天平台全栈应用性能优化与迁移最佳实践 68 Workload Profiling Driven 方面,我们根据负载特点,针对性地使用代码大页、XPS、内核调度、ext4 fast commit 等技术进行优化。架构差异方面,主要有 TLBi、新指令集、Code Cache、寄存器等方面的优化。其中,在新指令集方面,并发多线程是现代化通用负载的典型特征。LSE 指令在多核情况下,能够有效提升通用负载的性能。编译优化方面,使用了 FDO/PGO、LTO 等这些传统的编译器优化技术。并发优化方面,阿里云在 JAVA 虚
81、拟机领域,做了大量的 Weak Memory 优化,也做了 CAS、Lock 等多线程优化。如上图所示,倚天 ECS 在数据库,Big Data,Web 多项场景达到了 20%以上的性能提升。在 C+的 RDS-MySQL 场景,性能提升了 33%;在 Java 的 Fink 场景,性能提升了 30%;在 Web-tooling/Node.js 场景,性能提升了 43%;在 PHP 的 WordPress场景,性能提升了 20%。3.跨架构迁移 接下来,讲一讲跨架构迁移方案的全软件生命周期支持。目前,阿里云跨架构迁移方案覆盖了源码、构建、测试、生产上线的全流程的跨架构支持。六、倚天平台全栈应用
82、性能优化与迁移最佳实践 69 l 用户在 source code 阶段,可以用工具去检查架构上的兼容性、健康性问题。l 在构建阶段,我们可以帮助用户跨架构编译,支持优化的基础库、开源库、框架的集成。l 在测试阶段,阿里云沉淀了大量的实践案例,可以帮助用户进行 Build Sanity 检查,以及软件版本依赖检查。l 在生产阶段,支持用户进行生产参数检查、软件版本检查,以及线上问题排查的工具支持。六、倚天平台全栈应用性能优化与迁移最佳实践 70 上图是 ACK 面向多 CPU 架构的管理图。一个 ACK 集群同时管理 x86 节点池和 Arm节点池。阿里云镜像仓库 ACR 全面支持多架构镜像。在
83、 ACK 云原生环境里,它会根据 CPU 架构的不同,自动管理和拉取匹配当前 CPU架构的镜像。除此之外,用户业务可以在 x86 和 Arm 架构间平滑迁移和配置流量。我们总结一下:倚天 ECS 支持丰富的软件、工具,并提供了丰富的文档。用户可以根据自己的需求选择不同的 ECS 实例,OS 实例、工具链、容器。我们通过工具/解决方案支持应用迁移、以及问题排查等方案。目前,第八代 ECS 云服务器 ARM 实例 g8y 开放邀测。相关网址如下:https:/ 4.重要发布 六、倚天平台全栈应用性能优化与迁移最佳实践 71 接下来,介绍全新的源代码扫描工具 Cross Platform Migra
84、tion Scanner;开箱即用的倚天 ECS 智能优化方案;以及面向开发者社区的倚天 ECS 开发指南。Cross Platform Migration Scanner 支持多语言,以及跨架构兼容性检查。它可以在源代码阶段,扫描代码,发现兼容性问题。上图展示了 ECS Booster 倚天智能优化方案架构,ECS 倚天根据不同场景,Web,数据库,缓存,视频,AI 等不同场景,自动调配优化参数,支持开箱即用。六、倚天平台全栈应用性能优化与迁移最佳实践 72 11 月 15 号倚天 ECS 商业版即将正式上线,倚天 ECS 开发者指南也会在 Github 开源发布(开源地址:https:/ ECS 开发者指南提供了丰富的分析工具,帮助用户解决不同的性能问题。以上就是我今天分享的全部内容,谢谢大家。点击这里,查看嘉宾的精彩演讲视频。