近日,浙江移动星河团队再次载誉归来!浙江移动自主研发的“边缘容器云解决方案”在华为公司组织的自主开发大赛暨“鲲鹏应用创新大赛2020”全国总决赛中脱颖而出,荣获ARM原生赛道金奖。

7d6d4a7bcc5b6af2ceb5924e28a2e703.png

本次获奖的解决方案由网络部云计算支撑中心容器云团队和信创团队联合打造。

容器云团队专注于云原生、微服务、边缘云等关键技术,负责边缘容器云平台构建。该平台是浙江移动落实集团公司“5G+AICDE”战略部署中E(Edge),针对边缘计算场景进行架构设计,目标是将中心云上的应用管理能力延伸到边缘侧,为客户就近提供云原生服务。 信创团队致力于国产化信息技术创新(以下简称:信创),重点针对海光、飞腾、鲲鹏等多种国产服务器,以及银河麒麟、统信等多类国产操作系统的能力进行测评,并对达梦、人大金仓、神舟通用等数据库、消息类中间件等PaaS产品进行系统适配,在信创领域具有深厚的技术积累。

那我们两个团队一起做了哪些事情呢?

且听我娓娓道来。

边缘容器云平台适配改造

边缘容器云平台建设之初是基于x86架构+Redhat操作系统构建,本次适配改造后能够在ARM架构+中标麒麟操作系统下正常运行。整体适配迁移改造工作分为三部分:

8c3b549cb4493df0c46fdd5529a027c4.png

一、开源技术组件采用ARM版本集成部署 98cdc81976848fadb397eb559f0094bc.png ▶对于有ARM版本的开源组件,基于其开源的版本进行本地化部署,包括docker-arm、k8s-arm、Prometheus、ES、Fluentd等底层技术组件,以及通用的Mysql、Redis、Kafka、MQ等中间件,本地化部署后再基于ARM服务器进行参数配置。 ▶对于没有ARM版本的开源组件Habor,通过下载社区源码进行重新编译。 二、对自研功能模块基于ARM平台架构重新编译 98cdc81976848fadb397eb559f0094bc.png修改环境变量,提升编译效率。从Go 1.11 版本开始,官方支持go module 包依赖管理工具和GOPROXY 环境变量。通过设置export GO111MODULE=on 开启 MODULE,下载源代码时将通过环境变量设置的代理地址下载,而不是从代码库下载,极大提高依赖包下载成功率。 ▶基于GoLang跨平台重新编译。自研组件和模块基于GoLang跨平台重新编译,包括dockboxv3、dockbox-k8s、dockbox-celery等8个组件。 三、调整容器实例相关配置 98cdc81976848fadb397eb559f0094bc.png调整容器实例标准规格。为满足性能要求,从x86平台(Intel V4/V5 Golden CPU)迁移到TaiShan平台(Kunpeng 920 CPU)时, TaiShan服务器容器CPU核和x86 容器CPU核按2:1规格置换。例如,x86上容器规格为1.5core,迁移到TaiShans平台后,容器CPU规格设置为3core。 ▶JDK1.8版本及容器内存参数调优。为了满足当前主流开发语言的处理能力,使用JDK8u191+ 版本适配Taishan服务器。当前边缘容器云平台已将相关参数开放配置,企业可以参考相关参数的定义并结合自身业务场景场景进行调优。

7b7babb5ac4531a7a04281921927a203.png

8780fa969e3f2effad02af55d4059b10.gif 基于上述三个方面的适配改造,在应用层面实现了在ARM服务器上最优运行。为了进一步发挥鲲鹏服务器的性能优势,我们又升级了服务器底层固件版本和驱动,对各类内核参数进行优化调优,基于泰山 2280 V2服务器形成了边缘云容器平台的最佳实践。 服务器固件升级和参数调优 98cdc81976848fadb397eb559f0094bc.png 一、固件版本升级及驱动配套,并优化BIOS内核参数 2f030cb787da23ab80af5e09fd215abc.png 1、硬件版本驱动优化。 分别对固件BMC( Baseboard Management Controller,基板管理控制器 )、BIOS(Basic Input Output System,基础输入输出系统)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)等固件驱动版本升级至最新版本,并按照华为官网指导对固件驱动和版本按照驱动配套表进行配套。 2、对BIOS参数进行调优。 通过修改将BIOS中的Power Policy设置为Performance,加快CPU性能预热,减少性能波动;设置内存刷新频率(Custom Refresh Rate)为64ms,在SPECCPU测试对比性能提升约3%。

78cc712f0deba1ce3fe0774f48834927.png

98cdc81976848fadb397eb559f0094bc.png 二、针对Hi1822网卡,安装华为发布的最新驱动和配套的固件版本,并对以下参数进行调优 2f030cb787da23ab80af5e09fd215abc.png

a2a168fa5846f62a6bbbee19ec85030a.png

典型应用模式下国产化技术能力测评

为了进一步验证泰山服务器的处理能力,对“鲲鹏+中标麒麟Linux for ARM”与“X86 + CentOS for X86_64”两种组合进行对比测评。底层物理服务器分别采用arm CPU kunPeng920 和X86 CPU Xeon E5-2650 v4两种架构,统一采用华为Fusionshphere虚拟化技术,虚拟机配置规格为4C/16G/100G,使用业界公认的两大测评工具(Phoronix Test SuitesUnixbench)在典型应用场景下进行评测,测评结果如下:

488dac753bc093ae103358980caae13d.png

?   Phoronix Test Suites测评数据

c27a133ac0cbcc779dfd645f438158ec.png

?   Unixbench测评数据

在使用Unixbench细分的测试中,Kunpeng与Xeon各有千秋,总得分分别为2720和2911,能力非常接近。

cd388e5f7da850ea2410b796452b7166.gif 8780fa969e3f2effad02af55d4059b10.gif

在使用的两种测试方法中,CentOS x86_64的CPU性能均高于中标麒麟Linux,表面上均是Xeon占优,但单位CPU的处理能力是不一样的。因此,我们进一步对两种服务器的业务处理能力进行压测,并对单位成本的处理能力进行对比。

服务器业务处理能力及成本对标

基于华为Taishan200型号2280(鲲鹏920-4826,2*48核,2.6G) 和华为RH2288H v5(Xeon Gold 5118,2*12Cores,2.3GHz)分别进行压力测试。

31705a5bc087b001aee4348cd82285a7.png

B系统每分钟解码能力ARM比X86提升33%; C系统每分钟接口处理能力ARM比X86 提升50%。

36da3a0a4c4349f767ee04f1914beeb1.png

C系统相同接口处理能力下ARM比X86服务器CPU、内存利用率更低,且接口响应时长更短。 为了能够更加直观的比较ARM和X86处理能力和成本的关系,引入“单位成本处理能力”,计算公式: 单位成本处理能力=处理能力/(采购成本+功耗成本+维护成本)

5a5da0a03e07682c54c6381061e11601.png

从上表可以看到,应用C和B系统计算型场景下,ARM服务器单位成本处理能力比X86分别提升23%和9%。 写在最后 乘着本次比赛获奖的东风,我们团队将继续在信创技术和边缘计算两大领域深度研究。以集团公司“五纵三横”的战略部署为指引,“以终为始,不忘初心”,将领先的信创技术和边缘计算服务深入扎根到客户,践行引领信创事业发展的国企担当和赋能中小企业数字化转型的社会责任。携手行业合作伙伴共同建设多样化算力的信创产业生态和开放共赢的边缘计算产业生态!

END

fd96a8b4ae2e8d5b5ba8b1969938c445.png
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐