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 条
  • [31] Software Transactional Memory for Multicore Embedded Systems
    Mankin, Jennifer
    Kaeli, David
    Ardini, John
    ACM SIGPLAN NOTICES, 2009, 44 (07) : 90 - 98
  • [32] PSTM: Python']Python Software Transactional Memory
    Popovic, Miroslav
    Kordic, Branislav
    2014 22ND TELECOMMUNICATIONS FORUM TELFOR (TELFOR), 2014, : 1106 - 1109
  • [33] Parallelizing Sequential Applications on Commodity Hardware using a Low-cost Software Transactional Memory
    Mehrara, Mojtaba
    Hao, Jeff
    Hsu, Po-Chun
    Mahlke, Scott
    ACM SIGPLAN NOTICES, 2009, 44 (06) : 166 - 176
  • [34] Programming language implementations for context-oriented self-adaptive systems
    Cardozo, Nicolas
    Mens, Kim
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 143
  • [35] Next Generation Context-oriented Programming: Embracing Dynamic Generation of Adaptations
    Cardozo, Nicolas
    Dusparic, Ivana
    JOURNAL OF OBJECT TECHNOLOGY, 2022, 21 (02):
  • [36] Compiler and runtime techniques for software transactional memory optimization
    Wu, Peng
    Michael, Maged M.
    von Praun, Christoph
    Nakalke, Takuya
    Bordawekar, Rajesh
    Cain, Harold W.
    Cascaval, Calin
    Chatterjee, Siddhartha
    Chiras, Stefame
    Hou, Rui
    Mergen, Mark
    Shen, Xiaowei
    Spear, Michael F.
    Wang, Hua Yong
    Wang, Kun
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2009, 21 (01) : 7 - 23
  • [37] Weighted adaptive concurrency control for software transactional memory
    Mohammad Ansari
    The Journal of Supercomputing, 2014, 68 : 1027 - 1047
  • [38] Providing QoS in Contention Management for Software Transactional Memory
    Fahmy, Sherif F.
    Senousy, Zakaria
    Amin, Ahmed F.
    2017 13TH INTERNATIONAL COMPUTER ENGINEERING CONFERENCE (ICENCO), 2017, : 231 - 236
  • [39] Scheduling Transactions in Replicated Distributed Software Transactional Memory
    Kim, Junwhan
    Ravindran, Binoy
    PROCEEDINGS OF THE 2013 13TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID 2013), 2013, : 227 - 234
  • [40] LiTM: A Lightweight Deterministic Software Transactional Memory System
    Xia, Yu
    Yu, Xiangyao
    Moses, William
    Shun, Julian
    Devadas, Srinivas
    PROCEEDINGS OF THE TENTH INTERNATIONAL WORKSHOP ON PROGRAMMING MODELS AND APPLICATIONS FOR MULTICORES AND MANYCORES (PMAM 2019), 2019, : 1 - 10