当前位置: 首页 > news >正文

CHI 协议层 Retry —— CHI(8)

为了防止request transactionsREQ通道堵住,CHI协议提供了一种request retry机制,当Completer无法接收request transaction时,可以发RetryAck响应。

Completer通常在没有资源和没有足够存储空间来存放当前的request transaction时,会对Requests进行retry,如果earlier transactions完成并释放资源了,就可以发送PCrdGrant响应允许二次发送命令。

Requester 发送request,不能有Protocol Credit Type

Completer返回RetryAck响应,同时返回Protocol Credit Type

当Completer可以接收request时,返回PCrdGrant响应

Requester 再次发送request(包含Protocol Credit Type

其中:

1. Protocol Credit Type取值范围0-F,意义可以由completer自己定义,例如可以表示传输类型

2. PCrdReturn用来传输Protocol Credit Type ,用于通知completer给定的 PCrdType 不再需要分配的资源

3. Request retry不适用于PrefetchTgt,因为没有对PrefetchTgt来说没有相应的响应。

4. 当Completerrequest进行retry,它需要记录该笔request的来源,也需要决定和记录Protocol Credit的类型,因为后续PCrdGrandP-Credit type要和RetryAck中的一致。

Completer有资源后,它必须发送通过PCrdGrant响应发送P-CreditRequester

5. Protocol Credit A credit, or guarantee, from a Completer that it will accept a transaction
PCrdType指示request请求中的credit type类型,具体取值按如下原则:

        1)对于Request transaction :如果 AllowRetry 置位,那么 PCrdType 域值设置为 0b000 ;如果 AllowRetry 不置位,那么 PCrdType 域值必须等于 RetryAck 响应中的 PCrdType 的值;
        2)PCrdRetrun transaction 必须设置 credit type 等于 Completer 返回的 credit type
        3)对于Completer 只有一个简单的 credit 分类,或没有 credit 分类, CHI 协议建议将 PCrdType 域值设置为 0b000
传输过程如图所示:

If AllowRetry = 1PCrdType 必须为0 ;

If AllowRetry != 1,那么PCrdType值必须等于RetryAck响应中的PCrdType的值

第一次发request时, PCrdType0,再次发request时, PCrdTypecompleter返回的值

网络层如图:
TgtID设置为 remap 之前或者之后的都可以
TxnID可以与原始的TxnID 不同

http://www.mrgr.cn/news/75052.html

相关文章:

  • 高效集成:金蝶盘亏单数据对接管易云
  • uniapp vue里按钮上的文字,换行的方法,用rich-text
  • 《硬件架构的艺术》笔记(二):时钟与复位
  • 深度学习每周学习总结J5(DenseNet-121 +SE 算法实战与解析 - 猴痘识别)
  • 35.3K+ Star!PhotoPrism:一款基于AI的开源照片管理工具
  • 用Python语言,将一个整数进行因式分解,打印出所有的因数。比如90=2*3*3*5, 90, 1, 2, 45,
  • Flutter网络通信-封装Dio
  • CCF认证-202403-02 | 相似度计算
  • 刷算法题(C++)
  • 机器学习:XGBoost模型(升级版)——高效且强大的树形模型
  • 无人机飞手在保家卫国上重要性技术详解
  • 反射、枚举以及lambda表达式
  • SQL Server 查询设置 - LIKE/DISTINCT/HAVING/排序
  • 控制器ThinkPHP6
  • 设备树总结学习
  • 如何看待AI技术的应用场景
  • MySQL学习/复习2库的操作
  • python3 pyinstaller编译相关 和 python2兼容的一些问题
  • 技术总结(二十八)
  • 腾讯的AI困局
  • 记录一次服务器redis被入侵
  • Strings Catalogs 中xcstrings文件删除本地化语言
  • 使用windows批处理,解决多个svn库提交和更新的需求
  • 广州自闭症干预机构专注提供个性化服务
  • 8-类图建模与对象图测试
  • 4. 奖励函数设置