Multiway merge with constant delay in Concurrent Prolog

Ehud Shapiro*, Shmuel Safra

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

8 Scopus citations

Abstract

Multiway dynamic mergers with constant delay are an essential component of a parallel logic programming language. Previous attempts to defined efficient mergers have required complex optimising compilers and run-time support. This paper proposes a simple technique to implement mergers efficiently. The technique requires an additional data type and the definition of an operation on it. The operation allows multiple processes to access a stream without incurring the cost of searching for the end of stream. It is specified in Concurrent Prolog and is used to define multiple assignment variables using a monitor. The technique forms the basis for stream merging in Logix, a practical programming environment written in Flat Concurrent Prolog.

Original languageEnglish
Pages (from-to)211-216
Number of pages6
JournalNew Generation Computing
Volume4
Issue number2
DOIs
StatePublished - Jun 1986
Externally publishedYes

Keywords

  • Concurrent Prolog
  • Copy Avoidance
  • Stream Merging

Fingerprint

Dive into the research topics of 'Multiway merge with constant delay in Concurrent Prolog'. Together they form a unique fingerprint.

Cite this