Experiments with Speculative Parallelism in Parlog

Experiments with Speculative Parallelism in Parlog
复制标题

Parlog 中的推测并行性实验

DOI:
--
复制
发表时间:
1993
期刊:
--
影响因子:
--
通讯作者:
S. Gregory
S. Gregory
中科院分区:
--
文献类型:
--
作者:
S. Gregory

文献摘要

被引文献

相似文献

在并行计算机上更快地执行程序的一种方法是分配一些处理器进行推测性计算:可能被证明是不必要的工作。然而,这种技术,推测并行,需要程序员对机器中的物理处理器有一定的控制,因此在高级并发语言中通常是不可能的。本文研究了并发逻辑程序设计语言中推测并行性的开发。我们提出了一个简单的语言扩展,使技术成为可能,并说明其在两个应用程序中的使用:(1)熟悉的分支定界搜索算法,(2)一个新的动态缓冲区协议的进程间通信。新的语言特性是通过扩展JAM并行Parlog系统实现的。我们的实验结果证实,投机并行可以导致更大的并行加速比可能与其他(分而治之)形式的并行单独。
One way to execute a program faster on a parallel computer is to allocate some processors to speculative computation: work which may prove to be unnecessary. However, this technique, speculative parallelism, requires the programmer to have some control over the physical processors in the machine, and is therefore not usually possible in high-level concurrent languages. This paper investigates the exploitation of speculative parallelism in concurrent logic programming languages. We propose a simple language extension that makes the technique possible, and illustrate its use in two applications: (1) the familiar branch-and-bound search algorithm, and (2) a new dynamic buffer protocol for interprocess communication. The new language feature has been implemented by extending the JAM Parallel Parlog system. The results of our experiments confirm that speculative parallelism can result in greater parallel speedups than is possible with other (divide and conquer) forms of parallelism alone.