Abstract
The dynamic-single-assignment property for shared data accesses can establish data race freedom and determinism in parallel programs. However, memory management is a well known challenge in making dynamic-single-assignment practical, especially when objects can be accessed through tags that can be computed by any step.
In this paper, we propose a new memory management approach based on user-specified folding functions that map logical dynamic-single -assignment (DSA) tags into dynamic-multiple-assignment (DMA) tags. We also compare folding with get-counts, an approach in which the user specifies a reference count for each single-assignment value. The context for our work is parallel programming models in which shared data accesses are coordinated by put/get operations on tagged DSA data structures. These models include dataflow programs with I-structures, functional subsets of parallel programs based on tuple spaces (notably, Linda), and programs written in the Concurrent Collections (CnC) coordination language. Our conclusion, based on experimental evaluation of five CnC programs, is that folding and get-counts can offer significant memory efficiency improvements, and that folding can handle cases that the get-counts cannot.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Arvind, Nikhil, R.S., Pingali, K.K.: I-structures: data structures for parallel computing. ACM Trans. Program. Lang. Syst. 11 (October 1989)
Boissinot, B., Darte, A., Rastello, F., de Dinechin, B.D., Guillon, C.: Revisiting out-of-ssa translation for correctness, code quality and efficiency. In: CGO 2009, Washington, DC, USA, pp. 114–125 (2009)
Budimlic, Z., Burke, M., Cavè, V., Knobe, K., Lowney, G., Newton, R., Palsberg, J., Peixotto, D., Sarkar, V., Schlimbach, F., Tasirlar, S.: Concurrent collections. Scientific Programming (2010)
Chandramowlishwaran, A., Knobe, K., Vuduc, R.: Performance evaluation of concurrent collections on high-performance multicore systems. In: IPDPS (2010)
Feautrier, P.: Array expansion. In: Proceedings of the 2nd International Conference on Supercomputing, ICS, pp. 429–441. ACM, New York (1988)
Feautrier, P.: Dataflow analysis of array and scalar references. International Journal of Parallel Programming 20(1), 23–51 (1991)
Gelernter, D.: Generative communication in linda. ACM Trans. Program. Lang. Syst. 7, 80–112 (1985)
Georges, A., Buytaert, D., Eeckhout, L.: Statistically rigorous java performance evaluation. In: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications (2007)
Moy, J.: OSPF Version 2. RFC 2178, Obsoleted by RFC 2328 (July 1997)
Oran, D.: Osi is-is intra-domain routing protocol. RFC 1142 (February 1990)
Torczon, L., Cooper, K.: Engineering A Compiler, 2nd edn. Morgan Kaufmann Publishers Inc., San Francisco (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sbîrlea, D., Knobe, K., Sarkar, V. (2012). Folding of Tagged Single Assignment Values for Memory-Efficient Parallelism. In: Kaklamanis, C., Papatheodorou, T., Spirakis, P.G. (eds) Euro-Par 2012 Parallel Processing. Euro-Par 2012. Lecture Notes in Computer Science, vol 7484. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32820-6_60
Download citation
DOI: https://doi.org/10.1007/978-3-642-32820-6_60
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32819-0
Online ISBN: 978-3-642-32820-6
eBook Packages: Computer ScienceComputer Science (R0)