Abstract

This paper shows how to parallelize tree-structured computations for d-dimensional (d ≥ 1) mesh-connected arrays of processors. A tree-structured computation T consists of n computational tasks whose dependencies form a task tree T of n constant degree nodes. Each task can be executed in unit time, and sends one value to its parent task after it has executed. Let h be the height of T. We present linear time algorithms for partitioning and mapping the task tree T onto a p 1/d × … × p 1/d mesh-connected array of processors so that we can schedule the processors to perform computation T in O(n/p) time, for p ≤ min{n/h, n d/(d + 1)}. The O(max{h,n 1/(d+1)}) time bound achieved when p = min{n/h, n d/(d + 1)} is the best possible (upto a constant factor) over all p ≥ 1. The best previous bound was O((√n + h) · log n) achieved on a linear array of min{n/h, n 1/2} processors, and could not be generalized to higher dimensional meshes. As a consequence, we obtain a mapping and schedule of an n-node expression tree ...

Full Text
Paper version not known

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.