Introduction to algorithms
Introduction to parallel algorithms and architectures: array, trees, hypercubes
Introduction to parallel algorithms and architectures: array, trees, hypercubes
An introduction to parallel algorithms
An introduction to parallel algorithms
Conflict-free access to parallel memories
Journal of Parallel and Distributed Computing
Parallel algorithms for priority queue operations
Theoretical Computer Science
Conflict-free template access in k-ary and binomial trees
ICS '97 Proceedings of the 11th international conference on Supercomputing
Multiple templates access of trees in parallel memory systems
Journal of Parallel and Distributed Computing - Parallel and distributed data structures
Journal of Parallel and Distributed Computing
Latin Squares for Parallel Array Access
IEEE Transactions on Parallel and Distributed Systems
Optimal and Load Balanced Mapping of Parallel Priority Queues in Hypercubes
IEEE Transactions on Parallel and Distributed Systems
Optimal Tree Access by Elementary and Composite Templates in Parallel Memory Systems
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
WADS '97 Proceedings of the 5th International Workshop on Algorithms and Data Structures
Toward a Universal Mapping Algorithm for Accessing Trees in Parallel Memory Systems
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Conflict-free star-access in parallel memory systems
Journal of Parallel and Distributed Computing
Bounded-Collision Memory-Mapping Schemes for Data Structures with Applications to Parallel Memories
IEEE Transactions on Parallel and Distributed Systems
Hi-index | 0.01 |
In this paper, we study efficient strategies for mapping onto parallel memory systemscomplete trees that are accessed by fixed templates (like complete subtrees, paths, or any combinations their of). These mappings are evaluated with respect to the following criteria: 1) the largest number of data items that can be accessed in parallel without memory conflicts; 2) the number of memory conflicts that can occur when accessing templates of size equal to the number of available memory modules, thereby exploiting the full parallelism of the system; 3) the complexity of the memory addressing scheme, i.e., the cost of retrieving the module where a given data item is mapped. We show that there exist trade-offs between these three criteria and the performance of different mapping strategies depends on the emphasis given on each of these criteria. More specifically, we describe an algorithm for mapping complete binary trees of height H onto M memory modules and prove that it achieves the following performance results: 1) conflict-free access to complete subtrees of size K and paths of size N such that N+K-\lceil\log K\rceil \leq M; 2) at most 1 conflict in accessing complete subtrees and paths of size M; 3) O\left({K\over M} + c\right) conflicts when accessing a composite template of K nodes consisting of c disjoint subsets, each subset being a complete subtree, or a path or a set of consecutive nodes in a level of the tree. Furthermore, we show that an existing mapping algorithm results in a larger number, namely O\left({K\over{\sqrt{M\log M}}} + c\right), of conflicts when accessing a composite template. However, such an algorithm maps each single node in O(1) time, while the new algorithm requires O(H/N-\log K) time.