A Methodology for granularity-based control of parallelism in logic programs

P. Lopez, M. Hermenegildo, Saumya K Debray

Research output: Contribution to journalArticle

37 Citations (Scopus)

Abstract

Several types of parallelism can be exploited in logic programs while preserving correctness and efficiency, i.e. ensuring that the parallel execution obtains the same results as the sequential one and the amount of work performed is not greater. However, such results do not take into account a number of overheads which appear in practice, such as process creation and scheduling, which can induce a slow-down, or, at least, limit speedup, if they are not controlled in some way. This paper describes a methodology whereby the granularity of parallel tasks, i.e. the work available under them, is efficiently estimated and used to limit parallelism so that the effect of such overheads is controlled. The run-time overhead associated with the approach is usually quite small, since as much work is done at compile time as possible. Also, a number of run-time optimizations are proposed. Moreover, a static analysis of the overhead associated with the granularity control process is performed in order to decide its convenience. The performance improvements resulting from the incorporation of grain size control are shown to be quite good, specially for systems with medium to large parallel execution overheads.

Original languageEnglish (US)
Pages (from-to)715-734
Number of pages20
JournalJournal of Symbolic Computation
Volume21
Issue number4-6
StatePublished - Apr 1996

Fingerprint

Logic Programs
Granularity
Parallelism
Methodology
Static analysis
Scheduling
Grain Size
Static Analysis
Process Control
Correctness
Speedup
Optimization

ASJC Scopus subject areas

  • Algebra and Number Theory
  • Computational Mathematics

Cite this

A Methodology for granularity-based control of parallelism in logic programs. / Lopez, P.; Hermenegildo, M.; Debray, Saumya K.

In: Journal of Symbolic Computation, Vol. 21, No. 4-6, 04.1996, p. 715-734.

Research output: Contribution to journalArticle

@article{9fdc1464e28a416cb2a3b6540a5dd2d5,
title = "A Methodology for granularity-based control of parallelism in logic programs",
abstract = "Several types of parallelism can be exploited in logic programs while preserving correctness and efficiency, i.e. ensuring that the parallel execution obtains the same results as the sequential one and the amount of work performed is not greater. However, such results do not take into account a number of overheads which appear in practice, such as process creation and scheduling, which can induce a slow-down, or, at least, limit speedup, if they are not controlled in some way. This paper describes a methodology whereby the granularity of parallel tasks, i.e. the work available under them, is efficiently estimated and used to limit parallelism so that the effect of such overheads is controlled. The run-time overhead associated with the approach is usually quite small, since as much work is done at compile time as possible. Also, a number of run-time optimizations are proposed. Moreover, a static analysis of the overhead associated with the granularity control process is performed in order to decide its convenience. The performance improvements resulting from the incorporation of grain size control are shown to be quite good, specially for systems with medium to large parallel execution overheads.",
author = "P. Lopez and M. Hermenegildo and Debray, {Saumya K}",
year = "1996",
month = "4",
language = "English (US)",
volume = "21",
pages = "715--734",
journal = "Journal of Symbolic Computation",
issn = "0747-7171",
publisher = "Academic Press Inc.",
number = "4-6",

}

TY - JOUR

T1 - A Methodology for granularity-based control of parallelism in logic programs

AU - Lopez, P.

AU - Hermenegildo, M.

AU - Debray, Saumya K

PY - 1996/4

Y1 - 1996/4

N2 - Several types of parallelism can be exploited in logic programs while preserving correctness and efficiency, i.e. ensuring that the parallel execution obtains the same results as the sequential one and the amount of work performed is not greater. However, such results do not take into account a number of overheads which appear in practice, such as process creation and scheduling, which can induce a slow-down, or, at least, limit speedup, if they are not controlled in some way. This paper describes a methodology whereby the granularity of parallel tasks, i.e. the work available under them, is efficiently estimated and used to limit parallelism so that the effect of such overheads is controlled. The run-time overhead associated with the approach is usually quite small, since as much work is done at compile time as possible. Also, a number of run-time optimizations are proposed. Moreover, a static analysis of the overhead associated with the granularity control process is performed in order to decide its convenience. The performance improvements resulting from the incorporation of grain size control are shown to be quite good, specially for systems with medium to large parallel execution overheads.

AB - Several types of parallelism can be exploited in logic programs while preserving correctness and efficiency, i.e. ensuring that the parallel execution obtains the same results as the sequential one and the amount of work performed is not greater. However, such results do not take into account a number of overheads which appear in practice, such as process creation and scheduling, which can induce a slow-down, or, at least, limit speedup, if they are not controlled in some way. This paper describes a methodology whereby the granularity of parallel tasks, i.e. the work available under them, is efficiently estimated and used to limit parallelism so that the effect of such overheads is controlled. The run-time overhead associated with the approach is usually quite small, since as much work is done at compile time as possible. Also, a number of run-time optimizations are proposed. Moreover, a static analysis of the overhead associated with the granularity control process is performed in order to decide its convenience. The performance improvements resulting from the incorporation of grain size control are shown to be quite good, specially for systems with medium to large parallel execution overheads.

UR - http://www.scopus.com/inward/record.url?scp=0030117158&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0030117158&partnerID=8YFLogxK

M3 - Article

VL - 21

SP - 715

EP - 734

JO - Journal of Symbolic Computation

JF - Journal of Symbolic Computation

SN - 0747-7171

IS - 4-6

ER -