Abstract
This paper presents a framework to support the automated exchange of data abstractions in multi-threaded applications, together with an empirical study of their uses in PARSEC. Our framework was able to speedup six of the benchmarks by up to 2x on two platforms.
This research is funded by NSF through award CCF-1261584.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Boost 1.56.0 Library Documentation (2014). http://www.boost.org/doc
Standard C++ Library reference (2014). http://www.cplusplus.com
Barrington, A., Feldman, S.D., Dechev, D.: A scalable multi-producer multi-consumer wait-free ring buffer. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, Spain, 13–17 April 2015, pp. 1321–1328 (2015)
Bienia, C., Li, K.: Parsec 2.0: a new benchmark suite for chip-multiprocessors. In: Proceedings of the 5th Annual Workshop on Modeling, Benchmarking and Simulation, June 2009
Cho, D., Pasricha, S., Issenin, I., Dutt, N., Paek, Y., Ko, S.: Compiler driven data layout optimization for regular/irregular array access patterns. In: Proceedings of the 2008 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2008), Tucson, AZ, USA, 12–13 June 2008, pp. 41–50 (2008)
Cui, H., Yi, Q., Xue, J., Feng, X.: Layout-oblivious compiler optimization for matrix computations. ACM Trans. Archit. Code Optim. 9(4), 35:1–35:20 (2013). https://doi.org/10.1145/2400682.2400694
Dechev, D., LaBorde, P., Feldman, S.D.: LC/DC: lockless containers and data concurrency a novel nonblocking container library for multicore applications. IEEE Access 1, 625–645 (2013)
Feldman, S.D., Bhat, A., LaBorde, P., Yi, Q., Dechev, D.: Effective use of non-blocking data structures in a deduplication application. In: Proceedings of the 2013 Companion Publication for Conference on Systems, Programming, & #38; Applications: Software for Humanity, SPLASH 2013, pp. 133–142. ACM, New York (2013)
Low, J.R.: Automatic data structure selection: an example and overview. Commun. ACM 21(5), 376–385 (1978). https://doi.org/10.1145/359488.359498
Majeti, D., Barik, R., Zhao, J., Grossman, M., Sarkar, V.: Compiler-driven data layout transformation for heterogeneous platforms. In: an Mey, D., et al. (eds.) Euro-Par 2013. LNCS, vol. 8374, pp. 188–197. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54420-0_19
Michael, M.M., Scott, M.L.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, Philadelphia, Pennsylvania, USA, 23–26 May 1996, pp. 267–275 (1996)
Quinlan, D., Schordan, M., Yi, Q., Saebjornsen, A.: Classification and utilization of abstractions for optimization. In: ISOLA 2004: The First International Symposium on Leveraging Applications of Formal Methods, Paphos, Cyprus, October 2004
Reinders, J.: Intel Threading Building Blocks, 1st edn. O’Reilly & Associates, Inc., Sebastopol (2007)
Rubin, S., Bodík, R., Chilimbi, T.M.: An efficient profile-analysis framework for data-layout optimizations. In: Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, OR, USA, 16–18 January 2002, pp. 140–153 (2002)
Tsigas, P., Zhang, Y.: Integrating non-blocking synchronisation in parallel applications: performance advantages and methodologies. In: Workshop on Software and Performance, pp. 55–66 (2002)
Yi, Q.: POET: a scripting language for applying parameterized source-to-source program transformations. Softw. Pract. Exp. 42, 675–706 (2012)
Yi, Q., Quinlan, D.: Applying loop optimizations to object-oriented abstractions through general classification of array semantics. In: LCPC 2004: The 17th International Workshop on Languages and Compilers for Parallel Computing, West Lafayette, Indiana, USA, September 2004
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Zhang, J., Wang, Q., Yi, Q., Cui, H. (2019). Automating the Exchangeability of Shared Data Abstractions. In: Hall, M., Sundar, H. (eds) Languages and Compilers for Parallel Computing. LCPC 2018. Lecture Notes in Computer Science(), vol 11882. Springer, Cham. https://doi.org/10.1007/978-3-030-34627-0_14
Download citation
DOI: https://doi.org/10.1007/978-3-030-34627-0_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-34626-3
Online ISBN: 978-3-030-34627-0
eBook Packages: Computer ScienceComputer Science (R0)