Parallel construction of succinct trees

Date

2017

Type:

Artículo

item.page.extent

22 p.

item.page.accessRights

item.contributor.advisor

ORCID:

Journal Title

Journal ISSN

Volume Title

Publisher

item.page.isbn

item.page.issn

item.page.issne

item.page.doiurl

item.page.other

item.page.references

Abstract

Succinct representations of trees are an elegant solution to make large trees fit in main memory while still supporting navigational operations in constant time. However, their construction time remains a bottleneck. We introduce two parallel algorithms that improve the state of the art in succinct tree construction. Our results are presented in terms of work, the time needed to execute a parallel computation using one thread, and span, the minimum amount of time needed to execute a parallel computation, for any amount of threads. Given a tree on n nodes stored as a sequence of balanced parentheses, our first algorithm builds a succinct tree representation with O(n) work, O(lg⁡n) span and supports a rich set of operations in O(lg⁡n) time. Our second algorithm improves the query support. It constructs a succinct representation that supports queries in O(c) time, taking O(n+nlgc⁡nlg⁡(nlgc⁡n)+cc) work and O(c+lg⁡(ncclgc⁡n)) span, for any positive constant c. Both algorithms use O(nlg⁡n) bits of working space. In experiments using up to 64 cores on inputs of different sizes, our first algorithm achieved good parallel speed-up. We also present an algorithm that takes O(n) work and O(lg⁡n) span to construct the balanced parenthesis sequence of the input tree required by our succinct tree construction algorithm.

Description

item.page.coverage.spatial

item.page.sponsorship

Citation

Fuentes-Sepúlveda, José; Ferres, Leo; He, Meng; Zeh, Norbert (2017). Parallel construction of succinct trees,.Theoretical Computer Science Volume 700, 14 November 2017, Pages 1-22

Keywords

Succinct data structure, Succinct tree construction, Multicore, Parallel algorithm

item.page.dc.rights

item.page.dc.rights.url