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 条
  • [41] ProPS: A Progressively Pessimistic Scheduler for Software Transactional Memory
    Rito, Hugo
    Cachopo, Joao
    EURO-PAR 2014 PARALLEL PROCESSING, 2014, 8632 : 150 - 161
  • [42] Practical Experiences with Java']Java Software Transactional Memory
    Brevnov, Evgueni
    Dolgov, Yuri
    Kuznetsov, Boris
    Yershov, Dmitry
    Shakin, Vyacheslav
    Chen, Dong-Yuan
    Menon, Vijay
    Srinivas, Suresh
    PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, : 287 - 288
  • [43] Hardware Transactional Memory with Software-Defined Conflicts
    Titos-Gil, Ruben
    Acacio, Manuel E.
    Garcia, Jose M.
    Harris, Tim
    Cristal, Adrian
    Unsal, Osman
    Hur, Ibrahim
    Valero, Mateo
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2012, 8 (04)
  • [44] Toward High Performance Nonblocking Software Transactional Memory
    Marathe, Virendra J.
    Moir, Mark
    PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, : 227 - 236
  • [45] Weighted adaptive concurrency control for software transactional memory
    Ansari, Mohammad
    JOURNAL OF SUPERCOMPUTING, 2014, 68 (03) : 1027 - 1047
  • [46] Thread and Data Mapping in Software Transactional Memory: an Overview
    Pasqualin, Douglas Pereira
    Diener, Matthias
    Du Bois, Andre Rauber
    Pilla, Mauricio Lima
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2025, 53 (03)
  • [47] Sharing-Aware Data Mapping in Software Transactional Memory
    Pasqualin, Douglas Pereira
    Diener, Matthias
    Du Bois, Andre Rauber
    Pilla, Mauricio Lima
    EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION, SAMOS 2021, 2022, 13227 : 481 - 492
  • [48] AN EVOLUTIONARY COMPUTATIONAL SYSTEM ARCHITECTURE BASED ON A SOFTWARE TRANSACTIONAL MEMORY
    Kordic, Branisla, V
    Popovic, Marko
    Popovic, Mirosla, V
    Goldstein, Moshe
    Amitay, Moshe
    Da Yan, David
    Fredj, Erick
    REVUE ROUMAINE DES SCIENCES TECHNIQUES-SERIE ELECTROTECHNIQUE ET ENERGETIQUE, 2021, 66 (01): : 47 - 52
  • [49] Remote Transaction Commit: Centralizing Software Transactional Memory Commits
    Hassan, Ahmed
    Palmieri, Roberto
    Ravindran, Binoy
    IEEE TRANSACTIONS ON COMPUTERS, 2016, 65 (07) : 2228 - 2240
  • [50] Asynchronous Lease-Based Replication of Software Transactional Memory
    Carvalho, Nuno
    Romano, Paolo
    Rodrigues, Luis
    MIDDLEWARE 2010, 2010, 6452 : 376 - 396