以分布式或顺序方式工作的算法的术语

Posted

技术标签:

【中文标题】以分布式或顺序方式工作的算法的术语【英文标题】:Term for an algorithm that works in a distributed or sequential fashion 【发布时间】:2016-08-12 09:57:13 【问题描述】:

我正在研究一种算法,该算法可细分大型数据问题并跨多个节点对其执行工作。如果每个细分都知道有关其周围细分的有限信息,则可以修改问题每个细分的局部解决方案以匹配全局解决方案。

这可以通过每个细分之间的固定数量的通信来实现,从而实现几乎令人尴尬的并行解决方案。

然而,一个结果是,如果问题在单个内核上执行,每条数据只需要加载固定次数,不管问题的大小,就可以找到解决方案.

因此,该算法可以很好地并行化,允许在有足够节点一次将所有数据保存在内存中的超级计算机上实现快速解决方案,但也允许通过从磁盘加载数据以有限的资源处理非常大的数据集固定次数。

是否有标准的词或短语来表示具有此属性的算法?

【问题讨论】:

尴尬的并行? @DavidEisenstat:common term 用于解决可以划分为并行工作负载的问题,而无需在负载或处理之间进行任何通信以减少/合并结果。 @DavidEisenstat:其他术语是“完全平行”和“令人愉悦的平行”。顺便说一句,虽然我不介意澄清一下,但我觉得你可以在问这个问题之前花点时间谷歌一下。 您的描述听起来很像域分解。我个人倾向于在data partitioning / data parallelism 的意义上更宽松地使用该术语。现在添加一个光环交换。根据您的实际算法,它甚至可能是数学意义上的域分解 【参考方案1】:

您的问题的理论描述可能是它的复杂性在于NC,尤其是 NC 的一个非常低阶的子集,其中 c = 0 和 k = 1

【讨论】:

以上是关于以分布式或顺序方式工作的算法的术语的主要内容,如果未能解决你的问题,请参考以下文章

区块链笔记

区块链(block chain)

区块链的核心技术

Kafka 术语

Redlock算法-Redis官方分布式锁

区块链是啥