previous up next
Go backward to Parallel Algorithm
Go up to Parallel Resultant Computation
Go forward to Benchmark Results
RISC-Linz logo

Implementation

We have implemented above algorithm for r=2 using the Distributed Maple constructs dist[start] and dist[wait]. Furthermore, we have replaced the Maple function resultant/bivariate (which is called by Maple for computing the resultants of bivariate polynomials) by a version that uses our parallel implementation if the degrees of both input polynomials in the main variable are are greater than five and the degree of one input polynomial is greater than ten. All other cases are still solved by sequential methods.

The implementation differs from above algorithm in that each task computes multiple modular resultants respectively multiple coefficients of the integer resultant. By adjusting the number of elements computed by a task we can effectively control its grain size.

For estimating the execution time of a "ResultantModular" task we use the complexity bound [12]

(1+max(degreer(A), degreer(B)))
*PRODi=1r(1+max(degreei(A), degreei(B)))
*SUMi=1r(1+max(degreei(A), degreei(B)))
where degreei(P) denotes the degree of P in the i-th variable. Based on this bound (multiplied by an experimentally determined constant that represents the processor speed) our implementation adjusts the number of modular images per task such that each task is expected to execute roughly 10 seconds. Smaller grain sizes unduly increase the execution overhead while larger grain sizes may cause significant load imbalances.

We also adjust the number of coefficients computed per "ChineseRemainderCoeff" task such that it processes for any input a constant number of modular coefficients. We have experimentally determined a value for this constant (1800) such that the execution time of a the task roughly matches the execution time of a "ResultantModular" task.

The first four modular resultants are actually computed sequentially in order to derive an improved value for the degree bound such that fewer coefficients have to be considered in the rest of the algorithm.


Maintained by: Wolfgang Schreiner
Last Modification: April 22, 1999

previous up next