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

做网站投资要多少钱wordpress主题微博

做网站投资要多少钱,wordpress主题微博,耐看舒适的网页设计欣赏,陕西省城乡建设学校网站对于 Client 来讲,setupConnection 中的 cm_id 应该是本地的,意味着后续 create pd \ cq \ qp 等等传入的 cm_id 都是本地 id。但是对于 Server 来讲,收到 client 的链接请求时将 client 的 cm_id 传入 setupConnection,意味着后续…
  • 对于 Client 来讲,setupConnection 中的 cm_id 应该是本地的,意味着后续 create pd \ cq \ qp 等等传入的 cm_id 都是本地 id。但是对于 Server 来讲,收到 client 的链接请求时将 client 的 cm_id 传入 setupConnection,意味着后续 create pd \ cq \ qp 等等传入的 cm_id 都是远端 id。为什么?

    • 因为所有的 create_xxx 操作都需要 ibv 的链接信息,资源是服务于链接的。

    • 在 rdma_create_qp 的介绍中说到,传入的 cm_id 必须要拥有链接信息,否则会创建失败,这就是解释了为什么 Server 调用时不能传入自己的 local_cm_id,因为此时 Server 的 cm_id 是没有链接信息的,所以失败。

    • 那么为什么 Client 可以传入自己的 local_cm_id 呢。因为在 Client 在 create_xxx 之间,首先进行了地址解析:

    • rdma_resolve_addr(client_id_, nullptr, dst_addr_->ai_addr, DEFAULT_CONNECTION_TIMEOUT);
      rdma_resolve_route(client_id_, DEFAULT_CONNECTION_TIMEOUT);
      
    • 这些操作会将 Client <-> Server 的一些链接信息存入 cm_id , 比如 addr、route 什么的,之后 cm_id 就具有了链接信息,可以通过其创建资源。

    • 同理,Server 拿到 Client 的 cm_id 后要用它来创建资源

    • 附上一张官方的 cm 建链流程:

  • ibv_destroy_cq 和 rdma_destroy_id 会卡住,有什么头绪吗?

    • ibv 博客里这么解释:

    • There is at least one affiliated asynchronous event on that CQ that was read without a proper acknowledgement.

    • 意思是还有 event 没有发 ack。最后 debug 确实是这样,Server 收到 DISCONNECT 时,没有 ack 就调用了 ibv_destroy_cp ,然后就一直卡住。

    • 去看了下源码,发现 ibv_destroy_cp 一直往后调用有这么一句话:

    • int ibv_cmd_destroy_cq(struct ibv_cq *cq)
      {
      // ...
      while (cq->comp_events_completed != resp.comp_events_reported ||cq->async_events_completed != resp.async_events_reported)
      // ...
      }
      
    • cq 里其实是有一个 event channel 的:

    • struct ibv_cq {struct ibv_comp_channel *channel;
      }
      
    • 说白了应该就是要等所有的 event 全部完毕才能 destroy,否则卡住。

  • cm_id 是对应节点还是对应 qp ?

    • 应该是对应 qp
  • Client rdma_disconnect 之后,rdma_get_cm_event 堵住了。按理说是不应该的,因为当任意一端启动 rdma_disconnect 后,会在两端均产生 RDMA_CM_EVENT_DISCONNECTED 事件。

    • 官方解释是这么说的:

    • After successfully disconnecting, an RDMA_CM_EVENT_DISCONNECTED event will be generated on both sides of the connection.

    • 意思是成功 disconnect 之后才会在双端产生事件。首先,当 Client 调用 rdma_disconnect 后,Server 会立刻产生该事件,但是 Client 不会,只有当 disconnect “完成” 之后,才会产生事件。那么问题就在于这个 “完成” 指什么。

    • 经过多次尝试,发现这个 “完成” 是指 Server 端释放所有 Connection 资源,也就是 ibv_destroy_xxx。因此该 bug 产生的原因是 Server 收到 Client 的 disconnect 请求后没有即使释放资源,导致 Client 一直收不到事件。

http://www.yayakq.cn/news/241346/

相关文章:

  • 知名的家居行业网站开发游标卡尺 东莞网站建设
  • 网站建设摊销年限最新规定iis 添加网站 win7
  • 承接婚庆公司网站建设上海未成年人思想道德建设网站
  • iapp如何用网站做软件wordpress适合国人的编辑器
  • 网站建设策划书悠悠广州正规网站建设有哪些
  • 南宁网站建设排名下载app下载安卓免费
  • 网站建设挂什么费用企业电子商务网站的建设阶段
  • 微网站如何做微信支付建立全国统一的突发事件信息系统的是什么机构
  • 广州网站建设设计最炫的网站
  • 临淄网站建设公司企业网站建设费用 珠海
  • 网站推广服务包括哪些苏州网络推广定制
  • 网站开发能用react吗怎么查网站做站点地图
  • 工业互联网企业排名梁水才seo优化专家
  • vs做网站好不好深圳专业网站建设平台
  • 南阳网站推广方案界面设计师培训
  • 铁道部建设管理司网站什么是网站推广优化
  • 南山区住房和建设局官方网站公司的网站是什么
  • 从seo角度去建设网站做软件
  • 货代一般都去哪个网站找客户哈尔滨网站开发培训
  • 网站建设需要步骤湖南网站建设网站制作
  • 泾阳县住房和城乡建设局网站网站备案 接电话
  • 网站图片被盗连怎么办小程序免费制作平台有赞
  • 山东住房和城乡建设部网站移动端适配 wordpress
  • 计算机网络资源网站建设论文公司网站开发教程
  • 网站制作价格 上海网页设计与制作总结报告
  • 网站建设风险控制初中学历可以学室内设计吗
  • 网站域名收费手机评分网站
  • 管理有限公司网站设计做网站买个域名多少钱
  • 金融行业建设网站企业咨询公司是做什么的
  • 网站开发培训北京工业和信息化部人才交流中心