写点什么

多元架构时代技术学习的正确姿势

宋文喆

  • 2019-12-16
  • 本文字数:3958 字

    阅读完需:约 13 分钟

随着云计算进入多元时代,企业对多元计算架构、多级平台架构以及多形态计算架构提出了更高的需求。在这些需求下,云服务厂商需要提供怎样的云架构解决方案,才能助力企业加速智能化转型和业务创新?12 月 6 日,ArchSummit 全球架构师峰会北京站,来自华为云的 4 位资深技术专家在【多元架构时代的技术挑战】专场做出了他们的分享。以下内容为演讲整理。


本次技术专场分为 4 个分享环节,解析 “AI+5G” 下的云基础设施面临的挑战,介绍华为云擎天软硬协同架构的解决方案;架构师在多元挑战下的思考;NUMA 架构下的性能挑战和 openEuler 的技术特点。

擎天软硬协同架构解析

第一位分享嘉宾是华为云擎天架构负责人、高级架构师李模华。他指出在“AI+5G”的技术驱动下,将导致云游戏、车联网、物联网应用的大规模爆发,这些应用同算力需求将汇集在云端。未来创新带来的挑战,暴露了传统云计算底座的多个问题,主要集中在 5 个方面:


  • 性能:公有云上虚拟化面临 3% 到 15% 的虚拟化消耗,在私有云的场景,如果没有经过合理的调优算力损失可能更严重。

  • 成本:裸金属、虚拟机、容器、Serverless 多形态无法共存。

  • 安全:早期的 CPU 架构可能并没有完整的去考虑云计算场景,存在虚拟机逃逸、数据窥探等安全问题。

  • 稳定:多租户产生邻居噪音,对于性能抖动只能尽力而为。

  • 加速:简单的基于策略的硬件加速,缺少智能感知、适应性差的问题

(华为云擎天架构负责人、高级架构师李模华)


对于传统底座存在的问题,我们认为下一代云计算底座应该具有:多样算力、多种粒度、稳定低时延、智能加速、高密度零开销、安全可靠的这六个特征,李模华说道。随后他介绍了下一代云计算底座:华为云擎天软硬协同架构,在传统云计算底座问题上的解决方案。擎天软硬协同架构主要由三大部分组成:- 擎天智能卡- 统一智能加速框架- 擎天虚拟化


擎天智能卡包含了华为自研的很多的芯片,其中包括像网络加速芯片、存储加速芯片、安全芯片、AI 芯片、鲲鹏芯片、SSD 芯片。统一智能加速框架包括,擎天加速面 - 网络、擎天加速面 - 存储。擎天虚拟化是根据华为云自己的特点完全自研,重构了完整的虚拟化领域。主要用来解决传统云计算底座存在的问题。


在成本方面:擎天虚拟化前端支持虚拟机、安全容器、Serverless、系统容器的多种形态。


在加速方面:擎天架构可以支持单一的云管控子系统。具有多个加速面横向扩展的能力,比如本地盘卸载加速(华为自研 SSD 控制器芯片)、网络 I/O 加速(华为自研网络芯片)、存储 I/O 加速(华为自研存储加速芯片)支持 DIF,EC,QOS 加速。李模华提到,通过软硬结合的方式,我们可以在支持 NVME 的存储设备同时,提供一个比较固定的算法逻辑,像 DIF、EC 的芯片级别的加速,我们会把这部分固定的逻辑通过我们专用的芯片去做一个加速,这样可以省去通过通用的处理器来加速消耗大量资源的问题,可以解决性能提升的瓶颈问题。


在稳定性方面,配合定制的 Hypervisor,实现业务零抖动。目前 KVM 的实现,CFS 的调度,因为要兼顾通用场景的诉求,它的时延是非常差的,在卸载的场景下通过自研的调度,做到业务的零抖动、CPU 内存零预留。

架构师在多元挑战下的思考

第二位分享嘉宾是,华为云应用架构首席技术专家姜胜。他首先谈到了架构师的成长历程。从普通程序员到高级程序员在到架构师。需要具备最重要能力是抓住事物的本质,能够去抽象这个事物的本质,将一个复杂的系统变成比较简单的系统。姜胜提到。


多元架构是我们现在这个快速变化的时代催生出来的,分成了 3 个方面:


  • 技术的爆炸:移动互联、云计算、人工智能、物联网。

  • 环境的多元化:混合云、移动设备多元化。

  • 商业需求多元化:各种各样的商业应用都是 7 天×24 小时不中断,高可用。

(华为云应用架构首席技术专家姜胜)


这就使得我们应用的架构变得非常重要,如果系统没有一个好的架构,就没有办法去满足各个方面的需求,技术变化的需求,环境多样性的需求,和艰巨的商业需求。在这些多元架构的挑战下,作为架构师如何实现价值最大化,怎么能更好的去影响团队,帮助公司更好的发展。姜胜做了以下 5 点的分享:


  • 工具的选择

  • 找出不同系统里的共性

  • 系统复杂性的屏蔽

  • 设计系统的可扩展性

  • 跨资源优化


工具的选择,这个是作为架构师一个首要的问题,选择什么样的工具才能帮助你的组织,更好的去解决多元化所产生的挑战。确定组织的工具,这是一个方面。姜胜提到,软件开发平台 DevCloud 基本上是业界最完整的全流程的 DevOps 的工具链,架构师在选择时可以有所考量。


找出不同系统里的共性,公司里有各种各样的产品线、业务线。它们都需多样的系统去支撑。架构师不可能写这么多的系统,每一个系统都用不同的东西,所以说这里对架构师的挑战,就是怎么在不同的系统里面看到它的相同性。这个抽象能力也是架构师必须要具备的,在这种多元化的背景下显得尤为重要。很多厂商在说的中台其实是用了相同的理念。


系统复杂性的屏蔽,每个系统都会有自己比较复杂的地方,你不可能让所有人去对这些系统都有了解。这就需要架构师对单个系统的复杂性进行屏蔽,这样在做系统设计的时候,就可以做到降低用户的学习曲线。


设计系统可扩展性,每个架构师在做系统设计的时候,应该把系统的可扩展性考虑在里边。设计系统时不可能把所有应用场景都想全,可能推出后,过不了多久就会过时,但是你又要保持这个系统的价值,如何做?就是通过这个系统在设计时的扩展性,能够使新东西、现在没有预想到的东西或者外部的系统能够跟你进行对接。


在云服务的过程里面,各种不同的云服务厂商它的单一服务能力,可能是不一样的,所以你在做系统设计的时候,如何使你的系统架构能够运用各个不同的云服务厂商优势处,尽量避免他的弱点。怎么能够协同用到各个不同系统最佳的服务,这个也是架构师在系统设计时需要考虑的。

NUMA 架构下的性能挑战

第三位分享人是华为云智能计算研发部主任工程师王博。说到服务器的 NUMA 架构,大家或许都知道。NUMA 架构在中大型系统上一直非常盛行,也是高性能的解决方案,尤其在系统延迟方面表现都很优秀。但 NUMA 架构对服务器的相关性能到底有什么影响,如何设置会更好,王博在此做出了分享:


  • CPU 从单核到 SMP

  • 从 SMP 到 NUMA

  • NUMA 架构的特点

  • NUMA 的配置方法

(华为云智能计算研发部主任工程师王博)


CPU 从单核到 SMP,从 2006 年左右开始,所有的 PC、服务器的处理器,都迈入了多核时代。这时出现了多核架构,称为 SMP:对称多处理系统。在 SMP 架构下的计算机中,每个核都是对等的,所有的核通过总线访问所有内存,每个进程在调度时,可以在任意一个核上运行,在操作系统和内核的支持下,整个系统能做到非常好的负载均衡,性能得到很好的发挥。

(从单核到 SMP)


从 SMP 到 NUMA,所有的核均通过总线访问内存,当核数不断增加的时候,内存总线成为了瓶颈。为了解决这一问题,NUMA 架构出现了,非统一的内存访问架构。右图是一个 NUMA 架构的示例,这里有两个 CPU,每个 CPU 内有两个 NUMA Node。在 NUMA 架构下,CPU 被分成了多个节点 Node。每个节点有自己的内存 Controller,不再受内存总线带宽的限制。

(从 SMP 到 NUMA)


NUMA 架构的特点,每个 NUMA 节点上面有自己的内存的卡槽、有自己内存的控制器、有自己的内存,这里面带来两个概念,第一个概念 CPU 有了节点,第二,我访问不同内存的时候,虽然所有内存在整个服务器上都是可见的,实际上在物理上他们是分布的,他们通过不同的结点、通过不同的内存访问器去访问的,就有了距离。

(NUMA 架构的特点)


(NUMA 配置的方法)


openEuler 的技术特点

第四位分享嘉宾是,华为云开源生态发展专家、openEuler 首席技术布道师朱星。分享了华为云容器解决方案 iSula 和 openEuler 的介绍:


  • 容器解决方案 iSula

  • openEuler 介绍

(华为云开源生态发展专家、openEuler 首席技术布道师朱星)


容器解决方案 iSula,是华为云在容器解决方案的总称,主要有三大模块。第一个是容器引擎 iSulaD,第二个是容器的储存,第三个是容器网络。具有三个优势特性:


  • 一步到位兼容最新标准(OCI 和 CRI 标准)

  • 相比 Docker 常驻内存进程从 3 个减少到 1 个,调用层级从三级压缩到 1 级,提升启动速度

  • 采用 C 语言,开销减小,原先使用 GO 语言编写,代码量非常大,通过 C 语言重写使代码量从 30 万变成了 7 万,使容器非常轻薄实现代码精简化。


openEuler 是一个基于华为 EulerOS 的开源服务器操作系统。另外一个含义是 openEuler 社区,openEuler 社区由华为牵头成立,多方参与。社区的定位是全面开源,对接了多个社区,包括 Linux 社区、Linaro 社区等等。


华为云希望通过共享的方式打造社区的操作系统 openEuler,基于 openEuler 可以有两种形式,一种就是提供给我们的合作伙伴,比如商业发行的厂家,做二次商业发行。另外可以提供给广大的互联网厂商或者中小企业直接使用。


希望社区开发者规模能够达到数百万,一起来参与从内核到基础包、标准包、扩展包的开发。


2019-12-16 16:411576

评论

发布
暂无评论
发现更多内容

解读场景化视频制作工具的实现过程

阿里云CloudImagine

云计算 智能生产

从智能进化模型看用友BIP的AI平台化能力

YonBuilder低代码开发平台

在云原生和裸金属环境开展NFS存储性能比对测试

QE_LAB

云原生 性能测试

2022 IoTDB Summit:中国工程院院士倪光南《发展开源教育,汇天下英才激活中国创新动能》

Apache IoTDB

数据库· ;开源

安全高效 | AIRIOT智慧工地管理解决方案

AIRIOT

物联网 智慧工地

从 Netflix 传奇看,结果导向的产品路线图如何制定?(下篇)

LigaAI

敏捷开发 研发管理 研发效能 it路线图 企业号 3 月 PK 榜

前端已死?我看未必,但「低代码」已剑指前端程序员

引迈信息

面试 Vue 前端 低代码

OpenCloudOS 如何以最小成本,高效定位内存泄露路径?

OpenCloudOS

Linux 内存 opencloudOS

如何通过C#/VB.NET代码在Word中更改字体颜色

在下毛毛雨

C# .net word文档 字体 段落

听说你没法在 JRE 中使用 arthas?不,你可以

阿里巴巴云原生

Java 阿里云 容器 云原生

运维训练营第16周作业

好吃不贵

探究计算机视觉新兴能力:如何通过提示检索提高性能?

Zilliz

计算机视觉

会声会影2023官方新功能介绍

茶色酒

会声会影2023

浅谈ChatGPT掀起的一波浪潮 | 社区征文

闫同学

ChatGPT

3.基于Label studio的训练数据标注指南:文本分类任务

汀丶人工智能

信息抽取 数据标注 文本分类 labelstudio

2049 数据合规可信计划共同体研讨会在京召开,易观作为标准起草单位应邀参加

易观分析

数据 数字化

AIGC新实践:AI代写神器搞定BI计算字段所有难题

网易数帆

AI BI

软件测试/测试开发 | 功能测试转测试开发,该如何写简历?如何与其他竞争者中脱颖而出?

测试人

软件测试 自动化测试 测试开发

一文吃透 Go 内置 RPC 原理

捉虫大师

Go RPC

互联网工程师1480道Java面试题及答案整理( 2023年 整理版)

架构师之道

java面试

一天约了4个面试,复盘一下面试题和薪资福利

王中阳Go

Go 面试 面试题 简历优化 大厂突击

开发者进阶必备的9个Tips & Tricks!

SEAL安全

开发者 企业号 3 月 PK 榜 开发人员

服务老是被攻击,如何设计一套比较安全的接口访问策略?

做梦都在改BUG

请你喝一杯 Corretto?谈一谈 JDK 的新选择

亚马逊云科技 (Amazon Web Services)

Java jdk

简述XML和JSON

devpoint

JavaScript json xml

MATLAB实现图像的傅立叶变换

timerring

图像处理

LED显示屏配电柜专业知识

Dylan

系统、 电子 LED显示屏

玩好 StarRocks,大厂 offer 接不完!|字节跳动、小红书、京东物流、唯品会、腾讯音乐要的就是你!

StarRocks

数据库

MYSQL索引知识大集合

阿呆

索引 MySQL InnoDB

大厂的职级晋升答辩是什么 · 职级晋升系列

致知Fighting

后端 晋升

架构训练营模块八作业

现在不学习马上变垃圾

架构训练营10期

多元架构时代技术学习的正确姿势_架构_InfoQ精选文章