Experiments with Speculative Parallelism in Parlog
Experiments with Speculative Parallelism in Parlog
复制标题
Parlog 中的推测并行性实验
DOI:
--
复制
发表时间:
1993
期刊:
影响因子:
--
通讯作者:
S. Gregory
中科院分区:
文献类型:
--
作者:
S. Gregory
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.