SIMD-node Transformations for Non-blocking Data Structures

  • Joel FuentesEmail author
  • Wei-yu Chen
  • Guei-yuan Lueh
  • Arturo Garza
  • Isaac D. Scherson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12043)


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.


Non-blocking Data structures SIMD 


  1. 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)CrossRefGoogle Scholar
  2. 2.
    Flynn, M.J.: Very high-speed computing systems. Proc. IEEE 54(12), 1901–1909 (1966)CrossRefGoogle Scholar
  3. 3.
    Fuentes, J.: Towards methods to exploit concurrent data structures on heterogeneous CPU/iGPU processors. Ph.D. thesis, UC Irvine (2019)Google Scholar
  4. 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. 5.
    Fuentes, J., Scherson, I.D.: Using integrated processor graphics to accelerate concurrent data and index structures (2018)Google Scholar
  6. 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). Scholar
  7. 7.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Burlington (2011)Google Scholar
  8. 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)CrossRefGoogle Scholar
  9. 9.
    Intel Corporation: C-for-metal compiler (2018).
  10. 10.
    Junkins, S.: The compute architecture of Intel® Processor Graphics Gen9. Intel whitepaper v1 (2015)Google Scholar
  11. 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. 12.
    Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33(6), 668–676 (1990)CrossRefGoogle Scholar
  13. 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. 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. 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). Scholar
  16. 16.
    Zeuch, S., Huber, F., Freytag, J.C.: Adapting tree structures for processing with SIMD instructions (2014)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Joel Fuentes
    • 1
    Email author
  • Wei-yu Chen
    • 3
  • Guei-yuan Lueh
    • 3
  • Arturo Garza
    • 2
  • Isaac D. Scherson
    • 2
  1. 1.Department of Computer Science and Information TechnologiesUniversidad del Bío-BíoChillánChile
  2. 2.Department of Computer ScienceUniversity of CaliforniaIrvineUSA
  3. 3.Intel CorporationSanta ClaraUSA

Personalised recommendations