150 likes | 277 Views
c-Perfect Hashing Schemes for Binary Trees, with Applications to Parallel Memories G. Cordasco 1 , A. Negro 1 , A. L. Rosenberg 2 and V . Scarano 1. 1 Dipartimento di Informatica ed Applicazioni ”R.M. Capocelli” Università di Salerno, 84081, Baronissi (SA) – Italy
E N D
c-Perfect Hashing Schemes for Binary Trees, with Applications to Parallel MemoriesG. Cordasco1, A. Negro1, A. L. Rosenberg2 and V. Scarano1 1 Dipartimento di Informatica ed Applicazioni ”R.M. Capocelli” Università di Salerno, 84081, Baronissi (SA) – Italy 2 Dept.of Computer Science University of Massachusetts at Amherst Amherst, MA 01003, USA
Summary • The Problem • The Motivation and some examples • Our results • Conclusion Euro-Par 2003 International Conference on Parallel and Distributed Computing
PM P0 M0 M1 P1 D MM -2 PP-1 MM-1 The problem Mapping nodes of a data structure on a parallel memory system in such a way that data can be efficiently accessed by templates. • Data structures (D): array, trees, hypercubes… • Parallel memory systems (PM): Euro-Par 2003 International Conference on Parallel and Distributed Computing
The problem(2) Mapping nodes of a data structure on a parallel memory system in such a way that data can be efficiently accessed by templates. • Templates: distinct sets of nodes (for arrays: rows, columns, diagonals, submatrix; for trees: subtrees, simple paths, levels; etc). • Formally: Let GD be the graph that describes the data structure D. A • template t, for D is defined such as a subgraph of GD and • each subgraph of GD isomorphous to t will be called instance • of t-template. • Efficiently: few(or no) conflicts (i.e. few processors need to access the same memory module at the same time). Euro-Par 2003 International Conference on Parallel and Distributed Computing
How a mapping algorithm should be: • Efficient: the number of conflicts for each instance of the considered template type should be minimized. • Versatile: should allow efficient data access by an algorithm that uses different templates. • Balancing Memory Load: it should balance the number of data items stored in each memory module. • Allow for Fast Memory Address Retrieval: algorithms for retrieving the memory module where a given data item is stored should be simple and fast. • Use memory efficiently: for fixed size templates, it should use the same number of memory modules as the size. Euro-Par 2003 International Conference on Parallel and Distributed Computing
Why the versatility? • Multi-programmed parallel machines: different set of processors run different programs and access different templates. • Algorithms using different templates: in manipulating arrays, for example,accessing lines (i.e. rows and columns) is common. • Composite templates: some templates are “composite”, e.g. the Range-query template consisting of a path with complete subtrees attached. A versatile algorithm is likely to perform well on that... Euro-Par 2003 International Conference on Parallel and Distributed Computing
Previous results: Binary Trees • Boppana (93) • Creutzburg, Andrews (ICPP 91) • Das, Sarkar(SPPD94) • Das, Sarkar, Pinotti(ICPP95) • Auletta, De Vivo, Scarano (IPPS 97): • Lower bound on conflict numbers when access is done by subtree and paths; • Multiple template access to subtrees, root-to-leaf paths and level, with template size M (i.e. = number of memory modules) • memory load is 1 + o(1); • address retrieval in time O(log log N)(N =2M -1 size of the tree) or O(1) with a preprocessing of O(log N) time. Euro-Par 2003 International Conference on Parallel and Distributed Computing
Previous results: Binary Trees(2) • Das, Pinotti (ACM Int. Conf. on Supercomp. 97) • Das, Pinotti (WADS 97) • Auletta, Das, De Vivo, Pinotti, Scarano (IPPS 98) • Optimal algorithm for subtrees and paths (2 conflicts) • Composite templates: composed of elementary (i.e. trees, paths and so on)(possibly disconnected) templates. • Auletta, Das, De Vivo, Pinotti, Scarano (IPDPS 98) • conflict-free access to complete subtrees of size K and paths of size N for M N + K - log K. • 1 conflict access in accessing complete subtrees and paths of size M • Access a composite template(size K not fixed): • instances: combination of c instances of elementary templates; • conflicts Euro-Par 2003 International Conference on Parallel and Distributed Computing
Our results: Templates • We study templates that are n-vertex rooted binary tree. Euro-Par 2003 International Conference on Parallel and Distributed Computing
Our results: c-contraction • For any integer c > 0 , a c-contraction of a binary tree T is a graph G that is obtained from T as follows. • Rename T as G(0). Set k = 0. • Pick a set S of c vertices of G(k) that were vertices of T. Replace these vertices by a single vertex vS; replace all edges of G(k) that are incident to vertices of S by edges that are incident to vS. The graph so obtained is G(k+1) • Iterate step 2 some number of times; G is the final G(k). T=G(0) G(2)=G G(1) Euro-Par 2003 International Conference on Parallel and Distributed Computing
Our results: some definitions • Our results are achieved by proving a (more general) result, of independent interest, about the sizes of graphs that are “almost” perfect universal for binary trees. • A graph Gc= (Vc, Ec) is c-perfect-universal for the family Tn if for each binary tree T Tn exists a c-contraction of T that is a labeled-subgraph of Gc. Tn denotes the family of binary trees having n or fewer vertices. Euro-Par 2003 International Conference on Parallel and Distributed Computing
Our results: c-perfection number • The c-perfection number for Tn,denoted Perfc(Tn), is the size of the smallest graph that is c-perfect-universal for the family Tn • Theorem (F.R.K. Chung, A.L.Rosenberg, L.Snyder 1983) • Perf1(Tn) = • Theorem For all integers n and c > 1, we have Euro-Par 2003 International Conference on Parallel and Distributed Computing
Our results:A Lower Bound on Perfc(Tn) LBT Tn i* … (c+1) k* Euro-Par 2003 International Conference on Parallel and Distributed Computing
Our results: An Upper Bound on Perfc(Tn) • We construct a c-perfect-universal graph Gc via an algorithm Ac that colors the vertices of Tn. • When we identify each like-colored set of vertices of Tn (i.e., contract each set to a single vertex) we obtain the graph Gc, whose size is clearly an upper bound on Perfc(Tn) . • Algorithm Ac assigns a unique set of colors Ci to each level i of Tn. • Clearly • We fix the value of Ci for each level i and show that, for these values, any rooted n-vertex subtree of Tn engenders at most c collisions. Euro-Par 2003 International Conference on Parallel and Distributed Computing
Conclusions • A mapping strategy for versatile templates with a given “conflict tolerance” c. • c-Perfect Hashing Schemes for Chaotic(Cn), Ragged(Rn) and Rectangular (An) Array, with Applications to Parallel Memories (WDAS 2003): • Perfc(Cn) Perfc (Rn) • Perfc(Cn) • Perfc(Rn) • Perfc(Sn) = • Future Work: Matching Lower and Upper Bound. Euro-Par 2003 International Conference on Parallel and Distributed Computing