1 DPU软件栈五层模型系列(一)DPU异构计算架构五层开发模型-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DPU软件栈五层模型系列(一)DPU异构计算架构五层开发模型

中科驭数(北京)科技有限公司 2022-06-06 18:14 次阅读

一般说来,异构计算的核心目的是解决特定应用场景下算力不足的问题,并且大幅度提升整体系统的计算性能。在整体架构上,它的分层逻辑从应用场景出发,通过上层的需求来定义下层的功能,而每一层是对特定功能的抽象与封装。在定义每一层功能时,要达到以下几个目标:

各层职责单一

层间边界清晰

层内功能实现独立

灵活易扩展

基于上述目标,将一个异构计算的系统抽象为五层(如下图所示),自下而上分别是:1)DSA设备层(DSA Device Layer),2)DSA操作层 (DSA Operating Layer),3)计算引擎层(Scheduling Operating Layer),4)应用服务层(Application Service Layer)和5)业务开发层 (Business Development Layer),详述如下。

pYYBAGKdni-AKbWXABHPTwvC8VU475.png图异构计算系统抽象模型

一、DSA设备层

DSA设备层代表的是执行异构计算的DSA处理器以及集成了该处理器的硬件设备,例如,以DPU或GPU为处理器的异构计算设备。异构计算设备需要具备以下两个核心能力:1)提供支持专用计算操作的指令集(Instruction Set),2)CPU或其他DSA设备的标准通信接口,如PCIe数据传输标准。

二、DSA操作层

DSA操作层是对DSA处理器的指令集的管理以及基础开发平台的整合,该层完成了对硬件资源的抽象,从而使上层软件对底层设备透明;DSA操作层是对DSA设备层计算设备的抽象和计算资源的封装,是软件与硬件、逻辑与物理的边界。它基于如DPU芯片等DSA处理器提供的指令集,以更加抽象和编程友好的方式对上层提供了异构计算开发和访问的软件接口、以及设备监控管理的接口。该层内部有四个必要的模块,分别是设备驱动器,指令集管理器,资源访问接口,开发和管理平台。

  • 设备驱动器:设备驱动器是硬件设备的软件抽象,它基于操作系统标准的驱动框架及PCIe协议,实现了对计算设备的物理访问,主要包括设备处理器的指令执行和设备存储的读写。
  • 指令集管理器:指令管理器的作用是对计算设备所提供的指令集进行统一管理,通过对指令集的封装及组合,提供更加友好的编程接口。
  • 资源访问接口:基于设备驱动器和指令集管理器的功能,该模块完成对整个计算资源访问的抽象和封装,它以编程接口的方式对上层提供资源访问入口,服务于上层计算逻辑和控制逻辑的执行。
  • 开发和管理平台:除了上述运行时所需的能力外,还需要针对开发人员提供友好的编程工具,如指令集编译工具、监控管理工具、日志工具、异构计算卡模拟器等。

三、计算引擎层

计算引擎层是对计算逻辑的封装,为上层提供通用的计算能力。与DSA操作层的对计算资源封装不同,计算引擎层是对计算逻辑的封装,它基于DSA操作层提供的资源访问接口,根据上层应用层软件对算力的需求,提供了可复用的算子集合及执行接口。

算子抽象

算子定义为实现某一特定功能或算法的函数或独立的服务,它是对计算逻辑的抽象。例如,根据指定条件对数据进行过滤的函数可以是一个算子,称它为“过滤算子”。在标准的数据库软件中,它的算子有Scan, Join, GroupBy等,而在网络处理软件中,特有的算子会是以BSD Socket,NVMe等标准服务的形式呈现。由于异构计算的“异构”特性,每个算子在不同设备上的具体实现有所不同,所以针对每一个支持的算子,都要有多种不同设备平台上的实现,如ScanOnDPU、ScanOnGPU。

计算优化器

异构计算追求的是计算性能的提升,相应的需要一个计算优化器来对上层的计算请求做优化。它的基本策略是根据应用场景、上下文、数据规模等因素来动态的选择最优的算子实现进行计算。

四、应用服务层

应用服务层是数据处理的应用服务软件,也是算力的需求侧。应用服务层代表具有通用功能的软件系统,这些软件系统可以利用计算引擎提供的算子进行异构计算,从而达到计算性能提升的目的。常见的应用层软件系统有分布式计算领域的Spark, Flink, Hadoop;数据库领域的PostgreSQL, MySQL;分布式网络中的gPRC,Network Gateway,Nginx;以及存储服务中的Ceph等等,基本上通用服务型的系统都属于该层的范畴。

在实际开发中,针对应用服务层中的软件,需要解决以下几个关键问题:

  • 性能瓶颈的识别:通常应用软件的性能瓶颈会在高并发、大吞吐的情况下出现,这些瓶颈一般源于CPU计算资源的竞争、CPU计算性能的不足、网络传输的延迟以及磁盘I/O的延迟等。识别出应用软件的性能瓶颈是算力卸载的第一步。
  • 异构计算的有效性边界:在定位到软件的性能瓶颈后,需要从中识别出哪些是可以通过异构计算来解决的。通常,CPU成为瓶颈的原因会有两类,一类是算力的问题,另一类是算法的问题。针对算力的问题,可以通过异构计算来解决,而算法的问题则不然。
  • 算子的高效调用:算子是异构计算的执行单元,只有把算子集成到应用软件的执行路径中,算力卸载才算完成。考虑到性能的优化,还需要根据实际情况优化算子的执行策略,例如,数据在主机端与设备端内存之间的数据拷贝策略、各算子执行序列的编排策略等等。
  • 应用软件的向前兼容性:在整合应用软件与异构计算的算子时,要确保应用软件的向前兼容性,以保证应用服务层的软件迭代对正在运行的上层业务系统是透明的,从而提高整个架构的稳定性与可维护性。

五、业务开发层

业务开发层是在某特定领域的业务系统。业务开发层是最贴近实际业务场景的软件系统,通常它是针对某个特定行业的具体业务需求定制的软件系统,如金融行业的交易系统,互联网行业的数据分析系统等等。整个异构计算架构本质上就是解决业务层的性能瓶颈问题,所以在实际开发过程中,应该从业务端出发,寻找要解决的根本问题,然后驱动整个异构系统的构建。同时,整体架构也要保证底层构建对具体的业务系统完全透明,达到对各行业业务软件系统的无缝支撑和业务逻辑开发的隔离。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DPU
    DPU
    +关注

    关注

    0

    文章

    357

    浏览量

    24169
收藏 人收藏

    评论

    相关推荐

    文看懂】什么是异构计算

    随着人工智能、深度学习、大数据处理等技术的快速发展,计算需求的复杂性不断提升。传统的单一计算架构已难以满足高效处理复杂任务的要求,异构计算因此应运而生,成为现代
    的头像 发表于 12-04 01:06 1337次阅读
    【<b class='flag-5'>一</b>文看懂】什么是<b class='flag-5'>异构计算</b>?

    如何通过OSI七模型优化网络性能

    OSI(Open Systems Interconnection)七模型种标准的网络分层模型,将网络功能分为七个不同的层次,每个层次都有独立的功能和协议,可以独立地实现和升级。通
    的头像 发表于 11-24 11:14 251次阅读

    OSI七模型中各层的协议 OSI七模型的优势与不足

    OSI七模型中各层的协议 OSI(Open Systems Interconnection)七模型个用于描述网络通信功能的分层
    的头像 发表于 11-24 10:54 253次阅读

    如何理解OSI七模型 OSI七模型在网络中的应用

    ,旨在帮助不同计算机系统之间实现互操作性。OSI模型将网络通信过程划分为七个层次,每一层都有其特定的功能和协议。以下是对OSI七模型的简要
    的头像 发表于 11-24 10:48 318次阅读

    OSI七模型的每一层功能

    开放系统互联(OSI)模型个概念性框架,用于标准化网络通信过程,以便不同的计算机系统和网络能够相互通信。OSI模型分为七,每
    的头像 发表于 11-24 10:46 237次阅读

    OSI七模型详解 OSI七模型与TCP/IP模型比较

    OSI(Open System Interconnect)七模型种将计算机网络通信协议划分为七个不同层次的标准化框架,每一层都负责不同
    的头像 发表于 11-24 10:44 352次阅读

    IaaS+on+DPU(IoD)+下代高性能算力底座技术白皮书

    ,在其上挂载了各种计算、存储资源的节点,对于系统的资源弹性、运行效率、性能都大有益处。但是这种使用方式的变化,需要对现有云计算架构进行定程度的变革,才能充分发挥出
    发表于 07-24 15:32

    AvaotaA1全志T527开发板AMP异构计算简介

    Avaota SBC 的部分平台内具有小核心 CPU,与大核心起组成了异构计算的功能。 在异构多处理系统中,主核心和辅助核心的存在旨在共同协作,以实现更高效的任务处理。这种协作需要系统采取
    发表于 07-24 09:54

    异构计算:解锁算力潜能的新途径

    在这个数据爆炸的时代,计算力是推动社会与科技创新的核心。从日常智能设备的流畅运行到超级计算机的尖端模拟,均依赖强大的计算能力。但面对多样化的复杂计算任务,单
    的头像 发表于 07-18 08:28 7817次阅读
    <b class='flag-5'>异构计算</b>:解锁算力潜能的新途径

    神经网络模型的优缺点

    神经网络模型种常见的深度学习模型,它由输入、两个隐藏和输出
    的头像 发表于 07-11 10:58 554次阅读

    什么是波特模型,如何应用

    波特模型(Porter's Five Forces Model)是迈克尔·波特(Michael E. Porter)于1979年提出的,用于分析行业竞争状况和企业竞争战略的种理论模型
    的头像 发表于 07-05 14:36 2064次阅读

    芯片软件全上阵 DPU“全家桶”来了!中科驭数成功举办2024产品发布会

    6月19日,中科驭数2024产品发布会在北京中关村展示中心正式举办。聚焦自研DPU核心技术,中科驭数重磅发布最新DPU芯片K2 Pro、软件开发平台HADOS、以及
    的头像 发表于 06-23 11:09 841次阅读
    芯片<b class='flag-5'>软件</b>全上阵 <b class='flag-5'>DPU</b>“全家桶”来了!中科驭数成功举办2024产品发布会

    明天线上见!DPU构建高性能云算力底座——DPU技术开放日最新议程公布!

    技术在不同行业中的应用解决方案有哪些?能带来怎样的业务效果? 3月29日本周,中科驭数集结产品大咖及解决方案专家团,诚邀您参加以“DPU构建高性能云算力底座”为主题的线上DPU技术开放日! 他们将逐
    的头像 发表于 04-03 18:12 998次阅读

    osi七模型各层功能及协议 osi七模型有哪些

    OSI七模型,是开放式系统互联(Open System Interconnection,简称OSI)参考模型,是国际标准化组织(ISO)在1984年定义的种网络协议
    的头像 发表于 01-25 11:03 1.3w次阅读

    《数据处理器:DPU编程入门》DPU计算入门书籍测评

    架构服务,同时它般不直接面向于数据存储,通信接口等底层应用。也不直接架构顶层的服务。 因此对于DPU系统来说,现在CPU仍然是GPU于DPU
    发表于 12-24 10:54