Context-oriented Software Transactional Memory in Common Lisp

被引:0
|
作者
Costanza, Pascal [1 ]
Herzeel, Charlotte [1 ]
D'Hondt, Theo [1 ]
机构
[1] Vrije Univ Brussel, Software Languages Lab, B-1050 Brussels, Belgium
基金
比利时弗兰德研究基金会;
关键词
Design; Languages; Software transactional memory; framework design; context-oriented programming;
D O I
10.1145/1837513.1640144
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software transactional memory (STM) is a promising approach for coordinating concurrent threads, for which many implementation strategies are currently being researched. Although some first steps exist to ease experimenting with different strategies, this still remains a relatively complex and cumbersome task. The reason is that software transactions require STM-specific dynamic crosscutting adaptations, but this is not accounted for in current STM implementations. This paper presents CSTM, an STM framework based on Context-oriented Prorgamming, in which transactions are modelled as dynamically scoped layer activations. It enables expressing transactional variable accesses as user-defined crosscutting concerns, without requiring invasive changes in the rest of a program. This paper presents a proof-of-concept implementation based on ContextL for Common Lisp, along with example STM strategies and preliminary benchmarks, and introduces some of ContextL's unique features for context-dependent variable accesses.
引用
收藏
页码:59 / 68
页数:10
相关论文
共 50 条
  • [21] Reducing Memory Ordering Overheads in Software Transactional Memory
    Spear, Michael F.
    Michael, Maged M.
    Scott, Michael L.
    Wu, Peng
    CGO 2009: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, PROCEEDINGS, 2009, : 13 - +
  • [22] Points-to Analysis for Context-Oriented Java']JavaScript Programs
    Cardenas, Sergio
    Leger, Paul
    Fukuda, Hiroaki
    Cardozo, Nicolas
    PROCEEDINGS OF THE 25TH ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS, FTFJP 2023, 2023, : 18 - 24
  • [23] Prototype of FPGA Dynamic Reconfiguration based-on Context-Oriented Programming
    Ohkawa, Takeshi
    Tanigawa, Ikuta
    Sato, Mikiko
    Hisazumi, Kenji
    Ogura, Nobuhiko
    Watanabe, Harumi
    2019 IEEE 13TH INTERNATIONAL SYMPOSIUM ON EMBEDDED MULTICORE/MANY-CORE SYSTEMS-ON-CHIP (MCSOC 2019), 2019, : 116 - 122
  • [24] An Extensible Interpreter Framework for Software Transactional Memory
    Herzeel, Charlotte
    Costanza, Pascal
    D'Hondt, Theo
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2010, 16 (02) : 221 - 245
  • [25] One-to-Many: Context-Oriented Code for Concurrent Error Detection
    Keren, Osnat
    JOURNAL OF ELECTRONIC TESTING-THEORY AND APPLICATIONS, 2010, 26 (03): : 337 - 353
  • [26] Concurrency for the Masses: The Paradigm of Software Transactional Memory
    Fatourou, Panagiota
    2017 19TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2017), 2017, : 17 - 22
  • [27] A flexible framework for implementing software transactional memory
    Herlihy, Maurice
    Luchangco, Victor
    Moir, Mark
    ACM SIGPLAN NOTICES, 2006, 41 (10) : 253 - 261
  • [28] Layer Modeling and Its Code Generation based on Context-oriented Programming
    Yamamoto, Chinatsu
    Tanigawa, Ikuta
    Hisazumi, Kenji
    Sato, Mikiko
    Ohkawa, Takeshi
    Ogura, Nobuhiko
    Watanabe, Harumi
    PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD), 2021, : 330 - 336
  • [29] AN EFFICIENT MEMORY MANAGEMENT SCHEME IN SOFTWARE TRANSACTIONAL MEMORY SYSTEM
    Huang Guo-rui
    Zhang Ping
    Liu Xiao-xian
    Xiao Jin-ge
    Wei Guang-bo
    DCABES 2009: THE 8TH INTERNATIONAL SYMPOSIUM ON DISTRIBUTED COMPUTING AND APPLICATIONS TO BUSINESS, ENGINEERING AND SCIENCE, PROCEEDINGS, 2009, : 367 - 371
  • [30] Developing Libraries Using Software Transactional Memory
    Dias, Ricardo
    Lourenco, Joao
    Cunha, Goncalo
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2008, 5 (02) : 103 - 117