parallel-processing - 如何在非常大的图上运行算法?
问题描述
假设您有一个简单的 DAG,其中每个节点都存储节点的名称和表示节点“流”的值。我写了一个简单的算法来计算一个节点的流,它是节点的流加上通过传出边访问的所有邻居的流。
这适用于小型 DAG。但是,考虑一个非常大的 DAG——我们在这里讨论的是 Facebook 级别的规模。在这样的图上运行相同的算法是不可能的,它甚至不适合内存。我的理解是,我们需要以这样一种方式对图进行分区,以便我们可以让不同的工作机器处理图的不同部分。
我的问题是:这甚至可能吗?如果是这样,您将如何对 DAG/任何图进行分区,不仅适用于该算法,还适用于任何任意算法?
解决方案
推荐阅读
- r - 根据单独列表中是否存在样本过滤数据框
- facebook - 我们可以自定义 facebook 评论以包含更多字段吗
- c# - 如何在 C# 中转换正确的 ISO 8601 日期
- sanity - 在 GROQ 查询中,您可以在图像引用数组中获取每个资产的数据吗?
- r - R Shiny:删除新创建的标签
- scala - 具有逆变输入参数编译错误的流处理器的过滤函数
- typescript - 如何从 Vue Composition API / Vue 3.0 + TypeScript 中的组合函数访问根上下文?
- vue.js - 当我触发 $emit 时,Vue $on 没有收到我的事件
- r - 将不同大小的向量逐行写入文件
- c# - 为什么我会收到一个错误,即 XML 文档中存在错误?