skip to main content
10.1145/1345206.1345242acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

Software transactional memory for large scale clusters

Published: 20 February 2008 Publication History

Abstract

While there has been extensive work on the design of software transactional memory (STM) for cache coherent shared memory systems, there has been no work on the design of an STM system for very large scale platforms containing potentially thousands of nodes. In this work, we present Cluster-STM, an STM designed for high performance on large-scale commodity clusters. Our design addresses several novel issues posed by this domain, including aggregating communication, managing locality, and distributing transactional metadata onto the nodes. We also re-evaluate several STM design choices previously studied for cache-coherent machines and conclude that, in some cases, different choices are appropriate on clusters. Finally, we show that our design scales well up to 512 processors. This is because on a cluster, the main barrier to STM scalability is the remote communication overhead imposed by the STM operations, and our design aggregates most of that communication with the communication of the underlying data.

References

[1]
A.-R. Adl-Tabatabai, B. T. Lewis, V. Menon, B. R. Murphy, B. Saha, and T. Shpeisman. Compiler and runtime support for efficient software transactional memory. In ACM Conf. on Prog. Lang. Design and Implementation (PLDI), pages 26--37, New York, NY, 2006. ACM Press.
[2]
C. Amza, A. L. Cox, S. Dwarkadas, P. Keleher, H. Lu, R. Rajamony, W. Yu, and W. Zwaenepoel. TreadMarks: Shared memory computing on networks of workstations. Computer, 29(2):18--28, 1996.
[3]
D. A. Bader and K. Madduri. Design and implementation of the HPCS graph analysis benchmark on symmetric multiprocessors. Technical report, Georgia Institute of Technology, Atlanta, GA, September 2005.
[4]
P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
[5]
C. Blundell, J. Devietti, E. C. Lewis, and M. M. K. Martin. Making the fast case common and the uncommon case simple in unbounded transactional memory. In Proc. Int'l. Conf. on Comp. Arch. (ISCA), pages 24--34, New York, NY, USA, 2007. ACM Press.
[6]
D. Bonachea. Gasnet specification, v1.1. Technical Report No. UCB/CSD-02-1207, University of California at Berkeley, October 2002.
[7]
B. D. Carlstrom, A. McDonald, H. Chafi, J. Chung, C. C. Minh, C. Kozyrakis, and K. Olukotun. The Atomos transactional programming language. In ACM Conf. on Prog. Lang. Design and Implementation (PLDI), pages 1--13, New York, NY, 2006. ACM Press.
[8]
B. Chamberlain, D. Callahan, and H. Zima. Parallel programmability and the Chapel language. In Int'l. J. High Performance Comp. Applications, volume 21, pages 291--312, Thousand Oaks, CA, USA, 2007. Sage Publications, Inc.
[9]
P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: An object-oriented approach to non-uniform cluster computing. In Proc. ACM SIGPLAN Conf. on Object-Oriented Prog., Systs., Langs., and Applications (OOPSLA), pages 519--538, New York, NY, 2005. ACM Press.
[10]
C. Cole and M. Herlihy. Snapshots and software transactional memory. J. Sci. Comp. Prog., 58(3):310--324, 2005.
[11]
D. Dice and N. Shavit. Understanding tradeoffs in software transactional memory. In Proc. Int'l. Symp. on Code Gen. and Optimization (CGO), pages 21--33, Washington, DC, USA, 2007. IEEE Computer Society.
[12]
T. El-Ghazawi, W. Carlson, T. Sterling, and K. Yelick. UPC: Distributed Shared-Memory Programming. Wiley-Interscience, June 2005.
[13]
K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger. The notions of consistency and predicate locks in a database system. Commun. of the ACM, 19(11):624--633, 1976.
[14]
K. Fraser. Practical lock freedom. PhD thesis, Cambridge University Computer Laboratory, 2003.
[15]
T. Harris and K. Fraser. Language support for lightweight transactions. In Proc. ACM SIGPLAN Conf. on Object-Oriented Prog., Systs., Langs., and Applications (OOPSLA), pages 388--402, New York, NY, 2003. ACM Press.
[16]
T. Harris, M. Plesko, A. Shinnar, and D. Tarditi. Optimizing memory transactions. In ACM Conf. on Prog. Lang. Design and Implementation (PLDI), pages 14--25, New York, NY, 2006. ACM Press.
[17]
M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer III. Software transactional memory for dynamic-sized data structures. In Symp. on Principles of Distrib. Comp., pages 92--101, New York, NY, 2003. ACM Press.
[18]
M. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. Int'l. Conf. on Comp. Arch. (ISCA), pages 289--300, New York, NY, USA, 1993. ACM Press.
[19]
M. Herlihy and Y. Sun. Distributed transactional memory for metric-space networks. In Symp. on Distrib. Comp., volume 3724. Springer, Sept. 2005.
[20]
S. Kumar, M. Chu, C. J. Hughes, P. Kundu, and A. Nguyen. Hybrid transactional memory. In ACM SIGPLAN Symp. on Principles and Practice of Parallel Prog. (PPOPP), pages 209--220, New York, NY, 2006. ACM Press.
[21]
H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM Trans. on Database Systs., 6(2):213--226, 1981.
[22]
K. Manassiev, M. Mihailescu, and C. Amza. Exploiting distributed version concurrency in a transactional memory cluster. In ACM SIGPLAN Symp. on Principles and Practice of Parallel Prog. (PPOPP), pages 198--208, New York, NY, 2006. ACM Press.
[23]
V. J. Marathe, W. N. Scherer, and M. L. Scott. Design tradeoffs in modern software transactional memory systems. In Proc. Workshop on Langs., Compilers, and Run-Time Support for Scalable Systs., pages 1--7, New York, NY, 2004. ACM Press.
[24]
V. J. Marathe, W. N. Scherer III, and M. L. Scott. Adaptive software transactional memory. In Proc. Int'l. Symp. on Distrib. Comp., Cracow, Poland, Sep 2005. Earlier but expanded version available as TR 868, University of Rochester Computer Science Dept., May 2005.
[25]
M. Martin, C. Blundell, and E. Lewis. Subtleties of transactional memory atomicity semantics. IEEE Comp. Arch. Letters, 5(2), 2006.
[26]
C. C. Minh, M. Trautmann, J. Chung, A. McDonald, N. Bronson, J. Casper, C. Kozyrakis, and K. Olukotun. An effective hybrid transactional memory system with strong isolation guarantees. SIGARCH Comput. Archit. News, 35(2):69--80, 2007.
[27]
C. C. Minh, M. Trautmann, J. Chung, A. McDonald, N. Bronson, J. Casper, C. Kozyrakis, and K. Olukotun. An effective hybrid transactional memory system with strong isolation guarantees. In Proc. Int'l. Conf. on Comp. Arch. (ISCA), pages 69--80, New York, NY, USA, 2007. ACM Press.
[28]
R. W. Numerich and J. Reid. Co-array fortran for parallel programming. SIGPLAN Fortran Forum, 17(2):1--31, 1998.
[29]
C. H. Papadimitriou. The serializability of concurrent database updates. J. ACM, 26(4):631--653, 1979.
[30]
R. Rajwar, M. Herlihy, and K. Lai. Virtualizing transactional nemory. In Proc. Int'l. Conf. on Comp. Arch. (ISCA), pages 494--505, Washington, DC, 2005. IEEE Computer Society.
[31]
D. P. Reed. Implementing atomic actions on decentralized data. ACM Trans. on Comp. Systs., 1(1):3--23, 1983.
[32]
B. Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. C. Minh, and B. Hertzberg. McRT-STM: A high performance software transactional memory system for a multi-core runtime. In ACM SIGPLAN Symp. on Principles and Practice of Parallel Prog. (PPOPP), pages 187--197, New York, NY, 2006. ACM Press.
[33]
B. Saha, A.-R. Adl-Tabatabai, and Q. Jacobson. Architectural support for software transactional memory. In Proc. ACM/IEEE Int'l. Symp. on Microarch. (MICRO), pages 185--196, Washington, DC, USA, 2006. IEEE Computer Society.
[34]
N. Shavit and D. Touitou. Software transactional memory. In Symp. on Principles of Distrib. Comp., pages 204--213, New York, NY, 1995. ACM Press.
[35]
T. Shpeisman, V. Menon, A.-R. Adl-Tabatabai, S. Balensiefer, D. Grossman, R. L. Hudson, K. F. Moore, and B. Saha. Enforcing isolation and ordering in STM. ACM Conf. on Prog. Lang. Design and Implementation (PLDI), 42(6):78--88, 2007.
[36]
A. Shriraman, M. F. Spear, H. Hossain, V. J. Marathe, S. Dwarkadas, and M. L. Scott. An integrated hardware-software approach to flexible transactional memory. In Proc. Int'l. Conf. on Comp. Arch. (ISCA), pages 104--115, New York, NY, USA, 2007. ACM Press.
[37]
Sun Microsystems, Inc. The Fortress language specification, version 1.0 β. Technical report, Sun Microsystems, Inc., March 2007.
[38]
K. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. Aiken. Titanium: A high-performance Java dialect. Concurrency -- Practice and Experience, 10(11-13):825--836, Sept-Nov 1998.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '08: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
February 2008
308 pages
ISBN:9781595937957
DOI:10.1145/1345206
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 February 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. clusters
  2. distributed memory architectures
  3. scalability
  4. software transactional memory (stm)

Qualifiers

  • Research-article

Conference

PPoPP08
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)2
Reflects downloads up to 30 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media