daos_engine(RPC请求/接收)daos_client(RPC请求) -------> daos_engine(RPC接收和处理)">
当前位置:   article > 正文

DAOS引擎是如何收到客户端RPC并处理的?

DAOS引擎是如何收到客户端RPC并处理的?

DAOS引擎是如何收到客户端RPC并处理的?

也就是, 如何将协程XS, ULT, Cart(网络), RPC, HG, Libfabric, RDMA, 完成队列以及各种回调结合起来, 形成精密运转的"机器", 来支持DAOS引擎接收客户端RPC功能
如下所示:
daos_client(RPC请求) -------> daos_engine(RPC接收和处理)
daos_engine(RPC请求/接收) -------> daos_engine(RPC请求/接收)

答案

  1. 引擎启动, 在初始化服务端(server_init)中, 初始化所有的模块(dss_module_init_all), 接着初始化引擎主服务(dss_srv_init)
  2. 在主服务中,按tgt和id启动每个协程(xs, 系统服务, 主IO服务, 负载等多个XS)(dss_start_one_xstream)
  3. 在协程中初始化调度器(dss_sched_init), 启动轮询处理(dss_srv_handler)
  4. 执行协程任务(服务端控制器,总控 dss_srv_handler)
  5. 在总控中, 注册RPC公共回调(dss_rpc_hdlr)
  6. 在总控中, 启动大循环(for (;
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/418538
推荐阅读
相关标签