Skip to main content

Efficient Wavelet Tree Construction and Querying for Multicore Architectures

  • Conference paper
Experimental Algorithms (SEA 2014)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8504))

Included in the following conference series:

Abstract

Wavelet trees have become very useful to handle large data sequences efficiently. By the same token, in the last decade, multicore architectures have become ubiquitous, and parallelism in general has become extremely important in order to gain performance. This paper introduces two practical multicore algorithms for wavelet tree construction that run in O(n) time using \(\lg \sigma\) processors, where n is the size of the input and σ the alphabet size. Both algorithms have efficient memory consumption. We also present a querying technique based on batch processing that improves on simple domain-decomposition techniques.

This work was supported in part by CONICYT FONDECYT 11130377.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arroyuelo, D., Costa, V.G., González, S., Marín, M., Oyarzún, M.: Distributed search based on self-indexed compressed text. Inf. Process. Manag. 48(5), 819–827 (2012)

    Article  Google Scholar 

  2. Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. J. ACM 46(5), 720–748 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  3. Brisaboa, N.R., Luaces, M.R., Navarro, G., Seco, D.: Space-efficient representations of rectangle datasets supporting orthogonal range querying. Inf. Syst. 38(5), 635–655 (2013)

    Article  Google Scholar 

  4. Claude, F., Navarro, G.: Practical rank/select queries over arbitrary sequences. In: Amir, A., Turpin, A., Moffat, A. (eds.) SPIRE 2008. LNCS, vol. 5280, pp. 176–187. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  5. Claude, F., Navarro, G.: The wavelet matrix. In: Calderón-Benavides, L., González-Caro, C., Chávez, E., Ziviani, N. (eds.) SPIRE 2012. LNCS, vol. 7608, pp. 167–179. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  6. Claude, F., Nicholson, P.K., Seco, D.: Space efficient wavelet tree construction. In: Grossi, R., Sebastiani, F., Silvestri, F. (eds.) SPIRE 2011. LNCS, vol. 7024, pp. 185–196. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  7. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Multithreaded Algorithms. In: Introduction to Algorithms, 3rd edn., chap. pp. 772–812. The MIT Press (2009)

    Google Scholar 

  8. Faro, S., Külekci, M.O.: Fast multiple string matching using streaming SIMD extensions technology. In: Calderón-Benavides, L., González-Caro, C., Chávez, E., Ziviani, N. (eds.) SPIRE 2012. LNCS, vol. 7608, pp. 217–228. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  9. Ferragina, P., Manzini, G., Mäkinen, V., Navarro, G.: Compressed representations of sequences and full-text indexes. ACM Trans. Algorithms 3(2) (2007)

    Google Scholar 

  10. Gagie, T., Navarro, G., Puglisi, S.J.: New algorithms on wavelet trees and applications to information retrieval. Theoret. Comput. Sci. 427, 25–41 (2012)

    Article  MathSciNet  Google Scholar 

  11. González, R., Grabowski, S., Mäkinen, V., Navarro, G.: Practical implementation of rank and select queries. In: WEA, pp. 27–38. CTI Press, Greece (2005)

    Google Scholar 

  12. Grossi, R., Gupta, A., Vitter, J.S.: High-order entropy-compressed text indexes. In: SODA, pp. 841–850. Soc. Ind. Appl. Math, Philadelphia (2003)

    Google Scholar 

  13. Konow, R., Navarro, G.: Dual-sorted inverted lists in practice. In: Calderón-Benavides, L., González-Caro, C., Chávez, E., Ziviani, N. (eds.) SPIRE 2012. LNCS, vol. 7608, pp. 295–306. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  14. Ladra, S., Pedreira, O., Duato, J., Brisaboa, N.R.: Exploiting SIMD Instructions in Current Processors to Improve Classical String Algorithms. In: Morzy, T., Härder, T., Wrembel, R. (eds.) ADBIS 2012. LNCS, vol. 7503, pp. 254–267. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  15. Mäkinen, V., Navarro, G.: Rank and select revisited and extended. Theoret. Comput. Sci. 387(3), 332–347 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  16. Makris, C.: Wavelet trees: A survey. Comput. Sci. Inf. Syst. 9(2), 585–625 (2012)

    Article  Google Scholar 

  17. Matsumoto, M., Nishimura, T.: Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8(1), 3–30 (1998)

    Article  MATH  Google Scholar 

  18. Navarro, G.: Wavelet trees for all. In: Kärkkäinen, J., Stoye, J. (eds.) CPM 2012. LNCS, vol. 7354, pp. 2–26. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  19. Navarro, G., Nekrich, Y., Russo, L.M.S.: Space-efficient data-analysis queries on grids. Theoret. Comput. Sci. 482, 60–72 (2013)

    Article  MATH  MathSciNet  Google Scholar 

  20. Otellini, P.: Keynote Speech at Intel Developer Forum (2003), http://www.intel.com/pressroom/archive/speeches/otellini20030916.htm

  21. Raman, R., Raman, V., Satti, S.R.: Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets. ACM Trans. Algorithms 3(4) (2007)

    Google Scholar 

  22. Sutter, H.: The free lunch is over: A fundamental turn toward concurrency in software (2005), http://www.gotw.ca/publications/concurrency-ddj.htm

  23. Tischler, G.: On wavelet tree construction. In: Giancarlo, R., Manzini, G. (eds.) CPM 2011. LNCS, vol. 6661, pp. 208–218. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  24. Välimäki, N., Mäkinen, V.: Space-efficient algorithms for document retrieval. In: Ma, B., Zhang, K. (eds.) CPM 2007. LNCS, vol. 4580, pp. 205–215. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Fuentes-Sepúlveda, J., Elejalde, E., Ferres, L., Seco, D. (2014). Efficient Wavelet Tree Construction and Querying for Multicore Architectures. In: Gudmundsson, J., Katajainen, J. (eds) Experimental Algorithms. SEA 2014. Lecture Notes in Computer Science, vol 8504. Springer, Cham. https://doi.org/10.1007/978-3-319-07959-2_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07959-2_13

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-07958-5

  • Online ISBN: 978-3-319-07959-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics