skip to main content
10.1145/1352678.1352692acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicdlConference Proceedingsconference-collections
research-article

Transactional memory for smalltalk

Published: 25 August 2007 Publication History

Abstract

Concurrency control in Smalltalk is based on locks and is therefore notoriously difficult to use. Even though some implementations provide high-level constructs, these add complexity and potentially hard-to-detect bugs to the application. Transactional memory is an attractive mechanism that does not have the drawbacks of locks, however the underlying implementation is often difficult to integrate into an existing language. In this paper we show how we have introduced transactional semantics in Smalltalk by using the reflective facilities of the language. Our approach is based on method annotations, incremental parse tree transformations and an optimistic commit protocol. We report on a practical case study, benchmarks and further and on-going work.

References

[1]
Goldberg, A., Robson, D.: Smalltalk 80: the Language and its Implementation. Addison Wesley, Reading, Mass. (May 1983)
[2]
American National Standards Institute, Inc.: Draft American National Standard for Information Systems --- Programming Languages --- Smalltalk. American National Standards Institute (1997)
[3]
Harris, T., Fraser, K.: Language support for lightweight transactions. In: Object-Oriented Programming, Systems, Languages, and Applications. ACM Press, New York, NY, USA (October 2003) 388--402
[4]
Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., Kay, A.: Back to the future: The story of Squeak, A practical Smalltalk written in itself. In: Proceedings OOPSLA '97, ACM SIGPLAN Notices, ACM Press (November 1997) 318--326
[5]
Hansen, P. B.: Monitors and Concurrent Pascal: a personal history. ACM Press, New York, NY, USA (1996)
[6]
Herlihy, M. P.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1) (January 1991) 124--149
[7]
Herlihy, M. P., Moss, J. E. B.: Transactional memory: Architectural support for lock-free data structures. In: Proceedings of the 20. Annual International Symposium on Computer Architecture. (1993)
[8]
Butterworth, P., Otis, A., Stein, J.: The GemStone object database management system. Commun. ACM 34(10) (1991) 64--77
[9]
Guerraoui, R., Garbinato, B., Mazouni, K. R.: The garf library of dsm consistency models. In: EW 6: Proceedings of the 6th workshop on ACM SIGOPS European workshop, New York, NY, USA, ACM Press (1994) 51--56
[10]
Guerraoui, R., Felber, P., Garbinato, B., Mazouni, K.: System support for object groups. In: OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, New York, NY, USA, ACM Press (1998) 244--258
[11]
Briot, J. P.: Actalk: A testbed for classifying and designing actor languages in the Smalltalk-80 environment. In Cook, S., ed.: Proceedings ECOOP '89, Nottingham, Cambridge University Press (July 1989) 109--129
[12]
Hindman, B., Grossman, D.: Atomicity via source-to-source translation. In: MSPC '06: Proceedings of the 2006 workshop on Memory system performance and correctness, New York, NY, USA, ACM Press (2006) 82--91
[13]
Adl-Tabatabai, A. R., Lewis, B. T., Menon, V., Murphy, B. R., Saha, B., Shpeisman, T.: Compiler and runtime support for efficient software transactional memory. In: PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, New York, NY, USA, ACM Press (2006) 26--37
[14]
Röthlisberger, D., Denker, M., Tanter, É.: Unanticipated partial behavioral reflection: Adapting applications at runtime. Journal of Computer Languages, Systems and Structures (2007) To appear.
[15]
Denker, M., Ducasse, S., Lienhard, A., Marschall, P.: Sub-method reflection. Journal of Object Technology 6(9) (September 2007) To appear.
[16]
Lie, S.: Hardware support for unbounded transactional memory. Master's thesis, Massachusetts Institute of Technology (May 2004)
[17]
Moore, K. E., Bobba, J., Moravan, M. J., Hill, M. D., Wood, D. A.: LogTM: Log-based transactional memory. In: Proceedings of the 12th International Symposium on High-Performance Computer Architecture. IEEE Computer Society (February 2006) 254--265
[18]
Lea, D.: Concurrent Programming in Java, Second Edition: Design principles and Patterns. 2nd edn. The Java Series. Addison Wesley (1999)
[19]
Bobba, J., Moore, K. E., Yen, L., Volos, H., Hill, M. D., Swift, M. M., Wood, D. A.: Performance pathologies in hardware transactional memory. In: Proceedings of the 34rd Annual International Symposium on Computer Architecture. International Symposium on Computer Architecture (June 2007)
[20]
Kung, H. T., Robinson, J. T.: On optimistic methods for concurrency control. ACM TODS 6(2) (June 1981)
[21]
Renggli, L.: Magritte -- meta-described web application development. Master's thesis, University of Bern (June 2006)
[22]
Costanza, P., Hirschfeld, R.: Language constructs for context-oriented programming: An overview of ContextL. In: Proceedings of the Dynamic Languages Symposium (DLS) '05, co-organized with OOPSLA'05, New York, NY, USA, ACM Press (October 2005)
[23]
Nierstrasz, O., Denker, M., Gîrba, T., Lienhard, A.: Analyzing, capturing and taming software change. In: Proceedings of the Workshop on Revival of Dynamic Languages (co-located with ECOOP'06). (July 2006)

Cited By

View all
  • (2022)Transactional MemoryundefinedOnline publication date: 5-Mar-2022
  • (2012)Identifying a unifying mechanism for the implementation of concurrency abstractions on multi-language virtual machinesProceedings of the 50th international conference on Objects, Models, Components, Patterns10.1007/978-3-642-30561-0_13(171-186)Online publication date: 29-May-2012
  • (2009)Transactional memory in a dynamic languageComputer Languages, Systems and Structures10.1016/j.cl.2008.06.00135:1(21-30)Online publication date: 1-Apr-2009
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICDL '07: Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
August 2007
254 pages
ISBN:9781605580845
DOI:10.1145/1352678
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 August 2007

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

ICDL '07

Acceptance Rates

ICDL '07 Paper Acceptance Rate 11 of 16 submissions, 69%;
Overall Acceptance Rate 11 of 16 submissions, 69%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Transactional MemoryundefinedOnline publication date: 5-Mar-2022
  • (2012)Identifying a unifying mechanism for the implementation of concurrency abstractions on multi-language virtual machinesProceedings of the 50th international conference on Objects, Models, Components, Patterns10.1007/978-3-642-30561-0_13(171-186)Online publication date: 29-May-2012
  • (2009)Transactional memory in a dynamic languageComputer Languages, Systems and Structures10.1016/j.cl.2008.06.00135:1(21-30)Online publication date: 1-Apr-2009
  • (2008)Change-Enabled Software SystemsSoftware-Intensive Systems and New Computing Paradigms10.1007/978-3-540-89437-7_3(64-79)Online publication date: 14-Nov-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media