1 / 15

Summary

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

nizana
Download Presentation

Summary

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Summary • The Problem • The Motivation and some examples • Our results • Conclusion Euro-Par 2003 International Conference on Parallel and Distributed Computing

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. Our results: Templates • We study templates that are n-vertex rooted binary tree. Euro-Par 2003 International Conference on Parallel and Distributed Computing

  10. 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

  11. 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

  12. 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

  13. Our results:A Lower Bound on Perfc(Tn) LBT Tn i* … (c+1) k* Euro-Par 2003 International Conference on Parallel and Distributed Computing

  14. 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

  15. 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

More Related