Dynamic Optimization for Efficient Strong Atomicity

被引:0
|
作者
Schneider, Florian T. [1 ]
Menon, Vijay [2 ]
Shpeisman, Tatiana [3 ]
Adl-Tabatabai, Ali-Reza [3 ]
机构
[1] ETH, Dept Comp Sci, Zurich, Switzerland
[2] Google, Seattle, WA 98103 USA
[3] Intel Corp, Santa Clara, CA 95054 USA
来源
OOPSLA 2008 NASHVILLE, CONFERENCE PROCEEDINGS: MUSIC CITY USA, OOPSLA | 2008年
关键词
Algorithms; Design; Experimentation; Languages; Measurement; Performance;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Transactional memory (TM) is a promising concurrency control alternative to locks. Recent work [30, 1, 25, 26] has highlighted important memory model issues regarding TM semantics and exposed problems in existing TM implementations. For safe, managed languages such as Java, there is a growing consensus towards strong atomicity semantics as a sound, scalable solution. Strong atomicity has presented a challenge to implement efficiently because it requires instrumentation of non-transactional memory accesses, incurring significant overhead even when a program makes minimal or no use of transactions. To minimize overhead, existing solutions require either a sophisticated type system, specialized hardware, or static whole-program analysis. These techniques do not translate easily into a production setting on existing hardware. In this paper, we present novel dynamic optimizations that significantly reduce strong atomicity overheads and make strong atomicity practical for dynamic language environments. We introduce analyses that optimistically track which non-transactional memory accesses can avoid strong atomicity instrumentation, and we describe a lightweight speculation and recovery mechanism that applies these analyses to generate speculatively-optimized but safe code for strong atomicity in a dynamically-loaded environment. We show how to implement these mechanisms efficiently by leveraging existing dynamic optimization infrastructure in a Java system. Measurements on a set of transactional and non-transactional Java workloads demonstrate that our techniques substantially reduce the overhead of strong atomicity from a factor of 5x down to 10% or less over an efficient weak atomicity baseline.
引用
收藏
页码:181 / +
页数:3
相关论文
共 50 条
  • [1] Dynamic Optimization for Efficient Strong Atomicity
    Schneider, Florian T.
    Menon, Vijay
    Shpeisman, Tatiana
    Adl-Tabatabai, Ali-Reza
    ACM SIGPLAN NOTICES, 2008, 43 (10) : 181 - 193
  • [2] Using Data Structure Knowledge for Efficient Lock Generation and Strong Atomicity
    Upadhyaya, Gautam
    Midkiff, Samuel P.
    Pai, Vijay S.
    ACM SIGPLAN NOTICES, 2010, 45 (05) : 281 - 292
  • [3] Points-To Analysis with Efficient Strong Updates
    Lhotak, Ondrej
    Chung, Kwok-Chiang Andrew
    ACM SIGPLAN NOTICES, 2011, 46 (01) : 3 - 15
  • [4] Transactional Memory with Strong Atomicity Using Off-the-Shelf Memory Protection Hardware
    Abadi, Martin
    Harris, Tim
    Mehrara, Mojtaba
    ACM SIGPLAN NOTICES, 2009, 44 (04) : 185 - 195
  • [5] Velodrome: A sound and complete dynamic atomicity checker for multithreaded programs
    Flanagan, Cormac
    Freund, Stephen N.
    Yi, Jaeheon
    ACM SIGPLAN NOTICES, 2008, 43 (06) : 293 - 303
  • [6] Dynamic Profiling and Fuzzy-Logic-Based Optimization of Sensor Network Platforms
    Lizarraga, Adrian
    Lysecky, Roman
    Lysecky, Susan
    Gordon-Ross, Ann
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2013, 13 (03)
  • [7] Alias Analysis for Optimization of Dynamic Languages
    Gorbovitski, Michael
    Liu, Yanhong A.
    Stoller, Scott D.
    Rothamel, Tom
    Tekle, K. Tuncay
    ACM SIGPLAN NOTICES, 2010, 45 (12) : 27 - 41
  • [8] Efficient dynamic dispatching, with type slicing
    Yossi Gil, Joseph
    Zibin, Yoav
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (01):
  • [9] Efficient dynamic mining of constrained frequent sets
    Lakshmanan, LVS
    Leung, CKS
    Ng, RT
    ACM TRANSACTIONS ON DATABASE SYSTEMS, 2003, 28 (04): : 337 - 389
  • [10] Efficient Code Generation in a Region-Based Dynamic Binary Translator
    Spink, Tom
    Wagstaff, Harry
    Franke, Bjoern
    Topham, Nigel
    ACM SIGPLAN NOTICES, 2014, 49 (05) : 3 - 12