TY - JOUR
T1 - A Methodology for granularity-based control of parallelism in logic programs
AU - Lopez, P.
AU - Hermenegildo, M.
AU - Debray, S.
N1 - Funding Information:
y The work of S.K. Debray was supported in part by the National Science Foundation under grant CCR-9123520. The work of M. Hermenegildo and P. L¶opez is supported in part by ESPRIT project 6707 \PARFORCE" and CICYT project number TIC93-0976-CE. z E-mail: [email protected], [email protected] x E-mail: [email protected]
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
U2 - 10.1006/jsco.1996.0038
DO - 10.1006/jsco.1996.0038
M3 - Article
AN - SCOPUS:0030117158
SN - 0747-7171
VL - 21
SP - 715
EP - 734
JO - Journal of Symbolic Computation
JF - Journal of Symbolic Computation
IS - 4-6
ER -