Abstract

For parallel algorithms, their execution time consists of two parts: the computation time and the communication time. The execution time reaches a minimum when the other two are balanced. In this paper, we propose a strategy to reduce the execution time when it is dominated by the communication time. The strategy is to use fewer processors to decrease the communication time and therefore reduce the execution time. Based on this strategy, we have successfully reduced time complexities of semigroup computations. To be more precise, any parallel algorithm performing semigroup computations of N data items can be improved if it uses N processors (each holds one data item) and has time complexity O( N qlog rN ), q⩾0 and r⩾0 (both are not zero). The improved algorithm is designed on the same parallel architecture as the original one, but using only N 1/( q+1) /log rN processors; the time complexity is O( N q/( q+1) log rN ), which achieves the optimal speedup. Some previous algorithms can be improved using this strategy, although they were declared to be optimal. Also, our result generalizes both Carlson's and Miller and Stout's results, which are all restricted to 2-dimensional mesh-connected computers.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call