PCon全球产品创新大会最新日程一览,这里直达 了解详情
写点什么

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

  • 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:441058
用户头像
万佳 InfoQ编辑

发布了 637 篇内容, 共 250.0 次阅读, 收获喜欢 1661 次。

关注

评论

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

Explore the Sky丨来 TiDB Hackathon 2021 探索无限可能

PingCAP

Go 数据库 hackathon TiDB database

一周信创舆情观察(12.6~12.12)

统小信uos

Apache Log4j 2 安全漏洞扫描及启示录

极狐GitLab

gitlab 安全 供应链 漏洞扫描 Apache Log4j 2

Go 语言快速入门指南:第一篇 介绍

宇宙之一粟

Go golang 编程入门 签约计划第二季 12月日更

SD-WAN、SASE 和多云空间的未来趋势

devpoint

5G SD-WAN sase 12月日更

【Spring Boot 快速入门】二、Spring Boot集成MyBatis可以连接数据库啦!

小阿杰

SpringBoot 2 mybatis配置 内容合集 签约计划第二季

行业分析| 泛娱乐应用出海探索

anyRTC开发者

音视频 语音通话 视频直播 视频通话 泛娱乐

优秀的代码的分层结构

xcbeyond

28天写作 架构· 12月日更

潮玩盲盒一番赏盲盒星球app专业源码搭建

风行无疆

快手与西瓜解析去水印:签名算法之后人机校验的考验

ucsheep

爬虫 内容合集 签约计划第二季 去水印 短视频解析

记录我开发工作中遇到HTTP跨域和OPTION请求的一个坑

Jerry Wang

JavaScript ajax 跨域 28天写作 12月日更

滨海中小企业协会参加新区工商联(总商会)第四次代表大会

InfoQ 天津

初识短视频平台解析去水印技术

ucsheep

爬虫 内容合集 签约计划第二季 去水印 短视频解析

小咖秀解析去水印:令人心情舒畅的【x-sign签名算法】前端逆向之旅

ucsheep

爬虫 逆向 内容合集 签约计划第二季 去水印

百度王海峰:深耕自然语言处理近30年,推进AI融合创新

百度开发者中心

自然语言处理

【Spring Boot 快速入门】一、周末建立了Spring Boot专栏,欢迎学习交流

小阿杰

SpringBoot 2 spring Boot Starter 内容合集 签约计划第二季

为什么要把软件做成前后端分离?

力软.net/java开发平台

【Spring Boot 快速入门】四、Spring Boot集成Swagger UI

小阿杰

SpringBoot 2 swagger 内容合集 签约计划第二季

Android C++系列:Linux Socket编程(三)CS模型示例

轻口味

28天写作 12月日更

探探的IM长连接技术实践:技术选型、架构设计、性能优化

JackJiang

网络编程 websocket 即时通讯 IM

UC与趣头条解析去水印:有趣又好玩的参数猜谜游戏

ucsheep

爬虫 短视频 内容合集 签约计划第二季 去水印

分布式架构与性能优化

高性能架构探索

分布式 微服务 性能优化 内容合集 签约计划第二季

京东云ClickHouse和ES双引擎设计在零售选品中的应用实践

京东科技开发者

点击下载 | 世界经济论坛全新推出深度AI洞察报告

澳鹏Appen

人工智能 机器学习 深度学习

京东云PostgreSQL在GIS场景的应用分享

京东科技开发者

【Spring Boot 快速入门】三、Spring Boot集成JUnit

小阿杰

SpringBoot 2 JUnit 内容合集 签约计划第二季

最好用的七大顶级 API 接口测试工具

蒋川

API 测试工具

多点 DMALL x StarRocks:实现存储引擎的收敛,保障高查询并发及低延迟要求

StarRocks

数据库 数据分析 高并发 StarRocks

抖音解析去水印:几轮交锋与APK逆向

ucsheep

爬虫 抖音 内容合集 签约计划第二季 去水印

一篇教你代码同步 Github 和 Gitee

冴羽

JavaScript GitHub 自己搭建博客网站 GitHub Pages vuepress

ClickHouse在工业互联网场景的OLAP平台建设实践

京东科技开发者

撑起瞬时千亿交易额的云数据库是怎么炼成的?

撑起瞬时千亿交易额的云数据库是怎么炼成的?

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