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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Feldman, S., Laborde, P., Dechev, D.: A wait-free multi-word compare-and-swap operation. Int. J. Parallel Program. 43(4), 572–596 (2015)
Flynn, M.J.: Very high-speed computing systems. Proc. IEEE 54(12), 1901–1909 (1966)
Fuentes, J.: Towards methods to exploit concurrent data structures on heterogeneous CPU/iGPU processors. Ph.D. thesis, UC Irvine (2019)
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)
Fuentes, J., Scherson, I.D.: Using integrated processor graphics to accelerate concurrent data and index structures (2018)
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
Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Burlington (2011)
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(3), 463–492 (1990)
Intel Corporation: C-for-metal compiler (2018). https://github.com/intel/cm-compiler
Junkins, S.: The compute architecture of Intel® Processor Graphics Gen9. Intel whitepaper v1 (2015)
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)
Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33(6), 668–676 (1990)
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)
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)
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
Zeuch, S., Huber, F., Freytag, J.C.: Adapting tree structures for processing with SIMD instructions (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)