麦斯科技 · 2022年11月17日 · 四川

阿里云架构师张先国:揭秘ECS倚天实例背后的技术

以下文章来源于弹性计算百晓生 ,作者张先国
https://mp.weixin.qq.com/s/PO...

编者按:11月15日,阿里云ECS 倚天实例正式开始商业化。此前,阿里巴巴在2022云栖大会上宣布,阿里云未来两年20%的新增算力将使用自研CPU。11月5日,云栖大会“倚天开启云原生算力新时代”专场上,阿里云弹性计算高级架构师张先国作为分享嘉宾,带来了题为《云原生算力新时代:倚天ECS技术揭秘》的主题分享,本文根据该演讲整理而成。

640_004.jpg
图:阿里云弹性计算高级架构师 张先国

01 背景:算力需求暴涨、摩尔定律失效

当前,企业云上业务需求趋势正在大幅增长,算力需求呈“爆炸式”递增

直播/短视频行业每天有上亿用户产出UGC视频内容发布在不同平台,产生百万核级视频编码算力需求和高业务成本。基因/制药行业涉及到的分子动力学模拟、基因序列对比、蛋白结构分析,原来以实验为主,今天计算机模拟为主,从原子-分子单位的行为进行计算,消耗大量的算力。电商行业从流量为主转变为精益化运营过程中所需的AI推理、大数据画像,智能精准推荐对算力需求也越来越旺盛。以AI为代表的算力规模每三个半月就会翻一倍。

640_017.jpg

然而,在算力需求暴涨的同时,摩尔定律演进速度却在减慢,硬件技术进步的红利见底。

如今,每迭代一代CPU,服务器和数据中心的功耗和成本攀升,每千瓦芯片功耗在生命周期内带来上万美金的成本;硬件和芯片的成本也在逐代上涨。

在云这类面向多租户的场景下,超线程(HT)架构的问题逐渐暴露出来,面对一些高密计算任务时很难满足业务需求,共享内存与物理核的机制导致租户之间处理任务可能需要相互排队,导致性能大幅下降;或者互相干扰的情况导致性能波动。

640_007.jpg

如何能在实现高性能(减少干扰)的同时实现低功耗、低成本?我们认为,以此前的技术方案,无法解决业务需求和痛点,需要设计一款云原生芯片,结合现有的阿里云软硬件架构,才能更好地解决客户应用的需求。

我们先来看下结果:在编解码的场景下,ECS倚天实例和传统实例相比,实现了80%的性价比提升,数据库场景、AI推理场景、大数据场景也都分别有着30%、70%、50%的性价比有效提升。目前,ECS倚天实例已应用于阿里巴巴集团核心业务,并服务科学研究、智能手机行业和多家知名互联网公司。2021 年双 11 期间,天猫双 11 核心交易系统平滑迁移至倚天 710 云实例,算力性价比提升30%;汇量科技广告推理业务使用倚天 710 云实例,性能和网络带宽双双提升,性价比提升 40% 以上。

02 “倚天”利剑出鞘:软硬一体的云原生ECS架构

ECS倚天实例是如何实现大幅的性价比提升的?我们从不同ECS产品架构层面,包括:云原生处理器倚天710、云计算基础设施处理器CIPU、云原生应用优化方案ECS Booster 等不同层面,给大家分享。

倚天710:高性能、低功耗

我们先来看下倚天710处理器在设计上,是如何解决上述问题的。

从芯片层面看,主要影响应用性能的四大要素包括ALU(逻辑计算单元)、Cache、主频、加速指令。

640.png

首先,倚天710 单颗CPU即实现了128核的高密度设计,高规格实例可以实现线性的性能增长;同时处理器无超线程概念,避免了性能争抢的问题:独享物理核,性能更强劲;独享Cache,应用缓存更高效。

x86架构是两个vCPU/HT共享一个物理核,1份ALU(算术逻辑运算单元)。ECS倚天实例采用的是独享物理核心方式,这可以让算力密集的计算指令不必排队、不必争抢,计算速度更快。

640_015.jpg

在Cache维度,过去两个vCPU/HT共享一二级缓存,相互争抢,性能波动较为严重。采用倚天CPU独享Cache的设计,让vCPU之间相互不影响,为重负载计算带来更高性能。

640_006.jpg

影响算力性能的关键因素,除了核的资源,还有主频。

大家知道为什么多数Web、App、DB的生产业务CPU使用率的安全水位线是50%,日常水位低于30%吗?

以下图中的视频编码为例,并发超过4路后,性能下降40%;再加上前面说到的核争抢问题,如果客户的实际业务超过50-60%水位,关键生产应用将响应放慢,客户感知卡顿甚至超时问题。因此需要将CPU使用率安全水位压低,牺牲成本保证安全,浪费了另外50%资源。

背后的原因是x86功耗大,高算力负载很容易造成功耗过大,温度上升,因此采用降频规避,进而影响了性能。而倚天710的功耗是主流x86的1/6,没有任何降频问题。同时也推荐倚天的安全水位可以提高到70-80%,减少资源浪费。

在云上多租户共用平台,即使用户运行低负载应用,也存在相互影响的风险,倚天彻底解决了此问题。下图展示的案例就可以看到,在视频编解码四路以上时,代表倚天的橙色部分基本保持恒定,x86则会降低幅度40%。

640_012.jpg

值得一提的是,倚天710还针对特定算法场景进行了加速与优化。比如像NEON、SVE等矢量计算技术,可以让单条指令处理更长的数据,可以大幅提升机器学习、视频编码和高性能计算等场景性能;另外,倚天实例还支持BF16和INT8,在机器学习场景下,大幅提升计算效率,为客户提供更多选择。

以CIPU为中心的架构:高密、稳定、强劲

除了芯片本身能力,为了实现降本增效,倚天ECS实例基于云原生的硬件架构设计。

传统的服务器常常设计为2路或4路,通过多NUMA互连的方式提升整机CPU密度,让一个OS调度更多CPU算力,却也增加了复杂度。在这种架构下,随着核数增加,网络和存储IO也快速翻番,还要保持跨NUMA cache一致性,导致应用性能下降;同时也带来爆炸半径过大的问题,在云计算场景下,多路的设计会让局部硬件故障的影响范围更大。

阿里云采用云原生的思想重新设计。倚天710 CPU单颗CPU即实现了128核的高密度设计,同时以CIPU为中心的硬件架构,通过CIPU连接2颗或者更多倚天的芯片,去NUMA方案下实现整机核密度更高,避免了跨NUMA带来的性能下降,同时由整机的高密度带来了成本下降,使得倚天实例更有竞争力。同时,多单路的硬件机型设计,爆炸半径减半,产品更稳定。

此外CIPU硬件本身也是创新性的设计,通过将虚拟化与IO转发等数据面卸载到专用硬件上进行加速,消除了原来虚拟化损耗与性能争抢,并大幅加速了IO,也会使得整体性能更高;VPC环境下支持弹性RDMA加速能力,相比TCP时延降低70%以上。

640_010.jpg

ECS Booster

ECS Booster是阿里云在倚天实例上提供的软件性能优化方案,通过网络中断优化、操作系统优化、应用层优化等技术,针对web、APP、数据库等主流场景进行优化,运行在倚天实例上阿里云PaaS产品的性能获已经实现得显著性能收益,相信也能给客户业务场景带来明显受益。
640_019.jpg

03 全场景性能大幅提升

11月15日,ECS G8y(倚天实例)将正式上线,产品规格覆盖1-128核,全面搭载eRDMA加速能力,可以大大提升软件性能。

640_002.jpg

ECS G8y(倚天实例)有着性能卓越、生态丰富,绿色降本三个方向的业务价值,其中关于性能收益及增长方面有着很好的数据表现。

前文说到的云原生处理器和创新的硬件架构,最终在应用上有哪些性能收益?我们从Web、App、Media、DB、大数据、科学计算、AI推理等七个最广泛场景来看产品性能表现。

Web场景:综合性能提升30%

Web场景是互联网中应用场景最多、消耗服务器资源最多的场景。为了解决移动场景流量和体验问题,服务端常常采用网页压缩方案节约带宽。但压缩算法非常消耗CPU算力和时间,导致队列中多客户请求时延变长。
640_003.jpg

倚天拥有独立CPU物理核,结合SVE指令加速,单vCPU数据压缩性能翻倍,前面提到的体验影响减半。Web场景包括Nginx、Apache、NodeJS、PHP等排名靠前的应用,倚天实例对比阿里云G7系列实例,综合性能提升30%左右。

阿里云防火墙CFW已经实现倚天ECS迁移。CFW为客户业务提供安全防护,需进行大量正则表达规则进行扫描,消耗大量算力,影响业务性能。采用独享物理核的ECS倚天实例,实现安全和体验收益兼得。在不同正则匹配性能优势分别为23%、40%、28%。

640_014.jpg

App编程语言性能:多数性能提升40%

不管是编译型语言C、Go等还是无需编译的语言Java、Python等,都很好的平滑兼容ARM架构,我们可以看到,使用开源的Benchmark进行测试,应用运行在ECS倚天实例上获得的性能提升多数有40%。
640.jpg

编解码场景:20-40%性能提升

短视频和直播是如今最火热的应用,UGC时代内容指数级增长,编解码算力消耗也随之增长。如今最流行的H.264算法速度快,节约算力,但是编码后的文件更大,消耗更多存储和带宽。H.265可以很好解决此问题,使用比重快速增长,但多消耗1倍算力成本。

无论是在哪种场景下,倚天的视频编解码性能均比x86实例更高,成本更低。

如图,上述两类视频编码规范的编码器X.264、X.265运行在ECS倚天实例上,都收获了20-40%性能提升;这个过程中我们进行了大量矢量指令优化,使性能大幅提高,优化软件可以向客户输出。

640_020.jpg

数据库场景:10-30%性能提升

数据库场景下,运行在ECS倚天实例上,相较与G7实例,开源软件Redis、Memcached有30%性能优势,MySQL和PGSQL有10-20%性能优势。

阿里集团电商业务所使用的Tair数据库也已经迁移到倚天平台,协议上兼容Redis,性能是开源Redis数据库的3倍。Tair支撑了多年天猫双11大促,有强大的缓存能力,需要把数据缓存到内存,消耗Memory资源。我们采用倚天强大的算力优势进行数据压缩,让内存成本降低60%,叠加倚天实例自带的eRDMA加速能力,可以提升吞吐量80%,时延降低15%以上。目前基于ECS倚天实例的Tair产品已经上线,大家可以在云上使用。

640_009.jpg

大数据场景:20-60%性能提升

在需要消耗大量IO、大量计算以及高内存带宽的大数据场景中,ECS倚天实例由于拥有独立物理核、Cache更大、网络时延更低等特点,运行Spark应用性能收益20%以上,搜索Elastic Search和流计算Flink场景性能收益达到40%和60%。上述大数据开源软件,直接编译即可在倚天实例上运行,欢迎大家试用。
640_018.jpg

科学计算:20%以上性能提升

在科学计算等场景下,相比于同规格x86云实例,运行在倚天实例上的基因、制药,汽车领域等方面的算法都有20%左右的收益,我们近期有两个伙伴测试分子动力学和EDA应用,甚至实现了性能翻倍。这主要是由于科学计算场景使用的主要是物理核资源,倚天实例与同规格的x86实例相比,核物理核数量是后者的两倍,计算性能更高。

阿里云弹性高性能计算平台E-HPC、弹性伸缩等云上工具已经支持ARM平台,主要科学算法也都可以平滑兼容。

640_008.jpg

AI推理:性能提升1倍

AI场景算力消耗增长飞快,成本占比急剧上升。推理场景下典型的搜推广客户都无法接受下调精度(影响模型准确度)降本。阿里云弹性计算团队和达摩院合作,推出了HIE-Engine动态量化方案,利用倚天实例的INT8加速能力,可将RestNet和Bert场景性能提升1倍,且精度没有损失。
640_005.jpg

04 降低碳排放、降低成本

对于企业客户来说,除了业务性能表现,IT碳排放和成本也很重要的一环。今天的这款倚天处理器,可以在CPU负载30%的情况下,每vCPU功耗比x86降低6倍,整机功耗降低60%以上。碳排放也等比降低。全国IDC年耗电量约2000多亿度,相当于两个三峡大坝的发电量,采用倚天实例进行替换,可以省下一整个三峡的电量。

640_001.jpg

除了绿色低碳,企业还能降低IT成本,大家可以看图中的定价,倚天实例对比最新一代主售实例定价是30%、23%、22%的降本幅度,将技术收益让利给客户。

使用这款产品会获得更好的性价比。在前面提到的七大主要应用场景,平均性价比(性能÷价格)收益可达50-80%。

640_011.jpg

05 丰富的软件生态及应用案例

下图为ARM服务器软件生态,包括主流OS、编程语言、Lib库、开源应用。这些软件我们都做过使用和测试,可以做到无需修改代码即可运行。迁移文档、迁移工具等方案可见以下链接:

https://help.aliyun.com/document_detail/462190.html

640_016.jpg

目前在阿里云产品中,RDS、容器、PAI、视频云等多款PaaS产品接入倚天ECS;阿里集团电商业务也使用了倚天ECS,有效支撑阿里618、99大促以及双11大促多个活动。外部有短视频、Web、游戏、广告等客户提前使用了新产品。

640_013.jpg

最后总结一下关键词。

技术关键词:倚天710云原生处理器(独立物理核、重新定义CPU水位)、CIPU为中心的硬件架构(业界最高密度、NUMA less提高稳定性、硬件加速)、ECS booster方案(加速应用性能);

关键数字:性能提升30%以上,性价比提升50%;节约用电1个三峡。

再次感谢各位见证硬核技术的倚天专场,今天倚天的一小步,将是改变未来IT历史、改变云计算浪潮的一大步,感谢大家!

推荐阅读
关注数
5856
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息