QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

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

关注

评论

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

防御性编程:让系统坚不可摧

京东科技开发者

构建未来电商体验:深度解析京东商品详情API的核心价值与应用

代码忍者

API 测试 pinduoduo API

通信系统仿真:飞行器集群协同控制纽带

DevOps和数字孪生

Mac苹果电脑视频下载软件推荐:Downie 4 for Mac 激活版

你的猪会飞吗

Downie 4 下载 Downie 4 Mac版 Downie 4 for mac

写不好代码注释?这份注释指南一定要收好!

敏捷开发

程序员 敏捷开发 软件开发 代码注释 代码规范

技术干货|热门仿真平台HyperMesh CFD功能详解:几何和网格(Part 1)

Altair RapidMiner

人工智能 智能制造 altair Hypermesh 仿真设计

环保行业怎么定义?需要用到堡垒机吗?

行云管家

等保 堡垒机 环保

DDD建模 vs 传统开发

Bruce Talk

DDD 领域驱动设计DDD

给Java同仁单点的AI"开胃菜"--搭建一个自己的本地问答系统

京东科技开发者

ETLCloud携手ClickHouse:高效的数据查询效率

RestCloud

数据库 数据处理 ETL 数据集成 Click house

《阿凡达》导演卡梅隆加入 Stability AI 董事会;Molmo 横空出世,开源多模态模型王座易位丨 RTE 开发者日报

声网

数字货币交易所开发与智能合约交易系统

区块链软件开发推广运营

交易所开发 链游开发 NFT开发 公链开发 代币开发

打造未来社交:区块链社交DAO的颠覆性开发之路

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

Flink CDC:新一代实时数据集成框架

Apache Flink

大数据 flink 数据集成 Flink CDC 实时处理

【YashanDB知识库】YashanDB-OCI-快速上手

YashanDB

yashandb 崖山数据库 yashandb知识库

如何让Android的前端页面像iOS一样“优雅”?

阿里技术

ios 前端 异形屏 前端适配

快速实现AI搜索!Fivetran 支持 Milvus 作为数据迁移目标

Zilliz

Milvus Zilliz 向量数据库 rag AI搜索

人人都能手写的chrome插件,帮我省了1000多块钱

京东科技开发者

百度ARM云全栈自研方案全新升级,普惠智算助力行业数智化转型

科技大数据

大模型还能产生幻觉?一文讲清楚原理和解决方法

敏捷开发

AI AIGC GPT LLM 大模型幻觉

Kubernetes存储新动力:CSD3000与Portworx的协同效应

ScaleFlux

Kubernetes Serverless 云原生容器 应用容器化

仅需6步,实现虚拟物体在现实世界的精准放置

不在线第一只蜗牛

人工智能 HarmonyOS

基于 LangChain 的自动化测试用例的生成与执行

测试人

软件测试

百度输入法AI请求次数累计超4亿,「超会写」全新升级

极客天地

想要激活孩子潜在力量,家长必做的一件事

心大陆多智能体

智能体 AI大模型 心理健康 数字心理

目前东莞等保测评机构有哪些?电话多少?

行云管家

等保测评 过等保 东莞

Spark SQL分析层优化

数新网络官方账号

AI与大数据的结合:如何从海量数据中提取价值

天津汇柏科技有限公司

大数据‘’ AI 人工智能

云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展

阿里云大数据AI技术

大数据 阿里云 Serverless 云栖大会 EMR

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