NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

宋文喆

  • 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 可以有两种形式,一种就是提供给我们的合作伙伴,比如商业发行的厂家,做二次商业发行。另外可以提供给广大的互联网厂商或者中小企业直接使用。


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


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-12-16 16:411194

评论

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

阿里技术3面+HR面,奋战两个月,终斩获offer定级阿里P6+

编程菌

Java 编程 程序员 面试 计算机

终于学完了阿里P8架构师7年心血整理总结的微服务实战文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

金九银十你打算用什么硬核技能噎死面试官呢?附Java面试核心笔记

Java~~~

Java spring 架构 面试 微服务

裸辞闭关62天,啃下这些分布式技术笔记,有幸通过阿里Java岗P6面试

Java~~~

Java 架构 面试 分布式 高可用

大二上半学期还挂科两门,大三上半学期就找到了外企实习工作,半年时间,我是怎么逆袭的?

编程菌

Java 编程 程序员 面试 计算机

上线直接霸占GitHub榜一!腾讯内部spring全家桶笔记细节拉满!

Java 编程 架构 腾讯 面试

Web端实现RTC视频特效的解决方案

网易云信

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

技术白皮书:现代企业架构设计

码语者

企业架构

三年开发,跳槽腾讯三面终获Offer,定级T2-1(面试题+经验总结)

编程菌

Java 编程 程序员 面试 计算机

【Vue2.x 源码学习】第四十篇 - 组件部分 - 组件的生命周期

Brave

源码 vue2 8月日更

iOS App注入SDK调试

GrowingIO技术专栏

ios sdk 逆向 注入sdk

Web JS SDK 架构解析

神策技术社区

技术 源码分析 神策数据

Android SDK 的 H5 打通方案演进

神策技术社区

大前端 后端 神策数据 shujv

iOS SDK 的 H5 打通方案演进 | 数据采集

神策技术社区

程序员 大前端 后端 数据 方案

Reality Capture 初探

空城机

3D渲染 3D模型 8月日更 Reality Capture

分享我的华为面经,华为OD岗笔试+面试心得,本人已成功入职!

编程菌

Java 华为 程序员 面试 计算机

你真的懂Redis与MySQL双写一致性如何保证吗?

Linux服务器开发

MySQL redis 中间件 架构师 Linux服务器开发

OCR开发者福音:PDF提取Excel文件算法开源啦

百度开发者中心

开源 最佳实践 开发者 方法论 OCR

都2021年了,你还在用Jenkins?赶快看看这些替代方案吧

编程菌

Java 编程 程序员 计算机 技术宅

百度世界大会2021: 与时代共振,AI让生活更好

百度大脑

人工智能

hadoop 基本原理与应用

神策技术社区

hadoop 程序员 Hadoop全分布式集群

上游思维:如何定义成功?

石云升

读书笔记 8月日更 上游思维

这份Github神仙笔记覆盖了90%以上的Java面试题,带你所向披靡

Java~~~

Java spring 架构 面试 微服务

斯图飞腾发布《如何将客户反馈转化为有价值的商业洞察》白皮书

模块五作业

俊杰

架构实战营

博睿数据斩获“飞腾PCS认证集成商”,推动国产化生态建设再进一步!

博睿数据

云原生 | 混沌工程工具 ChaosBlade Operator Pod 篇

RadonDB

数据库 混沌工程

ipfs国家认可吗?ipfs挖矿靠谱吗?

IPFS国家认可吗 ipfs挖矿靠谱吗

备战92天终入阿里,这份Java后端开发者面试技能笔记功不可没,共勉

Java~~~

Java spring 架构 面试 微服务

百度商业大规模微服务分布式监控系统-凤睛

百度开发者中心

产品 最佳实践 方法论 经验分享 监控系统

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