写点什么

为多样性算力软件开发铺就平坦大道:华为北冥融合架构全面解析

  • 2021-10-12
  • 本文字数:3276 字

    阅读完需:约 11 分钟

为多样性算力软件开发铺就平坦大道:华为北冥融合架构全面解析

在 2019 年 2 月的 ACM 通讯上,计算机架构宗师、架构领域“圣经”著作《计算机架构与量化研究方法》的作者 David Patterson 与 John Hennessey 共同发表了一篇重磅论文:《计算机架构的新黄金十年》,阐述了他们对未来十年计算体系结构发展的分析和展望。论文指出,以硬件为中心、针对特定领域和用途设计的架构(DSA)将提供显著的性能和能效收益,在摩尔定律走向终结的同时为计算机带来新的活力与发展机遇。


DSA 对今天的 IT 从业者来说并不陌生。GPGPU 和 AI 专用加速器就是最常见的 DSA 硬件实现,并且已经在工业界广泛部署,取得了突出的成就并创造了可观的经济价值。如今,越来越多的数据中心开始在服务器集群中安装 GPU 和 AI 加速硬件,为视频压缩和后期处理、数据分析、个性化推荐、智能决策等大规模任务提供惊人的加速比。DSA 已经逐渐成为与传统 CPU 地位并列的计算机关键核心组成部分,为产业和社会带来愈加深远的影响。


然而,正如两位宗师在他们的论文中所述,DSA 的崛起也为软件开发行业带来了严峻的挑战。传统 CPU 上流行的通用编程语言和工具链难以为 DSA 硬件有效编程,后者需要专门开发的领域特定语言(DSL)才能充分发挥硬件潜能。但今天的 DSL 语言生态才刚刚起步,远未成熟,给软件开发者带来了诸多门槛与障碍。与蓬勃发展的 DSA 硬件相比,DSL 开发社区的前进步伐已经明显落后,严重拖累了创新硬件在行业中的应用和推广进程。


可以看到,为 DSA 硬件打造门槛更低、能力更强的语言生态是产业当下的迫切需求。开发人员更希望能有一种具备充分包容性的生态环境,能够一站式覆盖传统 CPU 与新兴 DSA 硬件的开发需求,彻底打通不同硬件架构之间的软件壁垒,降低开发成本,提升开发效率,并充分发挥不同架构的硬件能力。面对这样的需求,华为于 HC2021 大会上正式发布了“北冥多样性计算融合架构”,为数据中心的计算集群跨架构、跨算力类型软件开发提供了一站式全套解决方案。

北冥多样性计算融合架构解析


据华为介绍,北冥多样性计算融合架构是主要面向多样性算力集群的软件开发需求,融合开发语言、编译器、调度器、开发框架、计算套件、开发工具链在内的整套多样性算力开发解决方案与生态。方案分为基础使能、应用使能和开发使能三大组成部分,完整覆盖软件开发端到端流程,实现极简开发、高效部署、极致性能的多样性算力开发目标。

基础使能


一如《计算机架构的新黄金十年》论文所述,编程语言和编译器在多样性算力软件开发流程中扮演着核心角色。为了抚平开发人员学习曲线、提升跨算力架构开发效率,华为在通用的 C++语言基础上研发了毕昇 C++语言。


毕昇 C++支持 SYCL 异构编程标准,一种语言即可对 ARMv8、x86 处理器和昇腾 AI 加速器、Nvidia GPU 编程。毕昇 C++还将不同算力的共性特征抽象出来,为多种硬件上的不同计算单元提供统一的矩阵编程接口,并支持多种并行模式,一套源码即可在多样算力上重用。单语言、单源码的开发方式为开发者避免了多样性计算系统的编程复杂性。


与毕昇 C++搭配,北冥架构还提供了跨多样算力统一编译及融合优化能力的毕昇编译器。毕昇编译器实现了多样算力的统一编译,配合毕昇 C++可直接生成融合多种算力代码的 fatbin 可执行程序。编译器还融合了多种多样算力优化技术,打破了编译器只能对单算力编译优化的限制,在 SPEC ACCEL 等基准测试中性能提升 30%以上。


统一 API 接口、具备多算力协同能力的高性能北冥融合加速库是北冥基础使能软件的第三大利器。北冥融合加速库兼容主流应用框架,为多算力提供统一 API 接口,并构建了业界独有的多算力算子层,可将计算过程拆解到最适合的算力架构上,将计算机视觉、自然语言处理等主流模型训练效率提升 1 倍以上。

应用使能


在多样性计算集群上开发融合应用,开发者不仅要面对大规模并行应用开发的复杂性,还需要解决融合应用跨算力部署的难题。对于大规模计算集群而言,应用的全栈性能优化是极其复杂和困难的挑战。


针对这一开发痛点。北冥多样性计算融合架构打造了包括多瑙统一调度器、元戎分布式并行开发框架、昇思科学计算套件在内的应用使能软件组合,帮助开发者实现分布式应用的极简开发、融合应用的高效部署以及多样性计算系统的全栈最优效能。

多瑙统一调度器


多瑙统一调度器可为多样性算力集群提供应用与资源的最佳匹配。相比传统集群算力调度器,多瑙统一调度器具备诸多显著优势:


  1. 目前,多瑙统一调度器支持 ARMv8 与 x86 的 CPU 计算资源、昇腾 AI 加速器与 Nvidia GPU 计算资源的统一调度,未来还将进一步支持其他流行算力,解决了多样性算力集群的跨架构应用开发部署与调度难题。

  2. 多瑙统一调度器抽象出统一的资源模型,支持多样算力资源纳管,通过与系统软件和硬件联动,结合静态、实时的资源与负载信息做出调度决策。多瑙的调度算法结合了多种技术的优点,除了对算力、网络、存储、能效的深度感知,还纳入了基于应用的专家系统以及对负载的历史数据分析。基于上述特性,多瑙统一调度器能够自动适应集群缩放规模,为大规模复杂集群提供实时精准调度,并打破了集群资源墙,实现更加灵活的资源共享和更高的资源利用率。

  3. 多瑙统一调度器在研发之初就遵循最严苛的企业级安全、可靠性标准,且已在国内多家知名企业、广泛的业务领域实践应用,其可靠性、可维护性得到市场充分验证。

  4. 多瑙统一调度器为运维人员提供了统一的 web 一站式运维管理平台,包含了作业管理、用户管理、集群监控运维、统计报表、自定义作业提交模板、远程可视化等丰富功能,创造极简的运维体验。

  5. 在传统单一算力集群资源调度方面,多瑙统一调度器也具备集群规模、调度性能、资源利用率等核心调度指标的领先优势,可充分发挥集群有效算力,提升投资回报。未来多瑙还将通过元调度器的分级调度能力支持跨数据中心的调度,可以基于开放的接口对接第三方调度器,为多样性计算算力网络的构建提供关键技术支撑。

元戎开发框架与昇思科学计算套件


元戎分布式并行开发框架是面向多样性计算集群打造的分布式并行开发框架,帮助开发人员在多样性计算集群上享受单机编程体验,还能够成倍提升视频特效等场景的开发速度,并数量级提升金融资管风控等算法的计算效率。昇思科学计算套件则为高性能科学应用提供了计算新范式,通过多尺度混合计算和高阶混合微分两大关键创新实现了融合应用的统一加速,为多种科学计算场景带来了可观的效率提升。

开发使能


为解决开发人员在多样性计算系统下的开发效率问题,在北冥多样性计算融合架构开发使能层,华为通过 MindStudio 统一工具链提供了开发全流程支持:


  • MindStudio 通过多算力硬件抽象、统一基础平台、统一工具链前端的三层解耦架构,构建全流程一站式开发基础能力;

  • MindStudio 为开发人员提供统一集成开发环境,实现开发全流程连贯无断点,并通过插件化技术支持功能灵活拼装和开发流程自定义;

  • MindStudio 还专门提供跨算力联合调试、全系统协同调优、仿真环境按需集成和开发资源一键获取等功能,帮助开发人员大幅提升面向多样性算力的开发效率。

  • 在 MindStudio 开发社区中,开发人员能够获得资源下载、指导手册、在线课程及实验、开发者沙龙等一系列支持和帮助。华为还为开发人员建立了交流论坛,超过 20 位华为工程师在线为开发人员解答技术问题。

北冥多样性计算融合架构:为多样性算力集群的软件开发铺平道路


在震动业界的《计算机架构的新黄金十年》论文发表后不到三年的时间里,华为就凭借自身深厚的技术积累与积极创新的研发与实践,开发出了直面多样性算力架构软件开发挑战的北冥多样性计算融合架构。


北冥计算架构不仅解决了跨传统 CPU 与新兴 DSA 硬件、跨多种指令集与计算类型的软件开发难题,还一步到位突破了大规模计算集群的多样性算力部署与调度障碍,一举打通了多样性算力的软件开发端到端流程,实现开发效率提升、成本下降、软件性能深度优化等一系列关键目标。


随着北冥计算架构的诞生,行业多样性算力生态也迎来了一个全新的发展阶段。可以预计,越来越多的企业将在北冥计算架构的帮助下加快多样性算力集群的部署,为研发和业务部门提供强大的基础设施支持,从而在激烈的市场竞争中取得领先优势。与此同时,华为与合作伙伴、开发社区也将通力合作,不断提升北冥计算架构的各方面能力,使北冥成为业内领先、影响广泛的多样性算力一流开发生态。

2021-10-12 10:442758
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 377.9 次阅读, 收获喜欢 1805 次。

关注

评论

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

金融小程序风险如何控制,WeTest小程序质量专项方案一步到位

WeTest

「干货分享」如何做好应急响应工作?常见应急响应流程

H

网络安全 应急响应

重磅功能!Apache APISIX 拥抱 WASM 生态

API7.ai 技术团队

开源 云原生 Wasm Apache APISIX

不优雅的 React Hooks

CRMEB

Go语言gorm框架MySQL实践

FunTester

Go MySQL gorm FunTester

JuiceFS 即将发布 1.0 并调整开源许可

Juicedata

开源 文件系统 云存储

2022 起始篇

万万

Flink 在字节跳动数据流的实践

字节跳动数据平台

大数据 flink 字节跳动 埋点 数据流

网络安全——内网渗透完整流程

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

虎年前迎来脑科学新锐:脑虎科技的创生故事

脑极体

龙蜥利器:系统运维工具 SysAK的云上应用性能诊断 | 龙蜥技术

OpenAnolis小助手

开源 运维

专有云运维如何更快、更准、更稳?丨智能运维

百度大脑

人工智能

VuePress 博客优化之开启 HTTPS

冴羽

Vue 前端 博客 vuepress 博客搭建

酒店资产管理系统解决方案

低代码小观

CRM 企业管理系统 CRM系统 企业管理工具 企业管理软件

一周信创舆情观察(1.4~1.9)

统小信uos

ORTC与SIP融合通信服务架构

安第斯智能云

音视频 RTC 流媒体

关于A股投资--《香帅中国财富报告》摘录(3/100)

hackstoic

投资

2022中国低代码十大发展趋势,市场规模预计达42.6亿

J2PaaS低代码平台

低代码 低代码开发 J2PaaS

疫情下的口罩生活,演绎出了哪些心理剧场?

脑极体

一个cpp协程库的前世今生(十七)带时限的锁

SkyFire

c++ cocpp

不是私密链接,如何继续前往?

BUG侦探

https HSTS 劫持

金融云原生漫谈(五)|如何打造更适合云原生的数据存储方案?

York

云原生 数据存储

重庆华美:用宜搭实现全流程管理上云,节约超百万研发成本

一只大光圈

前端 阿里 低代码 数字化转型 钉钉宜搭

模块九作业-设计电商秒杀系统

deng

架构实战营

组件发布效率提升15倍是怎么做到的——基于 Gradle 调度机制深度研究与优化

字节跳动终端技术

字节跳动 Gradle Andriod

实时音视频入门学习:开源工程WebRTC的技术原理和使用浅析

JackJiang

音视频 WebRTC IM 即时通讯IM

LabVIEW实现PCB电路板坐标定位(实战篇—2)

不脱发的程序猿

机器视觉 图像处理 LabVIEW PCB电路板坐标定位

用 SwiftUI 实现一个开源的 App Store

37手游iOS技术运营团队

swift appstore SwiftUI App榜单 App免费榜

元宇宙时代:银行如何探索数字化转型

CECBC

Tengine + BabaSSL ,让国密更易用!

SOFAStack

密码学 tengine 国密 BABASSL

百度智能云以“3D+AI”技术,助力“三亿人上冰雪”

百度开发者中心

人工智能

为多样性算力软件开发铺就平坦大道:华为北冥融合架构全面解析_架构_万佳_InfoQ精选文章