Abstract
Transactional programming constructs have been proposed as key elements of advanced parallel programming models. Currently, it is not well understood to what extent such constructs enable efficient parallel program implementations and ease parallel programming beyond what is possible with existing techniques. To help answer these questions, we investigate the technology underlying transactions and compare it to existing parallelization techniques. We also consider the most important parallelizing transformation techniques and look for opportunities to further improve them through transactional constructs or – vice versa – to improve transactions with these transformations. Finally, we evaluate the use of transactions in the SPEC OMP benchmarks.
This work is supported in part by the National Science Foundation under Grants No. 0103582-EIA, and 0429535-CCF.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Adl-Tabatabai, A.-R., et al.: Compiler and Runtime Support for Efficient Software Transactional Memory. In: Proceedings of the Conference on Programming Language Design and Implementation, June, pp. 26–37 (2006)
Aslot, V., et al.: SPEComp: A New Benchmark Suite for Measuring Parallel Computer Performance. In: Eigenmann, R., Voss, M.J. (eds.) WOMPAT 2001. LNCS, vol. 2104, pp. 1–10. Springer, Heidelberg (2001)
Blume, W., et al.: Parallel Programming with Polaris. IEEE Computer, 78–82 (December 1996)
Carlstrom, B.D., et al.: The ATOMOS Transactional Programming Language. In: Proceedings of the Conference on Programming Language Design and Implementation, June, pp. 1–13 (2006)
Dijkstra, E.W.: Co-operating Sequential Processes. In: Genuys, F. (ed.) Programming Languages, pp. 43–112 (1968)
Eigenmann, R., Hoeflinger, J., Padua, D.: On the Automatic Parallelization of the Perfect Benchmarks. IEEE Transactions of Parallel and Distributed Systems 9(1), 5–23 (1998)
Franklin, M.: The Multiscalar Architecture. PhD thesis, University of Wisconsin-Madison (November 1993)
Gopal, S., et al.: Speculative Versioning Cache. In: 4th IEEE Symposium on HPCA, February 1998, pp. 195–205. IEEE Computer Society Press, Los Alamitos (1998)
Hall, M.W., et al.: Maximizing Multiprocessor Performance with the SUIF Compiler. IEEE Computer, 84–89 (December 1996)
Hammond, L., Willey, M., Olukotun, K.: Data Speculation Support for a Chip Multiprocessor. In: Proc. of the 8th International Conference on ASPLOS (1998)
Hansen, P.B.: Operating System Principles. Prentice-Hall, Englewood Cliffs (1973)
Harris, T., et al.: Optimizing Memory Transactions. In: Proceedings of the Conference on Programming Language Design and Implementation, June 2006, pp. 14–25 (2006)
Hummel, J., Hendren, L.J., Nicolau, A.: A general data dependence test for dynamic, pointer-based data structures. In: PLDI ’94: Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, Orlando, Florida, United States, pp. 218–229. ACM Press, New York (1994), doi:10.1145/178243.178262
Johnson, T.A., Eigenmann, R., Vijaykumar, T.N.: Min-Cut Program Decomposition for Thread-Level Speculation. In: Proceedings of the Conference on Programming Language Design and Implementation, June, pp. 59–70 (2004)
Kumar, S., et al.: Hybrid Transactional Memory. In: Proceedings of the Symposium on Principles and Practices of Parallel Programming, pp. 209–220 (2006)
Hammond, L., Nayfeh, B.A., Olukotun, K.: A Single-Chip Multiprocessor. IEEE Computer 30(9), 79–85 (1997)
Min, S.-J., Eigenmann, R.: Combined Compile-time and Runtime-driven Pro-active Data Movement in Software DSM Systems. In: Proc. of Seventh Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers (LCR2004), pp. 1–6 (2004)
Min, S.-J., et al.: Portable Compilers for OpenMP. In: Eigenmann, R., Voss, M.J. (eds.) WOMPAT 2001. LNCS, vol. 2104, pp. 11–19. Springer, Heidelberg (2001)
Moshovos, A., et al.: Dynamic Speculation and Synchronization of Data Dependences. In: Proceedings of the 24th ISCA, June, pp. 181–193 (1997)
OpenMP Architecture Review Board. OpenMP Fortran Application Program Interface (October 1997)
OpenMP Architecture Review Board. OpenMP Application Program Interface (May 2005), http://www.openmp.org/
Peterson, G.L.: Myths about the Mutual Exclusion Problem. Information Processing Letters 12(3), 115–116 (1981)
Rauchwerger, L., Padua, D.: The LRPD test: Speculative run-time parallelization of loops with privatization and reduction parallelization. In: The ACM SIGPLAN ’95 Conference on Programming Language Design and Implementation (PLDI’95), Jun. 1995, pp. 218–232. ACM Press, New York (1995)
Sohi, G.S., Breach, S.E., Vijaykumar, T.N.: Multiscalar processors. In: The 22th International Symposium on Computer Architecture (ISCA-22), June, pp. 414–425 (1995)
Tu, P., Padua, D.: Automatic Array Privatization. In: Banerjee, U., et al. (eds.) Languages and Compilers for Parallel Computing. LNCS, vol. 768, pp. 500–521. Springer, Heidelberg (1994)
Vijaykumar, T.N., Sohi, G.S.: Task Selection for a Multiscalar Processor. In: Proc. of the 31st International Symposium on Microarchitecture, December (1998)
Whaley, J., Lam, M.S.: Cloning-based context-sensitive pointer alias analysis using binary decision diagrams. In: PLDI ’04: Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation, Washington DC, USA, pp. 131–144. ACM Press, New York (2004), doi:10.1145/996841.996859
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Johnson, T.A., Lee, SI., Min, SJ., Eigenmann, R. (2007). Can Transactions Enhance Parallel Programs?. In: Almási, G., Caşcaval, C., Wu, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2006. Lecture Notes in Computer Science, vol 4382. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72521-3_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-72521-3_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72520-6
Online ISBN: 978-3-540-72521-3
eBook Packages: Computer ScienceComputer Science (R0)