Architectural support for software transactional
memory. In Proceedings of the 39th Annual International
Symposium on Microarchitecture (December): 185-196.
22. Shriraman, A., Spear, M.F., Hossain, H., Marathe,
V.J., Dwarkadas, S., Scott, M.L. 2007. An integrated
hardware-software approach to flexible transactional
memory. In Proceedings of the 34th Annual International
Symposium on Computer Architecture: 104–115.
23. STAMP benchmark suite. 2007. http://stamp.stanford.
edu/.
24. The Lonestar benchmark suite. 2008. http://iss.ices.
utexas.edu/lonestar/.
25. (IBM) XL C/C++ for Transactional Memory for AIX.
2008. www.alphaworks.ibm.com/tech/xlcstm/.
26. See reference 6.
27. See reference 3.
28. Blundell, C., Lewis, C., and Martin, M.M.K. 2006.
Subtleties of transactional memory atomicity semantics. IEEE TCCA Computer Architecture Letters 5( 2).
29. Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan,
G., Bala, K., Chew, P.L. 2007. Optimistic parallelism
requires abstractions. In Proceedings of the PLDI:
211–222.
30. See reference 14.
31. See reference 23.
32. See reference 25.
33. Wu, P., Michael, M.M., von Praun, C., Nakaike, T.,
Bordawekar, R., Cain, H. W., Cascaval, C., Chatterjee,
S., Chiras, S., Hou, R., Mergen, M., Shen, X., Spear,
M.F., Wang, H. Y., Wang, K. 2008. Compiler and runtime techniques for software transactional memory
optimization. To appear in Concurrency and Computation: Practice and Experience.
34. See reference 6.
35. See reference 3.
36. Yoo, R.M., Ni, Y., Welc, A., Saha, B. Adl-Tabatabai,
A-R., Lee, H-H.S. 2008. Kicking the tires of software
transactional memory: why the going gets tough. In
Proceedings of the 20th Annual Symposium on Parallelism
in Algorithms and Architectures.
37. See reference 36.
38. See reference 25.
39. Shpeisman, T., Menon, V., Adl-Tabatabai, A-R., Balen-siefer, S., Grossman, D., Hudson, R., Moore, K.F., Saha,
B. 2007. Enforcing isolation and ordering in STM.
In Proceedings of the Programming Language Design and
Implementation Conference: 78–88.
40. Harris, T., Plesko, M., Shinnar, A., Tarditi, D. 2003.
Optimizing memory transactions. In Proceedings of the
Programming Language Design and Implementation Conference: 388–402.
41. See reference 39.
42. See reference 40.
43. Zhang, R., Budimlić, Z., Scherer III, W.N. 2008. Commit phase in timestamp-based STM. In Proceedings of
the 20th Annual Symposium on Parallelism in Algorithms
and Architectures: 326–335.
44. Shavit, N., Touitou, D. 1995. Software transactional
memory. In Proceedings of the 14th ACM Symposium on
Principles of Distributed Computing: 204–213.
45. See reference 3.
46. See reference 5.
47. See reference 4.
48. See reference 7.
49. Riegel, T., Fetzer, C., Felber, P. 2007. Time-based
transactional memory with scalable time bases. In
Proceedings of the 19th ACM Symposium on Parallelism in
Algorithms and Architectures (June).
50. Olszewski, M., Cutler, J., Steffan, J.G. 2007. JudoSTM:
A dynamic binary-rewriting approach to software
transactional memory. In Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques: 365-375.
51. Spears, M. T., Michael, M.M., von Praum, C. 2008.
RingSTM: Scalable transactions with a single atomic
instruction. In Proceedings of the 20th ACM Symposium
on Parallelism in Algorithms and Architectures: 275-284.
52. Felber, P., Fetzer, C., Mueller, U., Riegel, T., Suesskraut,
M., Sturzrehm, H. 2007. Transactifying applications
using an open compiler framework. In Proceedings of
the ACM SIGPLAN Workshop on Transactional Computing (August).
53. See reference 50.
54. Wang, C. Chein, W-Y, Wu, Y., Saha, B., Adl-Tabatabai,
A.R. 2007. Code generation and optimization for
transactional memory constructs in an unmanaged
language. In Proceedings of International Symposium on
Code Generation and Optimization: 34-48.
55. See reference 36.
56. See reference 6.
57. See reference 8.
LOVE IT, HATE IT? LET US KNOW
feedback@acmqueue.com or www.acmqueue.com/forums
CĂLIN CAŞCAVAL is a research staff member and manager of the Programming Models and Tools for Scalable
Systems at IBM’s T.J. Watson Research Center, where he has
worked on several large-scale parallel computer projects. He