Skip to main content

SIMD-node Transformations for Non-blocking Data Structures

  • Conference paper
  • First Online:

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

Abstract

Non-blocking data structures are commonly used in multi-threaded applications and their implementation is based on the use of atomic operations. New computing architectures have incorporated data-parallel processing through SIMD instructions on integrated GPUs, including in some cases support for atomic SIMD instructions. In this paper, a new framework is proposed, SIMD-node Transformations, to implement non-blocking data structures that exploit parallelism through multi-threaded and SIMD processing. We show how one- and multi-dimensional data structures can embrace SIMD processing by creating new data structures or transforming existing ones. The usefulness of this framework and the performance gains obtained when applying these transformations, is illustrated by means of SIMD-transformed skiplists, k-ary trees and multi-level lists.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   89.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

Learn about institutional subscriptions

References

  1. Feldman, S., Laborde, P., Dechev, D.: A wait-free multi-word compare-and-swap operation. Int. J. Parallel Program. 43(4), 572–596 (2015)

    Article  Google Scholar 

  2. Flynn, M.J.: Very high-speed computing systems. Proc. IEEE 54(12), 1901–1909 (1966)

    Article  Google Scholar 

  3. Fuentes, J.: Towards methods to exploit concurrent data structures on heterogeneous CPU/iGPU processors. Ph.D. thesis, UC Irvine (2019)

    Google Scholar 

  4. Fuentes, J., Chen, W.Y., Lueh, G.Y., Scherson, I.D.: A lock-free skiplist for integrated graphics processing units. In: 2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 36–46. IEEE (2019)

    Google Scholar 

  5. Fuentes, J., Scherson, I.D.: Using integrated processor graphics to accelerate concurrent data and index structures (2018)

    Google Scholar 

  6. Harris, T.L., Fraser, K., Pratt, I.A.: A practical multi-word compare-and-swap operation. In: Malkhi, D. (ed.) DISC 2002. LNCS, vol. 2508, pp. 265–279. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36108-1_18

    Chapter  Google Scholar 

  7. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Burlington (2011)

    Google Scholar 

  8. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(3), 463–492 (1990)

    Article  Google Scholar 

  9. Intel Corporation: C-for-metal compiler (2018). https://github.com/intel/cm-compiler

  10. Junkins, S.: The compute architecture of Intel® Processor Graphics Gen9. Intel whitepaper v1 (2015)

    Google Scholar 

  11. Kim, C., et al.: Fast: fast architecture sensitive tree search on modern CPUs and GPUs. In: Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data, pp. 339–350. ACM (2010)

    Google Scholar 

  12. Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33(6), 668–676 (1990)

    Article  Google Scholar 

  13. Ren, B., Agrawal, G., Larus, J.R., Mytkowicz, T., Poutanen, T., Schulte, W.: SIMD parallelization of applications that traverse irregular data structures. In: Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp. 1–10. IEEE (2013)

    Google Scholar 

  14. Schlegel, B., Gemulla, R., Lehner, W.: K-ary search on modern processors. In: Proceedings of the Fifth International Workshop on Data Management on New Hardware, pp. 52–60. ACM (2009)

    Google Scholar 

  15. Sundell, H., Tsigas, P.: Lock-free and practical doubly linked list-based deques using single-word compare-and-swap. In: Higashino, T. (ed.) OPODIS 2004. LNCS, vol. 3544, pp. 240–255. Springer, Heidelberg (2005). https://doi.org/10.1007/11516798_18

    Chapter  MATH  Google Scholar 

  16. Zeuch, S., Huber, F., Freytag, J.C.: Adapting tree structures for processing with SIMD instructions (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joel Fuentes .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Fuentes, J., Chen, Wy., Lueh, Gy., Garza, A., Scherson, I.D. (2020). SIMD-node Transformations for Non-blocking Data Structures. In: Wyrzykowski, R., Deelman, E., Dongarra, J., Karczewski, K. (eds) Parallel Processing and Applied Mathematics. PPAM 2019. Lecture Notes in Computer Science(), vol 12043. Springer, Cham. https://doi.org/10.1007/978-3-030-43229-4_33

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-43229-4_33

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-43228-7

  • Online ISBN: 978-3-030-43229-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics