Language agnostic 如何在点对点系统中可靠但最少地分发项目

Language agnostic 如何在点对点系统中可靠但最少地分发项目,language-agnostic,distributed,machine-learning,p2p,fault-tolerance,Language Agnostic,Distributed,Machine Learning,P2p,Fault Tolerance,如果你有一个可以查询的点对点系统,你会想 减少网络上的查询总数(通过广泛分发“热门”项目和将“类似”项目一起分发) 避免在每个节点上存储过多 在客户停机、硬件故障和用户离开时(可能为档案管理员/历史学家检测稀有物品),确保即使是中等稀有物品也具有良好的可用性 避免在出现网络分区时查询无法找到匹配项 鉴于这些要求: 有什么标准方法吗?如果没有,是否有任何值得尊重的实验性研究?我熟悉一些分发方案,但我还没有看到任何真正解决健壮性学习的方法 我是否缺少任何明显的标准 有人对解决这个问题感兴趣吗?(

如果你有一个可以查询的点对点系统,你会想

  • 减少网络上的查询总数(通过广泛分发“热门”项目和将“类似”项目一起分发)
  • 避免在每个节点上存储过多
  • 在客户停机、硬件故障和用户离开时(可能为档案管理员/历史学家检测稀有物品),确保即使是中等稀有物品也具有良好的可用性
  • 避免在出现网络分区时查询无法找到匹配项
鉴于这些要求:

  • 有什么标准方法吗?如果没有,是否有任何值得尊重的实验性研究?我熟悉一些分发方案,但我还没有看到任何真正解决健壮性学习的方法
  • 我是否缺少任何明显的标准
  • 有人对解决这个问题感兴趣吗?(如果是这样的话,我很乐意在本周末组装的一个非常蹩脚的模拟器中开源一部分,并且通常会提供无益的建议)

  • @cdv:我现在已经看了这段视频,它非常好,虽然我觉得它还没有达到一个可插拔的分发策略,但它肯定达到了90%。然而,这些问题突出了这种方法的有用差异,解决了我进一步关注的一些问题,并为我提供了一些后续参考。因此,我暂时接受你的答案,尽管我认为这个问题是开放的。

    < P>有很多系统,你所寻求的各个方面都有不同的妥协,包括但不限于:

    亚马逊的发电机:

    凯:

    Hadoop:

    和弦:

    蜂巢:

    还有很多其他的。在按照这些思路构建了自定义系统之后,我还以开源形式发布了一些构建块:
    (这不是一个完整的系统,但有几个库在构建一个系统时很有用)

    这是很多好信息,但几乎太多了。我可以搜索分布式哈希表,也可以搜索下一个人。你能说得更详细一些吗?谢谢:-)