Skip to main content

Exploiting SIMD Instructions in Current Processors to Improve Classical String Algorithms

  • Conference paper
Advances in Databases and Information Systems (ADBIS 2012)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 7503))

Abstract

Current processors include instruction set extensions especially designed for improving the performance of media, imaging, and 3D workloads. These instructions are rarely considered when implementing practical solutions for algorithms and compressed data structures, mostly because they are not directly generated by the compiler. In this paper, we proclaim their benefits and encourage their use, as they are an unused asset included in almost all general-purpose computers. As a proof of concept, we perform an experimental evaluation by straightforwardly including some of these complex instructions in basic string algorithms used for indexing and search, obtaining significant speedups. This opens a new interesting line of research: designing new algorithms and data structures by taking into account the existence of these sets of instructions, in order to achieve significant speedups at no extra cost.

This work was supported by the Spanish MICINN, Plan E funds, under Grant TIN2009-14475-C04-01 (third author) and TIN2009-14560-C03-02, CDTI CEN-20091048, and Xunta de Galicia grants 2010/17 and 10SIN028E (first, second and fourth authors).

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. Intel SSE4 Programming Reference, Reference Number: D91561-003 (July 2007)

    Google Scholar 

  2. Ben-Kiki, O., Bille, P., Breslauer, D., Gasieniec, L., Grossi, R., Weiman, O.: Optimal packed string matching. In: Procs. FSTTCS, pp. 423–432 (2011)

    Google Scholar 

  3. Boyer, R.S., Moore, J.S.: A fast string searching algorithm. Communications of the ACM (CACM) 20(10), 762–772 (1977)

    Article  MATH  Google Scholar 

  4. Brisaboa, N.R., Fariña, A., Ladra, S., Navarro, G.: Reorganizing compressed text. In: Procs. SIGIR, pp. 139–146 (2008)

    Google Scholar 

  5. Claude, F., Navarro, G.: Fast and compact web graph representations. ACM TWEB 4, 16:1–16:31 (2010)

    Article  Google Scholar 

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

    Google Scholar 

  7. Grossi, R., Gupta, A., Vitter, J.S.: High-order entropy-compressed text indexes. In: Procs. SODA, pp. 841–850 (2003)

    Google Scholar 

  8. Horspool, R.N.: Practical fast searching in strings. Software: Practice and Experience (SPE) 10(6), 501–506 (1980)

    Article  Google Scholar 

  9. Jacobson, G.: Succinct static data structures. PhD thesis, Carnegie Mellon University (1989)

    Google Scholar 

  10. Manber, U., Wu, S.: Glimpse: a tool to search through entire file systems. In: Procs. of USENIX Winter Technical Conf., p. 4 (1994)

    Google Scholar 

  11. Munro, I.: Tables. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180, pp. 37–42. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  12. Navarro, G., Mäkinen, V.: Compressed full-text indexes. ACM Computing Surveys 39(1), article 2 (2007)

    Google Scholar 

  13. Navarro, G., Moura, E., Neubert, M., Ziviani, N., Baeza-Yates, R.: Adding compression to block addressing inverted indexes. Inf. Retr. 3(1), 49–77 (2000)

    Article  Google Scholar 

  14. Raman, R., Raman, V., Rao, S.: Succinct indexable dictionaries with applications to encoding k-ary trees and multisets. In: Procs. SODA, pp. 233–242 (2002)

    Google Scholar 

  15. Ramanathan, R.M.: Extending the world’s most popular processor architecture. Technical report, Intel Corporation (2006)

    Google Scholar 

  16. Sadakane, K.: Compressed suffix trees with full functionality. Theor. Comp. Sys. 41, 589–607 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  17. Schlegel, B., Willhalm, T., Lehner, W.: Fast sorted-set intersection using simd instructions. In: Procs. of ADMS (2011)

    Google Scholar 

  18. Shi, G., Li, M., Lipasti, M.: Accelerating search and recognition workloads with sse 4.2 string and text processing instructions. In: Procs. ISPASS, pp. 145–153 (2011)

    Google Scholar 

  19. Stepanov, A., Gangolli, A., Rose, D., Ernst, R., Oberoi, P.: Simd-based decoding of posting lists. In: Procs. CIKM, pp. 317–326. ACM, New York (2011)

    Google Scholar 

  20. Välimäki, N., Mäkinen, V., Gerlach, W., Dixit, K.: Engineering a compressed suffix tree implementation. ACM JEA 14, 2:4.2–2:4.23 (2010)

    Google Scholar 

  21. Wang, L., Huang, M., Narayana, V.K., El-Ghazawi, T.: Scaling scientific applications on clusters of hybrid multicore/gpu nodes. In: Procs. of ACM CF, pp. 6:1–6:10. ACM Press (2011)

    Google Scholar 

  22. Woods, L.: Fast data analytics with fpgas. In: Procs. of ICDE Workshops, pp. 296–299. IEEE Press (2011)

    Google Scholar 

  23. Zhou, J., Ross, K.A.: Implementing database operations using simd instructions. In: Procs. of SIGMOD, pp. 145–156 (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ladra, S., Pedreira, O., Duato, J., Brisaboa, N.R. (2012). Exploiting SIMD Instructions in Current Processors to Improve Classical String Algorithms. In: Morzy, T., Härder, T., Wrembel, R. (eds) Advances in Databases and Information Systems. ADBIS 2012. Lecture Notes in Computer Science, vol 7503. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33074-2_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33074-2_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33073-5

  • Online ISBN: 978-3-642-33074-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics