Reusable Concurrent Data Types

被引:0
|
作者
Gramoli, Vincent [1 ,2 ]
Guerraoui, Rachid [3 ]
机构
[1] NICTA, Sydney, NSW, Australia
[2] Univ Sydney, Sydney, NSW 2006, Australia
[3] Ecole Polytech Fed Lausanne, Lausanne, Switzerland
来源
关键词
ATOMICITY; PARALLELISM;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper contributes to address the fundamental challenge of building Concurrent Data Types (CDT) that are reusable and scalable at the same time. We do so by proposing the abstraction of Polymorphic Transactions (PT): a new programming abstraction that offers different compatible transactions that can run concurrently in the same application. We outline the commonality of the problem in various object-oriented languages and implement PT and a reusable package in Java. With PT, annotating sequential ADTs guarantee novice programmers to obtain an atomic and deadlock-free CDT and let an advanced programmer leverage the application semantics to get higher performance. We compare our polymorphic synchronization against transaction-based, lock-based and lock-free synchronizations on SPARC and x86-64 architectures and we integrate our methodology to a travel reservation benchmark. Although our reusable CDTs are sometimes less efficient than non-composable handcrafted CDTs from the JDK, they outperform all reusable Java CDTs.
引用
收藏
页码:182 / 206
页数:25
相关论文
共 50 条
  • [21] Finding Reusable Data Structures
    Xu, Guoqing
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 1017 - 1033
  • [22] Concurrent Programming with Revisions and Isolation Types
    Burckhardt, Sebastian
    Baldassin, Alexandro
    Leijen, Daan
    ACM SIGPLAN NOTICES, 2010, 45 (10) : 691 - 707
  • [23] Topes: Reusable Abstractions for Validating Data
    Scaffidi, Christopher
    Myers, Brad
    Shaw, Mary
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 1 - 10
  • [24] OPEN AND REUSABLE DATA FOR ASTROMATERIALS SAMPLES
    Lehnert, K.
    Hezel, D.
    Ji, P.
    Mays, J.
    Profeta, L.
    Song, L.
    Morrison, S.
    Figueroa, J. D.
    Johansson, A.
    METEORITICS & PLANETARY SCIENCE, 2021, 56
  • [25] Look beyond the lab for reusable data
    Taylor, Kendrick
    NATURE, 2019, 572 (7767) : 32 - 32
  • [26] Concurrent Data Structures
    Ellen, Faith
    Brown, Trevor
    PROCEEDINGS OF THE 2016 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING (PODC'16), 2016, : 151 - 153
  • [27] CONCURRENT ACCESS TO DATA
    RAMSPERGER, N
    ACTA INFORMATICA, 1977, 8 (04) : 325 - 334
  • [28] DATA IN A CONCURRENT ENVIRONMENT
    ASTESIANO, E
    GIOVINI, A
    REGGIO, G
    LECTURE NOTES IN COMPUTER SCIENCE, 1988, 335 : 140 - 159
  • [29] REUSABLE DATA CARD FOR MULTIFORMAT CAMERA
    LEE, TG
    FORSBERG, F
    RADIOLOGY, 1980, 135 (01) : 235 - 235
  • [30] Reasoning about concurrent systems using types
    Sangiorgi, D
    FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATION STRUCTURES, 1999, 1578 : 31 - 40