万字长文|下一代系统内存数据加速接口SDXI解读

news2024/11/15 10:27:46

本文内容分为5章节,总计10535字,内容较多,建议先收藏

1.SDXI技术产生的背景

2.SDXI相比DMA的优势

3.SDXI实现原理与架构

    3.1 描述符环原理解读
    3.2 上下文管理介绍
    3.3 AKey与RKey解读
    3.4 错误日志和状态管理
    3.5 跨Function访问

4.SDXI与CXL协同原理

5.SDXI几种应用场景


1.SDXI技术产生的背景

在传统计算模式中,数据在不同组件间移动往往依赖于软件层面的处理,例如常见的内存复制操作(memcpy),这种方式虽然稳定,但会占用宝贵的处理器周期,导致应用性能下降。同时,传统的数据移动缺乏有效的虚拟化支持,且各厂商的直接内存访问(DMA)引擎及其接口没有统一的标准,给用户级软件的利用带来了不便。

此外,异构计算环境的兴起,包括CPU、GPU、FPGA、NICs等ASSPs(应用专用标准产品)的融合,以及虚拟化和容器化的普及,都对数据移动提出了更高要求。

SDXI(Smart Data Accelerator Interface,智能数据加速接口)标准正是在这样的背景下应运而生,它的设计旨在解决上述问题,提供了一个标准化、可扩展、面向未来的内存到内存数据移动和加速接口。

这个接口独立于I/O互连技术,意味着无论底层硬件如何变化,只要遵循SDXI标准,软件都能保持良好的兼容性和稳定性。SDXI标准特别强调了对虚拟化友好的编程接口,支持用户模式和内核模式操作,旨在加速虚拟化工作负载。

SDXI标准的制定工作由SNIA SDXI技术工作小组(TWG)负责,该小组成立于2020年6月,汇聚了行业内多个领先企业的技术力量。根据记录,SDXI v1.0版本的贡献者包括来自多家知名公司,主要包括惠普企业(HPE)、戴尔(Dell)、IBM、AMD、Micron、NetApp、SK海力士、西部数据、三星、微软等23家会员公司,以及89名个人成员。

2022年正式发布了SDXI v1.0版本,标志着一个全新的数据移动加速时代开启,为高性能计算、人工智能、数据中心存储等领域带来革新。

2.SDXI相比DMA的优势

DMA数据移动器是一种硬件机制,旨在减轻CPU执行循环数据复制任务的负担,从而释放CPU周期以执行其他计算密集型任务。这一技术的引入,旨在提高系统整体的性能和效率,特别是在大量数据传输操作频繁发生的场景下。

扩展阅读:

  • 浅析CXL P2P DMA加速数据传输的原理

  • PCIe P2P DMA全景解读

尽管DMA数据移动器的概念已被广泛认识,其应用却主要局限于特定的、具有特权的软件和I/O场景中。这些场景通常涉及到高度特定化的设备接口,这些接口往往不具备向前兼容性。具体来说,这种限制在两个方面尤为突出:

  1. 非虚拟化环境中的用户态应用挑战:在没有虚拟化的环境中,由于DMA数据移动器的使用受限于特定的、非通用的接口,普通用户态应用很难直接利用DMA来提升数据处理性能。这主要是因为DMA操作通常需要较高的系统权限,而普通用户态程序默认不具备这样的权限。

  2. 多租户虚拟化环境下的近乎不可能性:在多租户的虚拟化环境中,情况更为复杂。在这种环境下,多个虚拟机共享物理资源,每个虚拟机都有自己的内存空间和隔离的执行环境。使用传统的DMA机制,不仅需要解决如何安全地跨虚拟机边界移动数据的问题,还要解决如何在不破坏虚拟机隔离性的前提下,有效地分配和管理DMA资源。由于传统的DMA设备接口缺乏对虚拟化环境的支持,使得在这样的环境中实现高效的DMA数据传输变得极为困难,几乎不可行。

SDXI作为一个标准化、可扩展、独立于I/O互联技术的内存到内存数据移动和加速接口,旨在打破传统DMA的局限,使得数据移动在现代异构计算环境中变得更加高效和灵活。

SDXI Platform Data Mover是一个创新的技术框架,它设计用于克服现有数据移动解决方案的一系列局限性,从而满足现代计算环境中日益增长的高效数据处理需求。SDXI的优势的具体包括以下几个内容:

  1. 可扩展、向前兼容的接口:SDXI提供了一个与具体数据移动实现及底层I/O互连技术无关的接口,意味着无论未来数据传输技术如何演进,只要遵循SDXI规范,新旧硬件和软件就能保持良好的兼容性。这种设计允许SDXI随技术进步不断纳入新功能而不至于过时。

  2. 用户模式数据移动的标准接口:一旦连接建立,SDXI允许在用户模式下直接进行地址空间之间的数据移动,无需特权软件介入,降低了数据传输的复杂度和延迟,提高了应用层的性能。

  3. 特权软件控制接口:SDXI定义了一套标准接口,供特权软件(如hypervisors或系统管理层)来管理数据移动器的连接状态和跨多个地址空间的数据传输,增强了系统的可控性和安全性。

  4. 可抽象化或虚拟化的接口:SDXI支持其接口被特权软件抽象或虚拟化,这样可以更容易地在不同的服务器之间迁移工作负载或虚拟机,增强了跨平台的兼容性和灵活性,对于云环境尤其重要。

  5. 明确的暂停、恢复能力:SDXI具有清晰定义的能力,可以暂停、恢复每个地址空间数据移动器的架构状态,这对于实现实时工作负载或虚拟机在服务器间的迁移至关重要,有助于实现无中断的维护和动态资源调度。

  6. 确保向前兼容的接口:SDXI设计确保了现有的软件驱动程序,包括用户模式驱动,能在未来的硬件实现上无需修改即可运行,减少了因硬件升级导致的软件适配成本和时间。

SDXI通过提供一个灵活、高效、兼容性强的数据移动平台,解决了传统数据处理架构在性能、兼容性、虚拟化支持等方面的不足,为云计算、数据中心管理、高性能计算等领域带来了重大的技术进步。

后续3-5章节,请参考:点击这里,继续阅览SDXI章节3-5详细内容

3.SDXI实现原理与架构

    3.1 描述符环原理解读
    3.2 上下文管理介绍
    3.3 AKey与RKey解读
    3.4 错误日志和状态管理
    3.5 跨Function访问

4.SDXI与CXL协同原理

5.SDXI几种应用场景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1883690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

javascript 常见设计模式

什么是设计模式? 在软件开发中,设计模式是解决特定问题的经验总结和可复用的解决方案。设计模式可以提高代码的复用性、可维护性和可读性,是提高开发效率的重要手段。 单例模式 1.概念 单例模式 (Singleton Pattern)&#xf…

c++ 智能指针实战分析

一.智能指针的设计思路 智能指针是类模板,再栈上创建智能指针对象。把普通指针交给智能指针对象。智能指针对象过期时,调用析构函数释放普通指针的内存。 智能指针的类型 auto_ptr是C98的标准,c17已经弃用。unique_ptr、shared_ptr和weak_…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-41目标检测数据集

41目标检测数据集 import os import pandas as pd import torch import torchvision import matplotlib.pylab as plt from d2l import torch as d2l# 数据集下载链接 # http://d2l-data.s3-accelerate.amazonaws.com/banana-detection.zip# 读取数据集 #save def read_data_b…

Mustango——音乐领域知识生成模型探索

Mustango:利用领域知识的音乐生成模型 论文地址:https://arxiv.org/pdf/2311.08355.pdf 源码地址:https://github.com/amaai-lab/mustango 论文题为**“**利用音乐领域知识开发文本到音乐模型’Mustango’”。它利用音乐领域的知识从文本指…

计算机毕业设计Python深度学习美食推荐系统 美食可视化 美食数据分析大屏 美食爬虫 美团爬虫 机器学习 大数据毕业设计 Django Vue.js

Python美食推荐系统开题报告 一、项目背景与意义 随着互联网和移动技术的飞速发展,人们的生活方式发生了巨大变化,尤其是餐饮行业。在线美食平台如雨后春笋般涌现,为用户提供了丰富的美食选择。然而,如何在海量的餐饮信息中快速…

python 笔试面试八股(自用版~)

1 解释型和编译型语言的区别 解释是翻译一句执行一句,更灵活,eg:python; 解释成机器能理解的指令,而不是二进制码 编译是整个源程序编译成机器可以直接执行的二进制可运行的程序,再运行这个程序 比如c 2 简述下 Pyth…

2.2章节python的变量和常量

在Python中,变量和常量有一些基本的概念和用法,但需要注意的是,Python本身并没有内置的“常量”类型。然而,程序员通常会遵循一种约定,即使用全部大写的变量名来表示常量。 一、变量 在Python中,变量是一…

对不起,AI大模型不是风口

“我们正处在全新起点,这是一个以大模型为核心的人工智能新时代,大模型改变了人工智能,大模型即将改变世界。”——5月26日,百度创始人、董事长兼CEO李彦宏先生在2023中关村论坛发表了《大模型改变世界》演讲。 李彦宏指出&#…

4PCS点云配准算法实现

4PCS点云配准算法的C实现如下&#xff1a; #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/common/common.h> #include <pcl/common/distances.h> #include <pcl/common/transforms.h> #in…

PostgreSQL介绍与安装

一、PostgreSQL数据库介绍 1、什么是数据库&#xff1f; 数据库&#xff08;Database&#xff09;是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建&#xff0c;访问&#xff0c;管理&#xff0c;搜索和复制所保存的数据。 我们也…

JAVA医院绩效考核管理系统源码:系统优势、系统目的、系统原则 (自主研发 功能完善 可直接上项目)

JAVA医院绩效考核管理系统源码&#xff1a;系统优势、系统目的、系统原则 &#xff08;自主研发 功能完善 可直接上项目&#xff09; 医院绩效考核系统优势 1.实现科室负责人单独考核 对科室负责人可以进行单独考核、奖金发放。 2. 科室奖金支持发放到个人 支持奖金二次分配&…

同一个excel表格,为什么在有的电脑上会显示#NAME?

一、哪些情况会产生#NAME?的报错 1.公式名称拼写错误 比如求和函数SUM&#xff0c;如果写成SUN就会提示#NAME&#xff1f;报错。 2.公式中的文本值未添加双引号 如下图&#xff1a; VLOOKUP(丙,A:B,2,0) 公式的计算结果会返回错误值#NAME?&#xff0c;这是因为公式中文本…

GraphPad Prism生物医学数据分析软件下载安装 GraphPad Prism轻松绘制各种图表

Prism软件作为一款功能强大的生物医学数据分析与可视化工具&#xff0c;其绘图功能尤为突出。该软件不仅支持绘制基础的图表类型&#xff0c;如直观明了的柱状图、展示数据分布的散点图&#xff0c;以及描绘变化趋势的曲线图&#xff0c;更能应对复杂的数据呈现需求&#xff0c…

7-1作业

1.实验目的&#xff1a;完成字符收发 led.h #ifndef __GPIO_H__ #define __GPIO_H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h"//RCC,GPIO,UART初始化 void init();//字符数据发送 void set_tt…

【2024 插件开发大赛】为 ONLYOFFICE 开发插件,赢取万元奖金!

我们发布了 2024 插件开发大赛&#xff1a;为 ONLYOFFICE 开发适合中国用户的插件&#xff0c;赢取税前5500 – 10000元的结项奖金与证书&#xff01;阅读本文了解详情。 关于 ONLYOFFICE ONLYOFFICE 是一个国际开源项目&#xff0c;由领先的 IT 公司 Ascensio System SIA 开发…

论坛万能粘贴手(可将任意文件转为文本)

该软件可将任意文件转为文本。 还原为原文件的方法&#xff1a;将得到的文本粘贴到记事本&#xff0c;另存为UUE格式&#xff0c;再用压缩软件如winrar解压即可得到原文件。建议用于小软件。 下载地址&#xff1a;https://download.csdn.net/download/wgxds/89505015 使用演示…

算法基础入门 - 2.栈、队列、链表

文章目录 算法基础入门第二章 栈、队列、链表2.1 队列2.2 栈2.3 纸牌游戏2.4 链表如何建立链表?1.我们需要一个头指针(head)指向链表的初始。链表还没建立时头指针head为空2.建立第一个结点3.设置刚创建的这个结点的数据域(左半)和指针域(右半)4.设置头指针,头指针可方便…

构建高效的数字风控系统:应对现代网络威胁的策略与实践

文章目录 构建高效的数字风控系统&#xff1a;应对现代网络威胁的策略与实践1. 数字风控基本概念1.1 数字风控&#xff08;数字化风控&#xff09;1.2 数字风控的原理1.3 常见应用场景 2. 数字风控的必要性3. 构建高效的数字风控系统3.1 顶层设计与规划3.2 数据基础建设3.3 风险…

代码随想录第38天|动态规划

1049. 最后一块石头的重量 II 参考 备注: 当物体容量也等同于价值时, 01背包问题的含义则是利用好最大的背包容量sum/2, 使得结果尽可能的接近或者小于 sum/2 等价: 尽可能的平分成相同的两堆, 其差则为结果, 比如 (abc)-d, (ac)-(bd) , 最终的结果是一堆减去另外一堆的和, 问…

Nik Collection by DxO:摄影师的创意利器与调色宝典

在数码摄影的世界里&#xff0c;后期处理是摄影师们展现创意、调整细节、提升作品质量的重要步骤。而Nik Collection by DxO作为一款由DxO公司开发的强大照片编辑插件套件&#xff0c;为摄影师们提供了一套全面的、功能丰富的工具集&#xff0c;让他们的创意得以充分发挥。 Ni…