封面页 (此页面将由下图全覆盖,此为编辑稿中的示意,将在终稿PDF版中做更新) (待分享) 扫码了解 倚天ECS云服务器 阿里云开发者“藏经阁”海量电子手册免费下载 2021年云栖大会上,阿里云发布自研的基于Armv9架构的倚天710芯片,这是一款云原生处理器,无超线程概念,用户可以享受物理核的极致性能体验。随后,阿里云推出了采用倚天710芯片的倚天云服务器,超强实例、极致性能,在阿里巴巴集团内部及外部客户的试用效果都非常好。 2022年的11月,我们再聚杭州云栖大会,并通举办倚天专场的技术分享,全方位展示倚天云服务器在云原生时代的性能表现。 在产品层面,来自阿里云的架构师将系统、深度而又全面地介绍倚天云服务器背后的技术奥秘,包括芯片架构设计、硬件架构设计、软件优化实现方案以及七大场景下的性能收益等;来自安谋科技(ArmChina)的技术专家也将从Arm架构出发,分享Neoverse生态与软件迁移实践。 在应用实践上,既有阿里云自身在视频云原生业务新范式的探索,数据库RDS在技术演进方面的实践总结,也有北京科学智能研究院的嘉宾分享倚天云服务器在材料研发这一科学计算场景下的适配与调优、万核级别的算例验证。 在迁移实践上,阿里云程序语言与编译器方面的技术专家将从迁移工具支持、一键式调优、软件管理以及跨架构迁移实践等方面,介绍倚天平台全栈应用性能优化与迁移最佳实践,同时也将发布开箱即用的智能优化方案和面向开发者的倚天ECS开发指南。 倚天“利剑出鞘”,破晓来袭,关于“倚天ECS云服务器”更多内容,邀您移 步正文品读。 一、揭秘ECS倚天实例背后的技术5 二、Neoverse生态与软件迁移20 三、阿里云倚天710实例助力ABACUS新实践36 四、基于倚天的视频云原生业务新范式46 五、RDSOn倚天ECS的技术演进56 六、倚天平台全栈应用性能优化与迁移最佳实践62 一、揭秘ECS倚天实例背后的技术 作者:张先国,阿里云弹性计算高级架构师 11月15日,阿里云ECS倚天实例正式开始商业化。此前,阿里巴巴在2022云栖大会上宣布,阿里云未来两年20%的新增算力将使用自研CPU。11月5日,云栖大会“倚天开启云原生算力新时代”专场上,阿里云弹性计算高级架构师张先国作为分享嘉宾,带来了题为《云原生算力新时代:倚天ECS技术揭秘》的主题分享,本文根据该演讲整理而成。 阿里云弹性计算高级架构师张先国 1.背景:算力需求暴涨、摩尔定律失效 当前,企业云上业务需求趋势正在大幅增长,算力需求呈“爆炸式”递增。 直播/短视频行业每天有上亿用户产出UGC视频内容发布在不同平台,产生百万核级视频编码算力需求和高业务成本。 基因/制药行业涉及到的分子动力学模拟、基因序列对比、蛋白结构分析,原来以实验为主,今天计算机模拟为主,从原子-分子单位的行为进行计算,消耗大量的算力。 电商行业从流量为主转变为精益化运营过程中所需的AI推理、大数据画像,智能精准推荐对算力需求也越来越旺盛。以AI为代表的算力规模每三个半月就会翻一倍。 然而,在算力需求暴涨的同时,摩尔定律演进速度却在减慢,硬件技术进步的红利见底。如今,每迭代一代CPU,服务器和数据中心的功耗和成本攀升,每千瓦芯片功耗在生命周期内带来上万美金的成本;硬件和芯片的成本也在逐代上涨。 在云这类面向多租户的场景下,超线程(HT)架构的问题逐渐暴露出来,面对一些高密计算任务时很难满足业务需求,共享内存与物理核的机制导致租户之间处理任务可能需要相互排队,导致性能大幅下降;或者互相干扰的情况导致性能波动。 如何能在实现高性能(减少干扰)的同时实现低功耗、低成本?我们认为,以此前的技术方案,无法解决业务需求和痛点,需要设计一款云原生芯片,结合现有的阿里云软硬件架构,才能更好地解决客户应用的需求。 我们先来看下结果:在编解码的场景下,ECS倚天实例和传统实例相比,实现了80%的性价比提升,数据库场景、AI推理场景、大数据场景也都分别有着30%、70%、50%的性价比有效提升。 目前,ECS倚天实例已应用于阿里巴巴集团核心业务,并服务科学研究、智能手机行业和多家知名互联网公司。2021年双11期间,天猫双11核心交易系统平滑迁 移至倚天710云实例,算力性价比提升30%;汇量科技广告推理业务使用倚天710 云实例,性能和网络带宽双双提升,性价比提升40%以上。 2.“倚天”利剑出鞘:软硬一体的云原生ECS架构 ECS倚天实例是如何实现大幅的性价比提升的?我们从不同ECS产品架构层面,包括:云原生处理器倚天710、云计算基础设施处理器CIPU、云原生应用优化方案ECSBooster等不同层面,给大家分享。 •倚天710:高性能、低功耗 我们先来看下倚天710处理器在设计上,是如何解决上述问题的。 从芯片层面看,主要影响应用性能的四大要素包括ALU(逻辑计算单元)、Cache、 主频、加速指令。 首先,倚天710单颗CPU即实现了128核的高密度设计,高规格实例可以实现线性的性能增长;同时处理器无超线程概念,避免了性能争抢的问题:独享物理核,性能更强劲;独享Cache,应用缓存更高效。 x86架构是两个vCPU/HT共享一个物理核,1份ALU(算术逻辑运算单元)。ECS倚天实例采用的是独享物理核心方式,这可以让算力密集的计算指令不必排队、不必争抢,计算速度更快。 在Cache维度,过去两个vCPU/HT共享一二级缓存,相互争抢,性能波动较为严重。采用倚天CPU独享Cache的设计,让vCPU之间相互不影响,为重负载计算带来更高性能。 •影响算力性能的关键因素,除了核的资源,还有主频 大家知道为什么多数Web、App、DB的生产业务CPU使用率的安全水位线是50%, 日常水位低于30%吗? 以下图中的视频编码为例,并发超过4路后,性能下降40%;再加上前面说到的核争抢问题,如果客户的实际业务超过50-60%水位,关键生产应用将响应放慢,客户感知卡顿甚至超时问题。因此需要将CPU使用率安全水位压低,牺牲成本保证安全,浪费了另外50%资源。 背后的原因是x86功耗大,高算力负载很容易造成功耗过大,温度上升,因此采用降频规避,进而影响了性能。而倚天710的功耗是主流x86的1/6,没有任何降频问题。同时也推荐倚天的安全水位可以提高到70-80%,减少资源浪费。 在云上多租户共用平台,即使用户运行低负载应用,也存在相互影响的风险,倚天彻底解决了此问题。下图展示的案例就可以看到,在视频编解码四路以上时,代表倚天的橙色部分基本保持恒定,x86则会降低幅度40%。 值得一提的是,倚天710还针对特定算法场景进行了加速与优化。比如像NEON、SVE等矢量计算技术,可以让单条指令处理更长的数据,可以大幅提升机器学习、视频编码和高性能计算等场景性能;另外,倚天实例还支持BF16和INT8,在机器学习场景下,大幅提升计算效率,为客户提供更多选择。 •以CIPU为中心的架构:高密、稳定、强劲 除了芯片本身能力,为了实现降本增效,倚天ECS实例基于云原生的硬件架构设计。 传统的服务器常常设计为2路或4路,通过多NUMA互连的方式提升整机CPU密度,让一个OS调度更多CPU算力,却也增加了复杂度。在这种架构下,随着核数增加,网络和存储IO也快速翻番,还要保持跨NUMAcache一致性,导致应用性能下降;同时也带来爆炸半径过大的问题,在云计算场景下,多路的设计会让局部硬件故障的影响范围更大。 阿里云采用云原生的思想重新设计。倚天710CPU单颗CPU即实现了128核的高密度设计,同时以CIPU为中心的硬件架构,通过CIPU连接2颗或者更多倚天的芯片,去NUMA方案下实现整机核密度更高,避免了跨NUMA带来的性能下降,同时由整机的高密度带来了成本下降,使得倚天实例更有竞争力。同时,多单路的硬件机型设计,爆炸半径减半,产品更稳定。 此外CIPU硬件本身也是创新性的设计,通过将虚拟化与IO转发等数据面卸载到专用硬件上进行加速,消除了原来虚拟化损耗与性能争抢,并大幅加速了IO,也会使得整体性能更高;VPC环境下支持弹性RDMA加速能力,相比TCP时延降低70%以上。 •ECSBooster ECSBooster是阿里云在倚天实例上提供的软件性能优化方案,通过网络中断优化、操作系统优化、应用层优化等技术,针对web、APP、数据库等主流场景进行优化,运行在倚天实例上阿里云PaaS产品的性能获已经实现得显著性能收益,相信也能给客户业务场景带来明显受益。 3.全场景性能大幅提升 11月15日,ECSG8y(倚天实例)将正式上线,产品规格覆盖1-128核,全面搭载eRDMA加速能力,可以大大提升软件性能。 ECSG8y(倚天实例)有着性能卓越、生态丰富,绿色降本三个方向的业务价值,其 中关于性能收益及增长方面有着很好的数据表现。 前文说到的云原生处理器和创新的硬件架构,最终在应用上有哪些性能收益?我们从Web、App、Media、DB、大数据、科学计算、AI推理等七个最广泛场景来看产品性能表现。 •Web场景:综合性能提升30% Web场景是互联网中应用场景最多、消耗服务器资源最多的场景。为了解决移动场景流量和体验问题,服务端常常采用网页压缩方案节约带宽。但压缩算法非常消耗CPU算力和时间,导致队列中多客户请求时延变长。 倚天拥有独立CPU物理核,结合SVE指令加速,单vCPU数据压缩性能翻倍,前面提到的体验影响减半。Web场景包括Nginx、Apache、NodeJS、PHP等排名靠前的应用,倚天实例对比阿里云G7系列实例,综合性能提升30%左右。 阿里云防火墙CFW已经实现倚天ECS迁移。CFW为客户业务提供安全防护,需进行大量正则表达规则进行扫描,消耗大量算力,影响业务性能。采用独享物理核的ECS倚天实例,实现安全和体验收益兼得。在不同正则匹配性能优势分别为23%、40%、28%。 •App编程语言性能:多数性能提升40% 不管是编译型语言C、Go等还是无需编译的语言Java、Python等,都很好的平滑兼容ARM架构,我们可以看到,使用开源的Benchmark进行测试,应用运行在ECS倚天实例上获得的性能提升多数有40%。 •编解码场景:20-40%性能提升 短视频和直播是如今最火热的应用,UGC时代内容指数级增长,编解码算力消耗也随之增长。如今最流行的H.264算法速度快,节约算力,但是编码后的文件更大, 消耗更多存储和带宽。H.265可以很好解决此问题,使用比重快速增长,但多消耗 1倍算力成本。 无论是在哪种场景下,倚天的视频编解码性能均比x86实例更高,成本更低。 如图,上述两类视频编码规范的编码器X.264、X.265运行在ECS倚天实例上,都收获了20-40%性能提升;这个过程中我们进行了大量矢量指令优化,使性能大幅提高,优化软件可以向客户输出。 •数据库场景:10-30%性能提升 数据库场景下,运行在ECS倚天实例上,相较与G7实例,开源软件Redis、Memcached有30%性能优势,MySQL和PGSQL有10-20%性能优势。 阿里集团电商业务所使用的Tair数据库也已经迁移到倚天平台,协议上兼容Redis,性能是开源Redis数据库的3倍。Tair支撑了多年天猫双11大促,有强大的缓存能力,需要把数据缓存到内存,消耗Memory资源。 我们采用倚天强大的算力优势进行数据压缩,让内存成本降低60%,叠加倚天实例自带的eRDMA加速能力,可以提升吞吐量80%,时延降低15%以上。目前基于ECS倚天实例的Tair产品已经上线,大家可以在云上使用。 •大数据场景:20-60%性能提升 在需要消耗大量IO、大量计算以及高内存带宽的大数据场景中,ECS倚天实例由于拥有独立物理核、Cache更大、网络时延更低等特点,运行Spark应用性能收益20%以上,搜索Elas