会议记录:2019年05月28日

迁移流程

四个大的流程

1. 负载分析与统计
    主要包括心跳包的交换与mds负载值、目录热度值的计算 
2. 划分MDS的角色:Exporter 与 Importer
    通过比较自身负载与集群的平均负载,决定自己成为exporter还是importer
3. 选择被迁出的目录
    根据期望减少的热度值挑选目录:首先寻求完美匹配,再在小热度目录中选较大热度的,再次选择大热度目录,否则递归
4. 执行export
    主要发送信息有
    发送discover message  -->  收到并返ack
    发送prep message  -->  收到并返ack
    执行export_go 并发送export的目录  -->  收到并进行import,返回ack
    finish export并发送message  -->  finish import
    详细流程请参看PPT

一些想法与讨论

分析迁移过程中的bottleneck (如果是网络可以考虑使用ipc,但是先不急实现ipc)

子树的优点在于能够在较大多数的workload下都有较好表现,但hash能在不同负载甚至切换时有较好的balance,能否有较好trade off的设计?

比如node间subtree,node内部hash;或者只hash目录的前面一部分。

以及,实际的workload中,目录操作的性能是必要的,如范斌所举的例子:spark启动时第一步就是进行一次遍历

最近工作计划

友旭:量化subtree方式(ceph)迁移开销

一多:量化hash方式(lustre)负载情况

  • user/duo/weekreport/2019_5_28.txt
  • 最后更改: 5年前
  • 王一多