电信领域方案和多样算力需求(附下载)
共 7660字,需浏览 16分钟
·
2021-05-19 17:14
本文来自“多样性算力技术愿景白皮书”,白皮书内容包括多样性算了现状、发展趋势、挑战、ARM发展策略和方案等方面,下载链接:多样性算力技术愿景白皮书
处理器技术的发展,不仅仅体现在算力本身的提升,上层应用的兼容性也是生态建设的重要方面。而应用的兼容性可以从以下几个方面考量,处理器指令集直接决定了上层软件的技术路线, 操作系统是应用的底座,编译器很大程度上决定了程序运行的性能。本章节将分析目前ARM架构 CPU采用的指令集,操作系统和编译器的版本,并给出电信行业ARM架构CPU指令集、操作系统 和编译器的统一标准建议。
ARM架构是不断演进的,基于功能、性能和安全性的考虑, ARM公司每年都会推出不同的架构 扩展并进行指令集的版本演进,同时ARM和生态伙伴会在Linux Kernel中持续增加功能来来支持 这些最新的ARM架构扩展,从而对绝大部分上层应用屏蔽底层硬件系统架构的区别。考虑到电信 行业高可靠性的要求,并基于当前电信应用以及主流ARM架构CPU的现状, 建议今年将电信行业 数据中心领域ARM指令集版本起点标准定义为ARM v8.0,推荐标准为ARM v8.2。以后每年审 视,综合考虑各个厂家产品的实际研发进度,以及ARM指令集新的版本是否针对电信行业实际需 求做过优化等因素,再决定是否升级指令集版本标准。
不同应用对编译器更新频度以及稳定等有不同要求。具体到电信行业,网络云场景偏重业务稳 定性,因此稳定的GCC版本是其基本诉求;而对于IT云和公有云等场景,则要求最新的GCC版本 充分释放算力。
GCC各个版本的升级都带来新的功能特性和性能收益,但考虑ARM服务器厂商的应用现状和遵 循渐进的原则,建议今年电信行业ARM架构下编译器推荐版本为GCC9。相比较GCC7/8, 性能方 面GCC9具有更强大的自动矢量化、循环展开等优化特性。前端语言方面,GCC9全面支持C+ +17,同时在后端架构适配方面,支持ARM Cortex-A76、ARM Neoverse N1等CPU核心,能 够充分发挥ARM架构优势。此外,GCC9提供了最新的编译告警提示信息,可以更方便地帮助开 发者进行开发调试。
以后每年审视编译器版本,遵循版本渐进的原则,同时考虑电信行业对编译器稳定的要求,原 则上只采用发布一年以上的GCC新版本。例如2021年可推动各个CPU厂家采用2020年已发布的 最新版GCC10。GCC10不仅包含许多新的体系结构功能,而且还是迄今为止性能最高的GCC版 本。采用GCC10编译应用程序可以充分利用最新ARM架构的优势,例如GCC10完全支持SVE的 ARM C语言扩展,这使得开发者可以访问4000多种内部函数,并在内核中使用SVE的许多高级功 能。此外,GCC10在自动向量化、循环展开等方面做了更多优化。以ARM Neoverse N1为例, 采用GCC10进行编译相较于之前的版本,性能有极大的提升。
当前主流的Linux操作系统包括Ubuntu,SUSE,openEuler等。Ubuntu的开发由英国 Canonical有限公司主导,基于Debian发行版和GNOME桌面环境,每2年发布一个LTS长期支持 版本, 服务器版可以获得为期5年的技术支持。SUSE是Linux操作系统的发行版之一,源自德国。 现时SUSE属于Novell旗下的业务,同时亦是桌面 Linux 联盟(Desktop Linux Consortium)的 发起成员之一。openEuler 是一个开源、免费的 Linux 发行版,将通过开放的社区形式与全球的 开发者共同构建一个开放、多元和架构包容的软件生态体系。
电信行业本身对操作系统的性能、可靠性和有效性有着专门的高标准和要求。基于当前行业应 用情况,建议今年将电信行业ARM架构操作系统版本基线定义为
● Ubuntu Kylin18.04 LTS或以上
● SUSE12.5或以上
● openEuler LTS 20.03或以上
在此操作系统版本基线之上,还建议系统应满足高度中文支持,提供与桌面环境高度融合的中 文化体验;针对Linux操作系统管理、维护及易用性差等问题,提供插件式系统管理与维护框 架,快速实现或扩展满足特定需求的系统管理和维护工具;针对Linux系统软件包依赖关系复 杂、普通用户安装软件困难等问题,提供基于软件仓库的软件包自动更新技术;从而为电信级市 场提供高稳定性、高安全性、高质量、高性能和高可用性的操作系统平台,推荐支持内核热补丁 和热替换特性,缩短业务中断时间。具备vCPU的陷入陷出、内存CPU占用率等观察能力,提升 虚拟化层维护效率。
此外,针对操作系统内核版本,建议使用Linux Kernel 4.18 或以上版本,更新的内核版本将带 来更多功能增强和更多的设备支持。以Ubuntu Kylin 20.04 LTS采用的Linux 5.4内核为例,该内 核的重要更新包括升级exFAT 文件系统驱动程序、优化 Nouveau 开源显卡驱动的显示颜色管 理、以及RTL8125 网络设备和RK3288 VP8 解码支持等。
今后建议每年审视,综合考虑各个厂家产品的实际研发进度,操作系统新的版本是否针对电信 行业实际需求做过优化等因素,再决定是否升级操作系统版本建议标准。
传统计算平台之外,引入多样性算力首先要解决“能不能用”的问题。面向不同技术路线下的 各类处理器产品在云计算场景下的应用,需联合应用行业代表、测试机构代表、处理器厂商、整 机厂商、OS厂商、从事基准研究的高校,共同开发有技术竞争力和产业影响力的性能基准,填补 国家产业基准空白的同时引领多样性算力性能的蓬勃发展。其中,考虑核心应用对CPU的资源消 耗情况,尤其各类处理器核心的性能差异,在电信行业虚拟化条件下制定计算性能的评估制定基 准测试标准。同时,基于电信行业典型应用场景,对性能基准的负载选择也进行评估和开发。目 标是推动制定NFV服务器计算基准测试标准,全面、客观地评估不同架构处理器及计算核心算力。
数据中心服务器硬件上存在生态垄断、企业间产品互相捆绑的情况。为推动基础软件(尤其是 OS)、固件、CPU及其它硬件间的兼容适配,支持更强的可扩展性,促进ARM服务器生态的发 展,需要制定基于ARM架构的服务器在系统管理、软硬件解耦等方面的开放标准。包括规定基于 BMC的带外、带内管理功能要求(访问、部署配置、维护诊断、告警监控等)、软件管理接口要 求、硬件管理技术要求、安全要求(账号安全、协议、访问策略等)、BMC启动性能要求等。确 立相关技术标准后,通过功能、性能测试方式来评估各厂商产品满足用户需求的程度,并通过兼 容性测试来验证OS、固件、硬件之间的适配和兼容。
现代应用软件功能日益丰富,代码规模大,多采用组件化分工协作,不同组件还可能由不同组 织提供和维护,相互依赖关系复杂。因此需要从IT技术全栈视角审视支持多样性算力适配和迁移 的条件。如下图所示,典型的软件技术栈具体包括操作系统、虚拟化、数据库、中间件、应用软 件等层次。
为更好地适配多样性算力,建议从生态、功能、可靠性、安全性和服务支持能力几个维度开展 操作系统综合评估和选择,以满足上层应用迁移适配的要求。
1. 生态上,OS要能同时适配多样化的CPU算力底座,要支持鲲鹏、飞腾等ARM芯片,要能 适配主流板卡,包括但不限于网卡、RAID卡、GPU卡、硬盘等设备。供应上要基于开源社区打 造多元化OS底座,既与国际主流社区保持回合同步,又可以独立演进不受极端情况断供的影响; 选取软件包时要能覆盖90%以上的客户场景,并能做到版本间的前向兼容;
2. 功能上,OS要能提供上层应用必需的能力。包括OS必须集成满足一定性能要求的编译环 境(gcc、jdk)和动态库(glibc),必须集成主流开发语言(如python等);此外,OS还要对 常见业务提供基础的底层支撑,如能提供基于KVM、QEMU的虚拟化能力,提供基于docker、 k8s的容器能力等;
3. 可靠性上,OS要提供良好的可靠性保障:如能对内核崩溃提供快速的定位、恢复机制,能 对可靠性要求较高的容器、虚拟化提供额外的可靠性保障;
4. 安全方面,OS需要具备完善的安全能力:要能根据影响程度及时修复影响较大的CVE漏 洞,并在官方网站上发布修复公告,能提供完整性度量、机密计算等高级安全特性,做到OS层面 的高可信、高安全度;
5. 服务支撑方面,商用OS需要考虑OSV的团队服务能力,非商用OS需要考虑社区服务能 力。
当前支持ARM平台的国产商用操作系统包括银河麒麟、麒麟信安、统信、普华、拓林思、傲莱 等,开源操作系统包括SUSE,openEuler等。
首先应推动包括QEMU-KVM、OpenStack、Docker、K8s等为代表的开源虚拟化层软件支持 多样性算力。其次,在虚拟化软件层建立基准要求,能纳管不断丰富的IT基础设施,包括x86/ ARM等不同指令集架构的硬件,支持不同架构硬件资源池的混合部署,助力用户应用朝着更敏 捷、更高效、更多元的方向发展。
为更好地适配多样性算力,建议从生态、功能、性能、可靠性和安全性等几个维度开展虚拟化 层软件的综合评估。
1. 在软件生态上,针对多样化CPU算力底座进行适配时,需要制定基准要求来统一虚拟化软 件的生态,要求屏蔽不同CPU架构的差异,除x86外,还要能支持鲲鹏、飞腾等ARM芯片,支持 不同架构资源池的混合部署,从而为用户提供差异化的选择;在适配多样化CPU算力底座需要考 虑的主要包括:
● 网卡等硬件驱动适配
● BIOS适配
● HostOS内核升级及适配
● Switch卸载特性
● NUMA特性
● 虚拟层管理软件编译
2. 从功能上,虚拟化层软件需要提供必须的基础能力,包括CPU虚拟化技术、内存虚拟化技 术、IO虚拟机化技术等,支持跨主机热迁移、智能内存复用、虚拟机高可用、动态资源调度等关 键特性;在硬件支持情况、设备的驱动支持和Host/GuestOS的操作系统支持等方面要能在多类 型的硬件平台混合部署,实现更灵活更好的扩展性;
3. 从性能上,技术路线的发展应该支持处理器架构发展方向为更高密度的核数,更低的功 耗,更强的性能,比如提升单VM计算性能及整机VM计算性能,降低整体TCO;
4. 可靠性上,虚拟化层软件能支持包括虚拟机HA、虚拟机热迁移、虚拟机负载均衡、故障检 测等特性;
5. 安全方面,虚拟化层软件安全解决方案需要从不同层面解决。在物理资源层可以通过可信 计算技术来保证主机硬件(BIOS、操作系统引导程序等)的安全性;操作系统层通过Host/ Guest OS的安全机制来保障操作系统的安全可靠;在虚拟化层可以通过Hypervisor安全机制或 者虚拟机自省技术确保虚拟机监视器的安全运行。
为更好地适配多样性算力,建议从业务场景、可迁移性、性能、高可用、安全等几个维度开展 数据库综合评估和选择,以满足上层应用迁移适配的要求。
1. 在业务场景上,数据库要支持多引擎,要能同时支持行存引擎、列存引擎、内存引擎等多 种引擎模式,来充分支撑交易型、分析型、高性能等不同的业务需要;同时要考虑不同类型数据 库间的迁移,要考虑所选数据库具有良好的语法兼容性;
2. 性能上,数据库要能满足高性能场景的业务诉求,包括高tpmC和高并发下的稳定性。数据 库要能充分利用ARM多核NUMA的特点,对数据结构做NUMA分区化改造,比如部分厂商的2 路服务器,可以达到150万的tpmC,在高并发(800并发)时仍能保持稳定的性能。对于更高性 能要求的数据库场景(如CRM、Boss),推荐引入4路服务器;
3. 高可用上,要求数据库能在一定负载强度、一定业务量下达到能满足业务需求的RTO时间 (故障恢复时长),比如60%负载、70+万tpmC下建议能满足RTO < 10s;
4. 可迁移性上,标准须约束数据库具备完整、可靠的手动/自动迁移流程/规范,可以对自动 化方式实现主流数据库迁移提出要求,可以对迁移成功率设置最低标准(比如90%以上);
5. 安全性上,数据库需要在运行安全和存储信息的安全两方面满足安全诉求,需要能对核心 数据的存储做到加密,需要有一定的防漏洞、防攻击机制,需要能对敏感数据做到匿名化。
当前已支持ARM平台的国产数据库厂商包括海量数据、云和恩墨、虚谷伟业、神舟通用、人大 金仓、达梦、南大通用、阿里、腾讯、电信自研数据库(TiDB,Teledb)、东方国信行云数据 库、思特奇iddbs、亚信antDB等,开源数据库包括openGauss、MySQL、PG、MariaDB等。
中间件与操作系统、数据库并称三大核心基础软件,为上层应用软件便捷、通用和标准化的研 发提供了强有力的支撑,通过服务或者服务组件来实现更高层次的复用、解耦和互操作。当前, 对中间件的选择,从供应来源上来看,推荐从持续投入研发、创新以及服务能力建设且聚焦基础 软件的厂商如宝兰德、东方通等供应商以及开放性较好的开源软件中选择,呈上启下,连接好底 层软件和上层应用,端到端做到对多样性算力的支持。
当前,在数据量爆发性增长、行业应用场景需求差异化以及运营商业务模式多元化变革的趋势 下,电信云面临从架构到底层硬件基础设施的全面升级。
IT云方面,随着运营商业务模式更加多元,IT支撑系统业务逻辑更趋复杂,实时数据处理、高并 发数据处理、大数据分析等技术需求不断扩大,容器化部署、分布式处理等场景加速向CRM、 BOSS、MSS等核心系统渗透,需要底层IT基础设施在并行计算、内存容量和带宽等方面提供更 高能力匹配。
网络云(电信云/CT云)方面,基于NFV技术的解决方案已成为运营商核心网扩容和新建的优选 考虑。5G核心网采用原生云化设计思路和微服务架构,将网元功能拆分为细粒度的网络服务, “无缝”对接云化NFV平台轻量级部署单元,为差异化的业务场景提供敏捷的系统架构支持,核 心网容器化、硬件资源池化成为发展方向,对底层计算架构的多样性、负载能力和计算效率提出 新的要求。
在边缘节点,为应对大视频、物联网等各类高带宽和低时延的边缘计算类业务,电信云计算能力向移动边缘节点下沉,以实现网络业务、服务及应用更快的分发下载速度,从而有效缓解核心 网压力,提升用户网络体验,边缘数据中心IT基础设施将面临计算、存储等网络能力的全面提升 以实现大流量、高并发、低时延的本地数据处理能力。
从ARM在各运营商业务的迁移实践来看,NFV、大数据、DPI已经有成熟的商用案例,并积累 了丰富迁移经验。当前,运营商ARM成熟还面临如下关键挑战,需要协同推进多样性算力适配和逐步成熟。
● IT云:CRM和BOSS定制版本角度,当前进一步丰富迁移实践;OSS和VAS场景多,生态呈碎 片化,需进一步加强
● 网络云:NFV需要更多的厂商参与ARM适配,丰富ARM迁移经验
一个应用从x86平台到ARM平台典型的迁移过程包括如下五个步骤。
现代软件的规模越来越大,人力往往很紧张。在应用的迁移过程中存在如下典型问题:
● 在技术分析阶段,移植代码依赖手动扫描分析,通过编译试错定位,准确率低,人工分析投入 大、周期长。
● 在编译迁移阶段,涉及底层汇编语言分析,编译选项设置,对人员专业技能要求高。反复定位 试错周期长、准确率低。
● 性能调优依赖个人经验,人工定位手段单一,定位困难,效率和准确率低下。
为了提升应用迁移效率,需要提供自动化的工具体系。解决在应用适配和迁移过程中三个关键问题。
1. 分析扫描工具能够一键生成可移植性评估报告。移植前可先用该工具分析可移植性和移植投入。工具自动识别依赖库和评估源码工作量,C/C++ 源码工作量。
2. 代码迁移工具自动分析出需修改的代码内容,并指导开发人员修改。该工具解决了代码兼容性人工排查困难、开发人员移植经验欠缺、反复依赖编译调错定位等迁移适配难点。
3. 性能分析和优化工具能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到瓶颈点及热点函数。
基于这些工具,可大幅降低迁移难度、人工错误,提升迁移的效率。考虑到迁移无法完全靠迁移工具完成,往往需要手动介入,需结合技术栈各层的特征发布指导具体应用案例迁移的流程和规范指南。迁移工具和指南可通过参考文献获取。
1、华为鲲鹏生态研究框架
下载链接:深度报告:RISC-V异构IoT全新架构
1、行业深度报告:GPU研究框架
2、信创产业研究框架
3、ARM行业研究框架
4、CPU研究框架
5、国产CPU研究框架
6、行业深度报告:GPU研究框架
免责申明:本号聚焦相关技术分享,内容观点不代表本号立场,可追溯内容均注明来源,发布文章若存在版权等问题,请留言联系删除,谢谢。
电子书<服务器基础知识全解(终极版)>更新完毕,知识点深度讲解,提供182页完整版下载。
获取方式:点击“阅读原文”即可查看PPT可编辑版本和PDF阅读版本详情。
温馨提示:
请搜索“AI_Architect”或“扫码”关注公众号实时掌握深度技术分享,点击“阅读原文”获取更多原创技术干货。