CXL Bias Mode (1) - Bias Mode 背景与分类

这篇具有很好参考价值的文章主要介绍了CXL Bias Mode (1) - Bias Mode 背景与分类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



🔥点击查看精选 CXL 系列文章🔥
🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥


📢 声明

  • 🥭 作者主页:【MangoPapa的CSDN主页】。
  • ⚠️ 本文首发于CSDN,转载或引用请注明出处【https://mangopapa.blog.csdn.net/article/details/131842121】。
  • ⚠️ 本文目的为 个人学习记录知识分享。因个人能力受限,存在协议解读不正确的可能。若您参考本文进行产品设计或进行其他事项并造成了不良后果,本人不承担相关法律责任。
  • ⚠️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
  • 😄 欢迎大家指出文章错误,欢迎同行与我交流 ~
  • 📧 邮箱:mangopapa@yeah.net
  • 💬 直达博主:loveic_lovelife 。(搜索或点击扫码)


  CXL Bias Topic 分以下 3 部分,本篇是第 1 篇。

  • CXL Bias Mode (1) - Bias Mode 背景与分类👈
  • CXL Bias Mode (2) - 实现 Bias Mode 的要求
  • CXL Bias Mode (3) - Bias Mode 管理与示例

  为便于描述,Host Bias Coherency Model 在下文中简写为 Host Bias,Device Bias 同理。当我们提到 Accelerator 时,是指 Device 中的 Accelerator;当我们提到 Device Memory 时,是指 Accelerator-attached Memory;当我们提到 HDM-DB 时,单指 Type 2 Device 中的 HDM-DB Memory。



1. Bias Mode 背景与分类

1.1 Bias 背景

  我们知道,对于 Type 1 Device,Device 可以访问到 Host Memory,由 Host LLC 中的 Local Snoop Filter 来管理其在 Host CPU Cache Hierarchy 及 Device Cache 中的缓存一致性。对于 Type 2 Device,Host 同样可以访问到 Device Memory。按照 Type 1 的逻辑,理应由 Device 中的 DCOH 来维护缓存一致性。但显然 CXL 没有这么干,而是提出了一种 Bias Based Coherency Model,基于偏向性的一致性模型。

  为什么这么干?我们回忆下 CXL 三大主打特性:一致性接口、低延时、非对称复杂度。显然,CXL 是要通过这种带有偏向性的模型来降低 Device 端的设计复杂度。



1.2 Bias 分类

  Type 2 Device 中的 HDM-D 及 HDM-DB 区域的 Coherency Model 支持两种 Bias Mode:Host Bias 及 Device Bias,偏向谁就由谁来管理缓存一致性。Host Bias 即偏向 Host,该 Memory 区域跟 Host Memory 无异,由 Host Coherent Bridge 管理一致性;Device Bias 即偏向 Device,Device 来保证外部没有该区域的 Cacheline 副本,由 Device DCOH 管理缓存一致性。

  注意:这两种 Bias Mode 都是 HDM-D 或 HDM-DB 的,切勿认为 HDM-H 是 Host Bias、HDM-D 是 Device Bias 。Type 2 Device 中的 HDM-DB 也支持 Bias Mode。

1.2.1 Host Bias

  Host Bias Coherent 是一种 Host 管理下的缓存一致性模型。若 HDM-D/DB Region 为 Host Bias,其地位跟 Host Memory 相同,既可以缓存在 Host Cache 供 Host CPU 直接取用, 也可以缓存在 Device Cache 内供 Device 内的 Accelerator 用,由 Host 中的 LLC Local SF 管理缓存一致性。

  Host、Device 访问 HDM-D/DB Host Bias 区域时的数据流向图。如环路①,对于 Host,其可以直接访问到 Device Memory 中的 Host Bias 区域;如环路②,对于 Device,其访问 Device Memory 中的 Host Bias 区域时需要向 Host 发起 D2H Cache 请求,Host 通过 CXL.mem 将该请求转发回 Device DCOH,Device 内部完成数据访问,无需反馈 Rsp 或 Data 给 Host。

CXL Bias Mode (1) - Bias Mode 背景与分类,CXL 协议,CXL

Type 2 Device - Host Bias

  显然,Host Bias Mode 下的 Device Memory 更有利于 Host 访问,对 Device 访问较为不利。因此,Host Bias 常用于 Host 直接 Load/Store 访问 Device Memory 的场景。

1.2.2 Device Bias

  Device Bias Coherent 是一种 Device 管理下的缓存一致性模型。若 HDM-D/DB Region 为 Device Bias,该 Region 只能缓存在 Device Cache,不能缓存在 Host Cache,也不能缓存在 Remote CPU Cache 内。

  说白了,Device Bias 区域只对 Device 开放 Cacheable 权限,是一种 Device Cache 独享的 Cacheline。因为独享,所以 Device Cache 对该 Cacheline 做任何操作都不需要跟 Host 及 Remote CPU Clusters 交互,不需要跟该 Device 之外的 Cache 做 Snoop 等一致性管理。这样一来能够 降低设计复杂度,二来能够降低 Device 访问 HDM 流程上的复杂度从而 降低时延提升吞吐量(Throughput)。

  下图是 Device、Host 访问 HDM-D/DB Device Bias 区域时的数据流向图。如环路①,Device 可以对 Device Memory 内的 Device Bias 区域进行访问,无需绕道 Host,没有任何 CXL 链路上的.cachemem 操作;如环路②,Host 仍然可以访问到 Device Bias 区域并根据请求类型将该 Data Line 缓存在 Host Cache 中,但是 Device 可以通过环路③将其在 Host Cache 内的 Cacheline Invalidate 掉,使 Host 丧失该 Cacheline 的相关权限。

CXL Bias Mode (1) - Bias Mode 背景与分类,CXL 协议,CXL

Type 2 Device - Device Bias

  显然,Device Bias Mode 下的 Device Memory 更有利于 Device 访问。因此,Device Bias 常用于 Device 直接 Load/Store 访问 Device Memory 的场景。

  不是说 Device Bias 区域只能缓存在 Device Cache 中、不能缓存在 Host Cache 中么?上图环路②访问后将相关 Data Line 缓存在 Host Cache 该作何解释?以下是笔者的理解:

  Host 在发起访问 Device Memory 访问请求时,其并不知道该区域的 Bias Mode 也无需知道。如果访问的区域为 Device Bias 且请求获得该 Data Line 的 Shared 或 Exclusive 权限,Device DCOH 会处理一致性并 姑且同意 该请求。在同意请求后,Device Cache 内该 Data Line 已经变为了 Shared 或 Invalid,该区域 实际已经变为了 Host Bias 。如果 DCOH 觉得维持在 Host Bias 没问题,那就继续保持该状态,心甘情愿将 Bias Mode 切换为 Host Bias,Host 内的 Local SF 会监测该 Data Line 在 Host Cache 内的副本并维护缓存一致性;如果 DCOH 觉得有问题,Device 仍要继续独享该 Data Line,其不打算让出该 Data Line 的 Cache 权限,其可以通过 CXL.cache 发送 RdOwnNoData 或者通过 CXL.mem 发送 S2M BISnp*给 Host 要求其放弃 Cache 中的该 Cacheline,仍然由 Device Cache 独享该 Cacheline,重新切回到 Device Bias。这个 Device 发起的 Bias Flip 的操作,即 Spec 中所言的 “The host may be forced to give up ownership by the accelerator“。



2. 实现 Bias Mode 的要求

CXL Bias Mode (2) - 实现 Bias Mode 的要求


3. Bias Mode 管理与示例

CXL Bias Mode (3) - Bias Mode 管理与示例



4. Q&A

  1. Bias Mode 是什么?
    Type 2 Device Memory 中 Page 的偏向性,决定了谁来直接管理其一致性。
  2. Bias Mode 存放在哪?谁来管理?
    直接放在 Device 中的 Bias Table,由 DCOH 来直接管理。Host 可以通过 SF 或访问 Meta 来推测或间接更新 Bias Mode。
  3. Host 能看到 Bias Mode 吗?
    Host 无法直接看到确切的 Bias Mode,其可以通过 SF 或访问 Meta 来推测或间接更新 Bias Mode。
  4. HDM-DB 也有不同的 Bias Mode 吗?
    Bias Mode 是 Type 2 Memory 的属性,Type 2 类型的 HDM-D 及 HDM-DB 均支持 Bias Mode。
  5. 两者不同的 Bias 切换方式中,由谁发起 Bias 切换?
    软件和硬件都可以发起 Bias Mode 切换请求。
  6. 不同的 Bias Mode 应用场景是什么?
    Host Bias 常用于 Host 分配任务或回收出运算结果,Device Bias 常用于 Accelerator 运算。


5. 参考

  1. CXL Base Spec, r3.0
  2. CXL 简介_maxwell2ic 的博客-CSDN 博客
  3. CXL 协议(1.1 版本)学习笔记(一) - 知乎 (zhihu.com)
  4. CXL Meta Data 介绍

— END —

🔥 精选往期 CXL 协议系列文章,请查看【 CXL 专栏】🔥

⬆️ 返回顶部 ⬆️文章来源地址https://www.toymoban.com/news/detail-602773.html

到了这里,关于CXL Bias Mode (1) - Bias Mode 背景与分类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 路由的分类和基本协议

    一个实际的网络中,一台路由器通常包含多条路由条目,这些路由条目从不同的来源获取。路由表的来源可分为三类,分别是 直连路由 、 静态路由 和 动态路由 。 直连路由 :路由器直接连接的路由条目,只要路由器接口配置了 IP 地址,接口状态正常,就会自动生成对应的

    2024年02月03日
    浏览(27)
  • 共识协议(2)共识算法分类

    1. 分类 1.1 概率性共识(弱一致性) 区块数据以一定概率达成一致, 随着时间推移概率逐渐提高, 不能保证区块数据将来不可更改, eg, 比特币 持久性(persistence) 衡量区块链数据的一致性. 如果某区块在节点的本地区块链中拥有k个区块的深度, 该区块在其他节点的本地区块链中

    2023年04月08日
    浏览(34)
  • CXL论文阅读笔记整理(持续更新)

    arXiv Paper 对CXL技术进行介绍,包括CXL 1.0、CXL 2.0、CXL 3.0,对各规范的提升做介绍。整理了现有的CXL实现方法,延迟测试结果,对未来发展进行展望。 Queue 2023 Paper 泛读笔记 CXL提供的是粗力度的内存共享,没有提供细粒度的内存保护功能,作者提出用针对特定领域优化的去中心

    2024年04月15日
    浏览(50)
  • 路由协议的三种分类方式

    路由协议概念 路由器提供了异构网互联的机制,实现将一个网络的数据包发送到另一个网络。而路由就是指导IP数据包发送的路径信息。路由协议就是在路由指导IP数据包发送过程中事先约定好的规定和标准。 路由协议分类 一、按照获取方式分类 链路层发现: 直连路由 静态

    2024年02月07日
    浏览(52)
  • 区块链钱包分类及BIP协议

    上一次我们介绍了区块链的背景,区块链、以太坊、智能合约到底是什么,但我们并不止步于此,为了实现最终的目标:“完成区块链钱包的设计并顺利毕业”,我们还要来了解一下有关钱包的相关理论。 钱包其实就是一个用来管理私钥的工具,用来存储数字资产。我再直白

    2024年02月09日
    浏览(36)
  • 【学习iOS高质量开发】——协议与分类

    对象之间经常需要相互 通信,而通信方式有很多种。OC开发者广泛使用一种“委托模式”的编程设计模式来实现对象间的通信,该模式的主旨是:定义一套接口,某对象若想接收另一个对象的委托,则需遵从此接口,以便于成为其“委托对象”,而这“另一个对象”则可以给

    2024年02月22日
    浏览(33)
  • 深度学习记录--偏差/方差(bias/variance)

    拟合神经网络函数过程中会出现两种误差: 偏差 ( bias )和 方差 ( variance ) 欠拟合(underfitting) 当偏差(bias)过大时,如左图,拟合图像存在部分不符合值,称为欠拟合(underfitting) 过拟合(overfitting) 当方差(variance)过大时,如右图,拟合图像过于特殊,不够集中(即方差过大),称为过

    2024年01月17日
    浏览(72)
  • CXL.cache D2H Message 释义

    🔥 点击查看精选 CXL 系列文章 🔥 🔥 点击进入【芯片设计验证】社区,查看更多精彩内容 🔥 📢  声明 : 🥭 作者主页:【MangoPapa的CSDN主页】。 ⚠️ 本文首发于CSDN,转载或引用请注明出处【https://mangopapa.blog.csdn.net/article/details/132647075】。 ⚠️ 本文目的为 个人学习记录

    2024年02月10日
    浏览(38)
  • CXL.mem S2M Message 释义

    🔥 点击查看精选 CXL 系列文章 🔥 🔥 点击进入【芯片设计验证】社区,查看更多精彩内容 🔥 📢  声明 : 🥭 作者主页:【MangoPapa的CSDN主页】。 ⚠️ 本文首发于CSDN,转载或引用请注明出处【https://mangopapa.blog.csdn.net/article/details/132647111】。 ⚠️ 本文目的为 个人学习记录

    2024年02月10日
    浏览(88)
  • 【Effective Objective-C 2.0】协议与分类

    第23条:通过委托与数据源协议进行对象间通信 在软件开发中,对象之间的通信是不可避免的。委托模式(Delegate Pattern)是一种常用的实现对象间通信的方式,也被称为代理模式。委托模式的核心思想是定义一套接口,使得一个对象可以将部分职责委托给另一个对象。在iO

    2024年02月21日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包