Work Report: Lessons learned on RTM

Size: px
Start display at page:

Download "Work Report: Lessons learned on RTM"

Transcription

1 Work Report: Lessons learned on RTM Sylvain Genevès IPADS September 5, 2013 Sylvain Genevès Transactionnal Memory in commodity hardware 1 / 25

2 Topic Context Intel launches Restricted Transactional Memory (RTM) on commodity architecture Focused on: Try to characterize RTM Which tools could ease the use of RTM? Sylvain Genevès Transactionnal Memory in commodity hardware 2 / 25

3 Restricted Transactionnal Memory Goals: Best-effort mechanism to improve fast-paths Simple interface to define critical sections Intel RTM API (Intel [2013]): XBEGIN XEND XABORT XTEST Programmer needs to provide fallback handler Lifecycle: Critical sections are executed optimistically Check for conflicts using cache coherency protocol Commited to global memory only upon validation Aborted and Rollbacked otherwise Sylvain Genevès Transactionnal Memory in commodity hardware 3 / 25

4 Our Objectives Main questions How to characterize RTM? Impact of RTM on applications? How to precisely pinpoint data conflict? Provide tools to characterize and profile RTM We first discover implementation-dependent RTM features Study RTM behavior on standard applications Provide facilities to help profile and debug RTM applications Sylvain Genevès Transactionnal Memory in commodity hardware 4 / 25

5 Outline 1 Part 1: Characteristics 2 Part 2: STAMP-RTM 3 Part 3: Profiling RTM conflicts 4 Conclusions Sylvain Genevès Transactionnal Memory in commodity hardware 5 / 25

6 Interactions between RTM and non-rtm code Strong atomicity Non-RTM code can conflict with RTM (when they access the same data) Thread 1 Thread 2 no TSX TSX R/W Abort Time Running Sylvain Genevès Transactionnal Memory in commodity hardware 6 / 25

7 RTM capacity Read/write sets Determines max TX working set Write set tracked in L1 cache Private Bloom filter structure to track read set Write set size is L1 cache capacity (32KB) Read set size 10 * write set size Sylvain Genevès Transactionnal Memory in commodity hardware 7 / 25

8 Read/Write sets competition RTM and HyperThreading Read and Write sets are tracked per core L1 cache is shared among hardware threads Sylvain Genevès Transactionnal Memory in commodity hardware 8 / 25

9 Other characteristics Nesting transactions RTM allows simple nesting (max depth=7 on Haswell) Only the outermost transaction aborts or commits Illegal instructions in RTM (syscalls, debug, ring transitions,...) Most interrupts trigger RTM aborts RTM is a best-effort mechanism Sylvain Genevès Transactionnal Memory in commodity hardware 9 / 25

10 Outline 1 Part 1: Characteristics 2 Part 2: STAMP-RTM STAMP Introduction Evaluation 3 Part 3: Profiling RTM conflicts 4 Conclusions Sylvain Genevès Transactionnal Memory in commodity hardware 10 / 25

11 Outline 1 Part 1: Characteristics 2 Part 2: STAMP-RTM STAMP Introduction Evaluation 3 Part 3: Profiling RTM conflicts 4 Conclusions Sylvain Genevès Transactionnal Memory in commodity hardware 11 / 25

12 STAMP benchmark suite (Cao Minh et al. [2008]) 8 different applications: Bayes (machine learning) Genome (bioinformatics) Intruder (security) Vacation (online processing) Kmeans (data mining) Labyrinth (engineering) Ssca2 (scientific) Yada (scientific) All of them use transactionnal memory Sylvain Genevès Transactionnal Memory in commodity hardware 12 / 25

13 Work done Added support for RTM in STAMP Only modified the transaction layer, not the applications Policy: Each transaction tries RTM twice, then fallback Mutex-protected fallback handler Put the lock in the RTM read set Gather abort statistics Sylvain Genevès Transactionnal Memory in commodity hardware 13 / 25

14 Outline 1 Part 1: Characteristics 2 Part 2: STAMP-RTM STAMP Introduction Evaluation 3 Part 3: Profiling RTM conflicts 4 Conclusions Sylvain Genevès Transactionnal Memory in commodity hardware 14 / 25

15 STAMP-RTM Speedup 5.00 Speedup of STAMP-RTM 4.00 Speedup bayes genome intruder kmeans (low) kmeans (high) labyrinth ssca2 vacation (low) vacation (high) yada number of threads Sylvain Genevès Transactionnal Memory in commodity hardware 15 / 25

16 Performances Only 2 applications scale: Kmeans ans Ssca2 8 threads uses HyperThreading, does not allow linear scaling with RTM Labyrinth Uses only 1 thread, regardless of its arguments (Most likely a bug) Sylvain Genevès Transactionnal Memory in commodity hardware 16 / 25

17 Performance analysis Negative scaling Yada, vacation and genome perform best at 1 core Intruder and Bayes perform best at 2 cores Main issue: contention on the fallback lock Abort rate for those applications is very high: from 40% to 80% (at 8 threads) First source of abort is conflict aborts Followed by capacity aborts Aborts due to interrupts are relatively low Sylvain Genevès Transactionnal Memory in commodity hardware 17 / 25

18 Outline 1 Part 1: Characteristics 2 Part 2: STAMP-RTM 3 Part 3: Profiling RTM conflicts 4 Conclusions Sylvain Genevès Transactionnal Memory in commodity hardware 18 / 25

19 Aborts decrease performance Conflicts will cause aborts Conflict cause is hard to determine Transactionnal rollback doesn t help To understand conflict abort cause One needs: Killer IP (not necessarily inside RTM) Killed IP Data accessed We intend to provide those using Intel PEBS a and DataLA b facilities a Precise Event-Based Sampling b Data Linear Address Sylvain Genevès Transactionnal Memory in commodity hardware 19 / 25

20 Detecting sharing Existing tools don t provide enough information PEBS on RTM abort provides: Instruction Pointer (can be unprecise if abort is asynchronous) Abort reason (conflict, capacity,...) Pinpointing a whole transaction is not precise enough Sylvain Genevès Transactionnal Memory in commodity hardware 20 / 25

21 Detecting sharing By monitoring cache coherency MEM LOAD UOPS L3 HIT RETIRED.XSNP HITM Retired load uops which data sources were HitM responses from shared L3 Unexpectedly has some TSX information! (undocumented feature) IP (inside and outside of RTM) Address of accessed data We monitor both Cache Coherency and Abort events simultaneously Our tool: Get the maximum information we can Bypass Perf s standard ouput (perf report) Use the raw PEBS record (provided by Andy Kleen s pmu-tools) Parse&compile the results (KillerIP, KilledIP, Data, AbortInfo) Sylvain Genevès Transactionnal Memory in commodity hardware 21 / 25

22 Outline 1 Part 1: Characteristics 2 Part 2: STAMP-RTM 3 Part 3: Profiling RTM conflicts 4 Conclusions Sylvain Genevès Transactionnal Memory in commodity hardware 22 / 25

23 Summary HTM goes mainstream RTM is now present on commodity hardware We studied several aspects of RTM: RTM implementation-dependent features Performance evaluation on STAMP-RTM Profile conflict abort causes Sylvain Genevès Transactionnal Memory in commodity hardware 23 / 25

24 Future Work Possible uses of RTM Performance: transacionnal data structures In security: detect malicious memory access Watchpoints facility Dynamic Alias analysis Race detection Record/Replay framework... Sylvain Genevès Transactionnal Memory in commodity hardware 24 / 25

25 Thanks for your attention! Sylvain Genevès Transactionnal Memory in commodity hardware 25 / 25

26 Backup slides Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, and Kunle Olukotun. STAMP: Stanford transactional applications for multi-processing. In IISWC 08: Proceedings of The IEEE International Symposium on Workload Characterization, September Intel. Intel 64 and ia-32 architectures software developer s manual, http: //download.intel.com/products/processor/manual/ pdf. Sylvain Genevès Transactionnal Memory in commodity hardware

Chí Cao Minh 28 May 2008

Chí Cao Minh 28 May 2008 Chí Cao Minh 28 May 2008 Uniprocessor systems hitting limits Design complexity overwhelming Power consumption increasing dramatically Instruction-level parallelism exhausted Solution is multiprocessor

More information

SELF-TUNING HTM. Paolo Romano

SELF-TUNING HTM. Paolo Romano SELF-TUNING HTM Paolo Romano 2 Based on ICAC 14 paper N. Diegues and Paolo Romano Self-Tuning Intel Transactional Synchronization Extensions 11 th USENIX International Conference on Autonomic Computing

More information

Eliminating Global Interpreter Locks in Ruby through Hardware Transactional Memory

Eliminating Global Interpreter Locks in Ruby through Hardware Transactional Memory Eliminating Global Interpreter Locks in Ruby through Hardware Transactional Memory Rei Odaira, Jose G. Castanos and Hisanobu Tomari IBM Research and University of Tokyo April 8, 2014 Rei Odaira, Jose G.

More information

Performance Evaluation of Intel Transactional Synchronization Extensions for High-Performance Computing

Performance Evaluation of Intel Transactional Synchronization Extensions for High-Performance Computing Performance Evaluation of Intel Transactional Synchronization Extensions for High-Performance Computing Richard Yoo, Christopher Hughes: Intel Labs Konrad Lai, Ravi Rajwar: Intel Architecture Group Agenda

More information

Performance Evaluation of Adaptivity in STM. Mathias Payer and Thomas R. Gross Department of Computer Science, ETH Zürich

Performance Evaluation of Adaptivity in STM. Mathias Payer and Thomas R. Gross Department of Computer Science, ETH Zürich Performance Evaluation of Adaptivity in STM Mathias Payer and Thomas R. Gross Department of Computer Science, ETH Zürich Motivation STM systems rely on many assumptions Often contradicting for different

More information

Evaluating the Impact of Transactional Characteristics on the Performance of Transactional Memory Applications

Evaluating the Impact of Transactional Characteristics on the Performance of Transactional Memory Applications Evaluating the Impact of Transactional Characteristics on the Performance of Transactional Memory Applications Fernando Rui, Márcio Castro, Dalvan Griebler, Luiz Gustavo Fernandes Email: fernando.rui@acad.pucrs.br,

More information

Tradeoffs in Transactional Memory Virtualization

Tradeoffs in Transactional Memory Virtualization Tradeoffs in Transactional Memory Virtualization JaeWoong Chung Chi Cao Minh, Austen McDonald, Travis Skare, Hassan Chafi,, Brian D. Carlstrom, Christos Kozyrakis, Kunle Olukotun Computer Systems Lab Stanford

More information

Invyswell: A HyTM for Haswell RTM. Irina Calciu, Justin Gottschlich, Tatiana Shpeisman, Gilles Pokam, Maurice Herlihy

Invyswell: A HyTM for Haswell RTM. Irina Calciu, Justin Gottschlich, Tatiana Shpeisman, Gilles Pokam, Maurice Herlihy Invyswell: A HyTM for Haswell RTM Irina Calciu, Justin Gottschlich, Tatiana Shpeisman, Gilles Pokam, Maurice Herlihy Multicore Performance Scaling u Problem: Locking u Solution: HTM? u IBM BG/Q, zec12,

More information

Parallelizing SPECjbb2000 with Transactional Memory

Parallelizing SPECjbb2000 with Transactional Memory Parallelizing SPECjbb2000 with Transactional Memory JaeWoong Chung, Chi Cao Minh,, Brian D. Carlstrom, Christos Kozyrakis Picture comes here Computer Systems Lab Stanford University http://tcc.stanford.edu

More information

Implementing Transactional Memory in Kernel space

Implementing Transactional Memory in Kernel space Implementing Transactional Memory in Kernel space Breno Leitão Linux Technology Center leitao@debian.org leitao@freebsd.org Problem Statement Mutual exclusion concurrency control (Lock) Locks type: Semaphore

More information

Performance Improvement via Always-Abort HTM

Performance Improvement via Always-Abort HTM 1 Performance Improvement via Always-Abort HTM Joseph Izraelevitz* Lingxiang Xiang Michael L. Scott* *Department of Computer Science University of Rochester {jhi1,scott}@cs.rochester.edu Parallel Computing

More information

Intel Transactional Synchronization Extensions (Intel TSX) Linux update. Andi Kleen Intel OTC. Linux Plumbers Sep 2013

Intel Transactional Synchronization Extensions (Intel TSX) Linux update. Andi Kleen Intel OTC. Linux Plumbers Sep 2013 Intel Transactional Synchronization Extensions (Intel TSX) Linux update Andi Kleen Intel OTC Linux Plumbers Sep 2013 Elision Elision : the act or an instance of omitting something : omission On blocking

More information

Enhancing Real-Time Behaviour of Parallel Applications using Intel TSX

Enhancing Real-Time Behaviour of Parallel Applications using Intel TSX Enhancing Real-Time Behaviour of Parallel Applications using Intel TSX Florian Haas, Stefan Metzlaff, Sebastian Weis, and Theo Ungerer Department of Computer Science, University of Augsburg, Germany January

More information

Hardware Transactional Memory on Haswell

Hardware Transactional Memory on Haswell Hardware Transactional Memory on Haswell Viktor Leis Technische Universität München 1 / 15 Introduction transactional memory is a very elegant programming model transaction { transaction { a = a 10; c

More information

The Common Case Transactional Behavior of Multithreaded Programs

The Common Case Transactional Behavior of Multithreaded Programs The Common Case Transactional Behavior of Multithreaded Programs JaeWoong Chung Hassan Chafi,, Chi Cao Minh, Austen McDonald, Brian D. Carlstrom, Christos Kozyrakis, Kunle Olukotun Computer Systems Lab

More information

Transactional Memory. How to do multiple things at once. Benjamin Engel Transactional Memory 1 / 28

Transactional Memory. How to do multiple things at once. Benjamin Engel Transactional Memory 1 / 28 Transactional Memory or How to do multiple things at once Benjamin Engel Transactional Memory 1 / 28 Transactional Memory: Architectural Support for Lock-Free Data Structures M. Herlihy, J. Eliot, and

More information

Mutex Locking versus Hardware Transactional Memory: An Experimental Evaluation

Mutex Locking versus Hardware Transactional Memory: An Experimental Evaluation Mutex Locking versus Hardware Transactional Memory: An Experimental Evaluation Thesis Defense Master of Science Sean Moore Advisor: Binoy Ravindran Systems Software Research Group Virginia Tech Multiprocessing

More information

A Concurrent Skip List Implementation with RTM and HLE

A Concurrent Skip List Implementation with RTM and HLE A Concurrent Skip List Implementation with RTM and HLE Fan Gao May 14, 2014 1 Background Semester Performed: Spring, 2014 Instructor: Maurice Herlihy The main idea of my project is to implement a skip

More information

Thread-Level Speculation on Off-the-Shelf Hardware Transactional Memory

Thread-Level Speculation on Off-the-Shelf Hardware Transactional Memory Thread-Level Speculation on Off-the-Shelf Hardware Transactional Memory Rei Odaira Takuya Nakaike IBM Research Tokyo Thread-Level Speculation (TLS) [Franklin et al., 92] or Speculative Multithreading (SpMT)

More information

Evaluating Contention Management Using Discrete Event Simulation

Evaluating Contention Management Using Discrete Event Simulation Evaluating Contention Management Using Discrete Event Simulation Brian Demsky Alokika Dash Department of Electrical Engineering and Computer Science University of California, Irvine Irvine, CA 92697 {bdemsky,adash}@uci.edu

More information

Opportunities and pitfalls of multi-core scaling using Hardware Transaction Memory

Opportunities and pitfalls of multi-core scaling using Hardware Transaction Memory Opportunities and pitfalls of multi-core scaling using Hardware Transaction Memory Zhaoguo Wang, Hao Qian, Haibo Chen, Jinyang Li School of Computer Science, Fudan University Institute of Parallel and

More information

VMM Emulation of Intel Hardware Transactional Memory

VMM Emulation of Intel Hardware Transactional Memory VMM Emulation of Intel Hardware Transactional Memory Maciej Swiech, Kyle Hale, Peter Dinda Northwestern University V3VEE Project www.v3vee.org Hobbes Project 1 What will we talk about? We added the capability

More information

EigenBench: A Simple Exploration Tool for Orthogonal TM Characteristics

EigenBench: A Simple Exploration Tool for Orthogonal TM Characteristics EigenBench: A Simple Exploration Tool for Orthogonal TM Characteristics Pervasive Parallelism Laboratory, Stanford University Sungpack Hong Tayo Oguntebi Jared Casper Nathan Bronson Christos Kozyrakis

More information

DESIGNING AN EFFECTIVE HYBRID TRANSACTIONAL MEMORY SYSTEM

DESIGNING AN EFFECTIVE HYBRID TRANSACTIONAL MEMORY SYSTEM DESIGNING AN EFFECTIVE HYBRID TRANSACTIONAL MEMORY SYSTEM A DISSERTATION SUBMITTED TO THE DEPARTMENT OF ELECTRICAL ENGINEERING AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT

More information

EazyHTM: Eager-Lazy Hardware Transactional Memory

EazyHTM: Eager-Lazy Hardware Transactional Memory EazyHTM: Eager-Lazy Hardware Transactional Memory Saša Tomić, Cristian Perfumo, Chinmay Kulkarni, Adrià Armejach, Adrián Cristal, Osman Unsal, Tim Harris, Mateo Valero Barcelona Supercomputing Center,

More information

Efficient Hybrid Transactional Memory Scheme using Near-optimal Retry Computation and Sophisticated Memory Management in Multi-core Environment

Efficient Hybrid Transactional Memory Scheme using Near-optimal Retry Computation and Sophisticated Memory Management in Multi-core Environment J Inf Process Syst, Vol.14, No.2, pp.499~509, April 2018 https://doi.org/10.3745/jips.01.0026 ISSN 1976-913X (Print) ISSN 2092-805X (Electronic) Efficient Hybrid Transactional Memory Scheme using Near-optimal

More information

The Implications of Shared Data Synchronization Techniques on Multi-Core Energy Efficiency

The Implications of Shared Data Synchronization Techniques on Multi-Core Energy Efficiency The Implications of Shared Data Synchronization Techniques on Multi-Core Energy Efficiency Ashok Gautham 1, Kunal Korgaonkar 1,2, Patanjali SLPSK 1, Shankar Balachandran 1, and Kamakoti Veezhinathan 1

More information

Transactional Memory. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit

Transactional Memory. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Transactional Memory Companion slides for The by Maurice Herlihy & Nir Shavit Our Vision for the Future In this course, we covered. Best practices New and clever ideas And common-sense observations. 2

More information

arxiv: v1 [cs.dc] 13 Aug 2013

arxiv: v1 [cs.dc] 13 Aug 2013 Opacity of Memory Management in Software Transactional Memory Holger Machens and Volker Turau Institute of Telematics Hamburg University of Technology {machens,turau}@tuhh.de http://www.ti5.tuhh.de arxiv:1308.2881v1

More information

Hardware Transactional Memory. Daniel Schwartz-Narbonne

Hardware Transactional Memory. Daniel Schwartz-Narbonne Hardware Transactional Memory Daniel Schwartz-Narbonne Hardware Transactional Memories Hybrid Transactional Memories Case Study: Sun Rock Clever ways to use TM Recap: Parallel Programming 1. Find independent

More information

Parallelizing SPECjbb2000 with Transactional Memory

Parallelizing SPECjbb2000 with Transactional Memory Parallelizing SPECjbb2000 with Transactional Memory JaeWoong Chung, Chi Cao Minh, Brian D. Carlstrom, Christos Kozyrakis Computer Systems Laboratory Stanford University {jwchung, caominh, bdc, kozyraki}@stanford.edu

More information

bool Account::withdraw(int val) { atomic { if(balance > val) { balance = balance val; return true; } else return false; } }

bool Account::withdraw(int val) { atomic { if(balance > val) { balance = balance val; return true; } else return false; } } Transac'onal Memory Acknowledgement: Slides in part adopted from: 1. a talk on Intel TSX from Intel Developer's Forum in 2012 2. the companion slides for the book "The Art of Mul'processor Programming"

More information

Lecture 20: Transactional Memory. Parallel Computer Architecture and Programming CMU , Spring 2013

Lecture 20: Transactional Memory. Parallel Computer Architecture and Programming CMU , Spring 2013 Lecture 20: Transactional Memory Parallel Computer Architecture and Programming Slide credit Many of the slides in today s talk are borrowed from Professor Christos Kozyrakis (Stanford University) Raising

More information

Managing Resource Limitation of Best-Effort HTM

Managing Resource Limitation of Best-Effort HTM Managing Resource Limitation of Best-Effort HTM Mohamed Mohamedin, Roberto Palmieri, Ahmed Hassan, Binoy Ravindran Abstract The first release of hardware transactional memory (HTM) as commodity processor

More information

Dependence-Aware Transactional Memory for Increased Concurrency. Hany E. Ramadan, Christopher J. Rossbach, Emmett Witchel University of Texas, Austin

Dependence-Aware Transactional Memory for Increased Concurrency. Hany E. Ramadan, Christopher J. Rossbach, Emmett Witchel University of Texas, Austin Dependence-Aware Transactional Memory for Increased Concurrency Hany E. Ramadan, Christopher J. Rossbach, Emmett Witchel University of Texas, Austin Concurrency Conundrum Challenge: CMP ubiquity Parallel

More information

Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory

Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory Alexander Matveev MIT amatveev@csail.mit.edu Nir Shavit MIT shanir@csail.mit.edu Abstract Because of hardware TM limitations, software

More information

DBT Tool. DBT Framework

DBT Tool. DBT Framework Thread-Safe Dynamic Binary Translation using Transactional Memory JaeWoong Chung,, Michael Dalton, Hari Kannan, Christos Kozyrakis Computer Systems Laboratory Stanford University http://csl.stanford.edu

More information

FlexTM. Flexible Decoupled Transactional Memory Support. Arrvindh Shriraman Sandhya Dwarkadas Michael L. Scott Department of Computer Science

FlexTM. Flexible Decoupled Transactional Memory Support. Arrvindh Shriraman Sandhya Dwarkadas Michael L. Scott Department of Computer Science FlexTM Flexible Decoupled Transactional Memory Support Arrvindh Shriraman Sandhya Dwarkadas Michael L. Scott Department of Computer Science 1 Transactions: Our Goal Lazy Txs (i.e., optimistic conflict

More information

An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees

An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees Chi Cao Minh, Martin Trautmann, JaeWoong Chung, Austen McDonald, Nathan Bronson, Jared Casper, Christos Kozyrakis, Kunle

More information

Insights into the Fallback Path of Best-Effort Hardware Transactional Memory Systems

Insights into the Fallback Path of Best-Effort Hardware Transactional Memory Systems Insights into the Fallback Path of Best-Effort Hardware Transactional Memory Systems Ricardo Quislant, Eladio Gutierrez, Emilio L. Zapata, and Oscar Plata Department of Computer Architecture, University

More information

Yuxi Chen, Shu Wang, Shan Lu, and Karthikeyan Sankaralingam *

Yuxi Chen, Shu Wang, Shan Lu, and Karthikeyan Sankaralingam * Yuxi Chen, Shu Wang, Shan Lu, and Karthikeyan Sankaralingam * * 2 q Synchronization mistakes in multithreaded programs Thread 1 Thread 2 If(ptr){ tmp = *ptr; ptr = NULL; } Segfault q Common q Hard to diagnose

More information

ATLAS: A Chip-Multiprocessor. with Transactional Memory Support

ATLAS: A Chip-Multiprocessor. with Transactional Memory Support ATLAS: A Chip-Multiprocessor with Transactional Memory Support Njuguna Njoroge, Jared Casper, Sewook Wee, Yuriy Teslyar, Daxia Ge, Christos Kozyrakis, and Kunle Olukotun Transactional Coherence and Consistency

More information

Summer Research Report Benchmarks on the VSoC Simulator

Summer Research Report Benchmarks on the VSoC Simulator Summer Research Report Benchmarks on the VSoC Simulator August, 2013 Advised by: Tali Moreshet Callen Rain & Peng Zhao 1 Contents 1 VSoC 3 1.1 Installation..............................................

More information

Implementing and Evaluating Nested Parallel Transactions in STM. Woongki Baek, Nathan Bronson, Christos Kozyrakis, Kunle Olukotun Stanford University

Implementing and Evaluating Nested Parallel Transactions in STM. Woongki Baek, Nathan Bronson, Christos Kozyrakis, Kunle Olukotun Stanford University Implementing and Evaluating Nested Parallel Transactions in STM Woongki Baek, Nathan Bronson, Christos Kozyrakis, Kunle Olukotun Stanford University Introduction // Parallelize the outer loop for(i=0;i

More information

Partition-Based Hardware Transactional Memory for Many-Core Processors

Partition-Based Hardware Transactional Memory for Many-Core Processors Partition-Based Hardware Transactional Memory for Many-Core Processors Yi Liu 1, Xinwei Zhang 1, Yonghui Wang 1, Depei Qian 1, Yali Chen 2, and Jin Wu 2 1 Sino-German Joint Software Institute, Beihang

More information

Transactional Memory. Lecture 19: Parallel Computer Architecture and Programming CMU /15-618, Spring 2015

Transactional Memory. Lecture 19: Parallel Computer Architecture and Programming CMU /15-618, Spring 2015 Lecture 19: Transactional Memory Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2015 Credit: many of the slides in today s talk are borrowed from Professor Christos Kozyrakis

More information

ABORTING CONFLICTING TRANSACTIONS IN AN STM

ABORTING CONFLICTING TRANSACTIONS IN AN STM Committing ABORTING CONFLICTING TRANSACTIONS IN AN STM PPOPP 09 2/17/2009 Hany Ramadan, Indrajit Roy, Emmett Witchel University of Texas at Austin Maurice Herlihy Brown University TM AND ITS DISCONTENTS

More information

Performance Improvement via Always-Abort HTM

Performance Improvement via Always-Abort HTM 1 Performance Improvement via Always-Abort HTM Joseph Izraelevitz* Lingxiang Xiang Michael L. Scott* *Department of Computer Science University of Rochester {jhi1,scott}@cs.rochester.edu Parallel Computing

More information

System Challenges and Opportunities for Transactional Memory

System Challenges and Opportunities for Transactional Memory System Challenges and Opportunities for Transactional Memory JaeWoong Chung Computer System Lab Stanford University My thesis is about Computer system design that help leveraging hardware parallelism Transactional

More information

Understanding Hardware Transactional Memory

Understanding Hardware Transactional Memory Understanding Hardware Transactional Memory Gil Tene, CTO & co-founder, Azul Systems @giltene 2015 Azul Systems, Inc. Agenda Brief introduction What is Hardware Transactional Memory (HTM)? Cache coherence

More information

HTM in the wild. Konrad Lai June 2015

HTM in the wild. Konrad Lai June 2015 HTM in the wild Konrad Lai June 2015 Industrial Considerations for HTM Provide a clear benefit to customers Improve performance & scalability Ease programmability going forward Improve something common

More information

Early Foundations of a Transactional Boosting Library for Scala and Java

Early Foundations of a Transactional Boosting Library for Scala and Java Early Foundations of a Transactional Boosting Library for Scala and Java A Masters Project Report Authored by Marquita Ellis Supervised by Maurice Herlihy Conducted at Brown University Department of Computer

More information

Enhancing efficiency of Hybrid Transactional Memory via Dynamic Data Partitioning Schemes

Enhancing efficiency of Hybrid Transactional Memory via Dynamic Data Partitioning Schemes Enhancing efficiency of Hybrid Transactional Memory via Dynamic Data Partitioning Schemes Pedro Raminhas Instituto Superior Técnico, Universidade de Lisboa Lisbon, Portugal Email: pedro.raminhas@tecnico.ulisboa.pt

More information

Relaxing Concurrency Control in Transactional Memory. Utku Aydonat

Relaxing Concurrency Control in Transactional Memory. Utku Aydonat Relaxing Concurrency Control in Transactional Memory by Utku Aydonat A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of The Edward S. Rogers

More information

Accelerating Irregular Computations with Hardware Transactional Memory and Active Messages

Accelerating Irregular Computations with Hardware Transactional Memory and Active Messages MACIEJ BESTA, TORSTEN HOEFLER spcl.inf.ethz.ch Accelerating Irregular Computations with Hardware Transactional Memory and Active Messages LARGE-SCALE IRREGULAR GRAPH PROCESSING Becoming more important

More information

ARCHITECTURES FOR TRANSACTIONAL MEMORY

ARCHITECTURES FOR TRANSACTIONAL MEMORY ARCHITECTURES FOR TRANSACTIONAL MEMORY A DISSERTATION SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

More information

FARM: A Prototyping Environment for Tightly-Coupled, Heterogeneous Architectures

FARM: A Prototyping Environment for Tightly-Coupled, Heterogeneous Architectures FARM: A Prototyping Environment for Tightly-Coupled, Heterogeneous Architectures Tayo Oguntebi, Sungpack Hong, Jared Casper, Nathan Bronson Christos Kozyrakis, Kunle Olukotun Outline Motivation The Stanford

More information

Transactifying Apache s Cache Module

Transactifying Apache s Cache Module H. Eran O. Lutzky Z. Guz I. Keidar Department of Electrical Engineering Technion Israel Institute of Technology SYSTOR 2009 The Israeli Experimental Systems Conference Outline 1 Why legacy applications

More information

Breaking Kernel Address Space Layout Randomization (KASLR) with Intel TSX. Yeongjin Jang, Sangho Lee, and Taesoo Kim Georgia Institute of Technology

Breaking Kernel Address Space Layout Randomization (KASLR) with Intel TSX. Yeongjin Jang, Sangho Lee, and Taesoo Kim Georgia Institute of Technology Breaking Kernel Address Space Layout Randomization (KASLR) with Intel TSX Yeongjin Jang, Sangho Lee, and Taesoo Kim Georgia Institute of Technology Kernel Address Space Layout Randomization (KASLR) A statistical

More information

Transactional Prefetching: Narrowing the Window of Contention in Hardware Transactional Memory

Transactional Prefetching: Narrowing the Window of Contention in Hardware Transactional Memory Transactional Prefetching: Narrowing the Window of Contention in Hardware Transactional Memory Adrià Armejach Anurag Negi Adrián Cristal Osman S. Unsal Per Stenstrom Barcelona Supercomputing Center Universitat

More information

Legato: End-to-End Bounded Region Serializability Using Commodity Hardware Transactional Memory

Legato: End-to-End Bounded Region Serializability Using Commodity Hardware Transactional Memory Legato: End-to-End Bounded Region Serializability Using Commodity Hardware Transactional Memory Aritra Sengupta Man Cao Michael D. Bond Milind Kulkarni Ohio State University (USA) Purdue University (USA)

More information

ESTIMA: Extrapolating ScalabiliTy of In-Memory Applications

ESTIMA: Extrapolating ScalabiliTy of In-Memory Applications : Extrapolating ScalabiliTy of In-Memory Applications Georgios Chatzopoulos EPFL georgios.chatzopoulos@epfl.ch Aleksandar Dragojević Microsoft Research alekd@microsoft.com Rachid Guerraoui EPFL rachid.guerraoui@epfl.ch

More information

EXPLOITING SEMANTIC COMMUTATIVITY IN HARDWARE SPECULATION

EXPLOITING SEMANTIC COMMUTATIVITY IN HARDWARE SPECULATION EXPLOITING SEMANTIC COMMUTATIVITY IN HARDWARE SPECULATION GUOWEI ZHANG, VIRGINIA CHIU, DANIEL SANCHEZ MICRO 2016 Executive summary 2 Exploiting commutativity benefits update-heavy apps Software techniques

More information

Massimiliano Ghilardi

Massimiliano Ghilardi 7 th European Lisp Symposium Massimiliano Ghilardi May 5-6, 2014 IRCAM, Paris, France High performance concurrency in Common Lisp hybrid transactional memory with STMX 2 Beautiful and fast concurrency

More information

Remote Transaction Commit: Centralizing Software Transactional Memory Commits

Remote Transaction Commit: Centralizing Software Transactional Memory Commits IEEE TRANSACTIONS ON COMPUTERS 1 Remote Transaction Commit: Centralizing Software Transactional Memory Commits Ahmed Hassan, Roberto Palmieri, and Binoy Ravindran Abstract Software Transactional Memory

More information

Remote Invalidation: Optimizing the Critical Path of Memory Transactions

Remote Invalidation: Optimizing the Critical Path of Memory Transactions Remote idation: Optimizing the Critical Path of Memory Transactions Ahmed Hassan, Roberto Palmieri, Binoy Ravindran Electrical and Computer Engineering Department Virginia Tech Blacksburg, Virginia, USA

More information

Exploiting Hardware Transactional Memory for Efficient In-Memory Transaction Processing. Hao Qian, Zhaoguo Wang, Haibing Guan, Binyu Zang, Haibo Chen

Exploiting Hardware Transactional Memory for Efficient In-Memory Transaction Processing. Hao Qian, Zhaoguo Wang, Haibing Guan, Binyu Zang, Haibo Chen Exploiting Hardware Transactional Memory for Efficient In-Memory Transaction Processing Hao Qian, Zhaoguo Wang, Haibing Guan, Binyu Zang, Haibo Chen Shanghai Key Laboratory of Scalable Computing and Systems

More information

Architectural Semantics for Practical Transactional Memory

Architectural Semantics for Practical Transactional Memory Architectural Semantics for Practical Transactional Memory Austen McDonald, JaeWoong Chung, Brian D. Carlstrom, Chi Cao Minh, Hassan Chafi, Christos Kozyrakis and Kunle Olukotun Computer Systems Laboratory

More information

Cost of Concurrency in Hybrid Transactional Memory. Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University)

Cost of Concurrency in Hybrid Transactional Memory. Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University) Cost of Concurrency in Hybrid Transactional Memory Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University) 1 Transactional Memory: a history Hardware TM Software TM Hybrid TM 1993 1995-today

More information

THE UNIVERSITY OF CHICAGO TRANSACTIONAL MEMORY SUPPORT FOR CONCURRENCY-BUG FAILURE RECOVERY IN PRODUCTION RUN A DISSERTATION SUBMITTED TO

THE UNIVERSITY OF CHICAGO TRANSACTIONAL MEMORY SUPPORT FOR CONCURRENCY-BUG FAILURE RECOVERY IN PRODUCTION RUN A DISSERTATION SUBMITTED TO THE UNIVERSITY OF CHICAGO TRANSACTIONAL MEMORY SUPPORT FOR CONCURRENCY-BUG FAILURE RECOVERY IN PRODUCTION RUN A DISSERTATION SUBMITTED TO THE FACULTY OF THE DIVISION OF THE PHYSICAL SCIENCES IN CANDIDACY

More information

Transactional Memory. Lecture 18: Parallel Computer Architecture and Programming CMU /15-618, Spring 2017

Transactional Memory. Lecture 18: Parallel Computer Architecture and Programming CMU /15-618, Spring 2017 Lecture 18: Transactional Memory Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2017 Credit: many slides in today s talk are borrowed from Professor Christos Kozyrakis (Stanford

More information

Preventing versus Curing: Avoiding Conflicts in Transactional Memories

Preventing versus Curing: Avoiding Conflicts in Transactional Memories Preventing versus Curing: Avoiding Conflicts in Transactional Memories Aleksandar Dragojević Anmol V. Singh Rachid Guerraoui Vasu Singh EPFL Abstract Transactional memories are typically speculative and

More information

6 Transactional Memory. Robert Mullins

6 Transactional Memory. Robert Mullins 6 Transactional Memory ( MPhil Chip Multiprocessors (ACS Robert Mullins Overview Limitations of lock-based programming Transactional memory Programming with TM ( STM ) Software TM ( HTM ) Hardware TM 2

More information

Transactional Memory. Prof. Hsien-Hsin S. Lee School of Electrical and Computer Engineering Georgia Tech

Transactional Memory. Prof. Hsien-Hsin S. Lee School of Electrical and Computer Engineering Georgia Tech Transactional Memory Prof. Hsien-Hsin S. Lee School of Electrical and Computer Engineering Georgia Tech (Adapted from Stanford TCC group and MIT SuperTech Group) Motivation Uniprocessor Systems Frequency

More information

Summary: Open Questions:

Summary: Open Questions: Summary: The paper proposes an new parallelization technique, which provides dynamic runtime parallelization of loops from binary single-thread programs with minimal architectural change. The realization

More information

Lecture 12 Transactional Memory

Lecture 12 Transactional Memory CSCI-UA.0480-010 Special Topics: Multicore Programming Lecture 12 Transactional Memory Christopher Mitchell, Ph.D. cmitchell@cs.nyu.edu http://z80.me Database Background Databases have successfully exploited

More information

2. Futile Stall HTM HTM HTM. Transactional Memory: TM [1] TM. HTM exponential backoff. magic waiting HTM. futile stall. Hardware Transactional Memory:

2. Futile Stall HTM HTM HTM. Transactional Memory: TM [1] TM. HTM exponential backoff. magic waiting HTM. futile stall. Hardware Transactional Memory: 1 1 1 1 1,a) 1 HTM 2 2 LogTM 72.2% 28.4% 1. Transactional Memory: TM [1] TM Hardware Transactional Memory: 1 Nagoya Institute of Technology, Nagoya, Aichi, 466-8555, Japan a) tsumura@nitech.ac.jp HTM HTM

More information

Atomicity via Source-to-Source Translation

Atomicity via Source-to-Source Translation Atomicity via Source-to-Source Translation Benjamin Hindman Dan Grossman University of Washington 22 October 2006 Atomic An easier-to-use and harder-to-implement primitive void deposit(int x){ synchronized(this){

More information

Flexible Architecture Research Machine (FARM)

Flexible Architecture Research Machine (FARM) Flexible Architecture Research Machine (FARM) RAMP Retreat June 25, 2009 Jared Casper, Tayo Oguntebi, Sungpack Hong, Nathan Bronson Christos Kozyrakis, Kunle Olukotun Motivation Why CPUs + FPGAs make sense

More information

Going Under the Hood with Intel s Next Generation Microarchitecture Codename Haswell

Going Under the Hood with Intel s Next Generation Microarchitecture Codename Haswell Going Under the Hood with Intel s Next Generation Microarchitecture Codename Haswell Ravi Rajwar Intel Corporation QCon San Francisco Nov 9, 2012 1 What is Haswell? 45nm 32nm 22nm Nehalem Westmere Sandy

More information

Stretching Transactional Memory

Stretching Transactional Memory Stretching Transactional Memory Aleksandar Dragojević Rachid Guerraoui Michał Kapałka Ecole Polytechnique Fédérale de Lausanne, School of Computer and Communication Sciences, I&C, Switzerland {aleksandar.dragojevic,

More information

Concurrent programming: From theory to practice. Concurrent Algorithms 2015 Vasileios Trigonakis

Concurrent programming: From theory to practice. Concurrent Algorithms 2015 Vasileios Trigonakis oncurrent programming: From theory to practice oncurrent Algorithms 2015 Vasileios Trigonakis From theory to practice Theoretical (design) Practical (design) Practical (implementation) 2 From theory to

More information

HAFT Hardware-Assisted Fault Tolerance

HAFT Hardware-Assisted Fault Tolerance HAFT Hardware-Assisted Fault Tolerance Dmitrii Kuvaiskii Rasha Faqeh Pramod Bhatotia Christof Fetzer Technische Universität Dresden Pascal Felber Université de Neuchâtel Hardware Errors in the Wild Online

More information

Deterministic Replay and Data Race Detection for Multithreaded Programs

Deterministic Replay and Data Race Detection for Multithreaded Programs Deterministic Replay and Data Race Detection for Multithreaded Programs Dongyoon Lee Computer Science Department - 1 - The Shift to Multicore Systems 100+ cores Desktop/Server 8+ cores Smartphones 2+ cores

More information

Exploring the Performance and Programmability Design Space of Hardware Transactional Memory

Exploring the Performance and Programmability Design Space of Hardware Transactional Memory Exploring the Performance and Programmability Design Space of Hardware Transactional Memory Mike Dai Wang dai.wang@mail.utoronto.ca Mihai Burcea burceam@eecg.toronto.edu Linghan Li linghan.li@mail.utoronto.ca

More information

OPERATING SYSTEM TRANSACTIONS

OPERATING SYSTEM TRANSACTIONS OPERATING SYSTEM TRANSACTIONS Donald E. Porter, Owen S. Hofmann, Christopher J. Rossbach, Alexander Benn, and Emmett Witchel The University of Texas at Austin OS APIs don t handle concurrency 2 OS is weak

More information

ByteSTM: Java Software Transactional Memory at the Virtual Machine Level

ByteSTM: Java Software Transactional Memory at the Virtual Machine Level ByteSTM: Java Software Transactional Memory at the Virtual Machine Level Mohamed Mohamedin Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment

More information

A Machine Learning-Based Approach for Thread Mapping on Transactional Memory Applications

A Machine Learning-Based Approach for Thread Mapping on Transactional Memory Applications A Machine Learning-Based Approach for Thread Mapping on Transactional Memory Applications Márcio Castro, Luís Fabrício Wanderley Góes, Christiane Pousa Ribeiro, Murray Cole, Marcelo Cintra and Jean-François

More information

Lightweight, Robust Adaptivity for Software Transactional Memory

Lightweight, Robust Adaptivity for Software Transactional Memory Lightweight, Robust Adaptivity for Software Transactional Memory Michael F. Spear Department of Computer Science and Engineering Lehigh University spear@cse.lehigh.edu ABSTRACT When a program uses Software

More information

Fine- grain Memory Deduplica4on for In- memory Database Systems. Heiner Litz, David Cheriton, Pete Stevenson Stanford University

Fine- grain Memory Deduplica4on for In- memory Database Systems. Heiner Litz, David Cheriton, Pete Stevenson Stanford University Fine- grain Memory Deduplica4on for In- memory Database Systems Heiner Litz, David Cheriton, Pete Stevenson Stanford University 1 Memory Capacity Challenge In- memory databases Limited by memory capacity

More information

Shared Memory Multiprocessors. Symmetric Shared Memory Architecture (SMP) Cache Coherence. Cache Coherence Mechanism. Interconnection Network

Shared Memory Multiprocessors. Symmetric Shared Memory Architecture (SMP) Cache Coherence. Cache Coherence Mechanism. Interconnection Network Shared Memory Multis Processor Processor Processor i Processor n Symmetric Shared Memory Architecture (SMP) cache cache cache cache Interconnection Network Main Memory I/O System Cache Coherence Cache

More information

SYSTEM CHALLENGES AND OPPORTUNITIES FOR TRANSACTIONAL MEMORY

SYSTEM CHALLENGES AND OPPORTUNITIES FOR TRANSACTIONAL MEMORY SYSTEM CHALLENGES AND OPPORTUNITIES FOR TRANSACTIONAL MEMORY A DISSERTATION SUBMITTED TO THE DEPARTMENT OF ELECTRICAL ENGINEERING AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL

More information

Commercial-Off-the-shelf Hardware Transactional Memory for Tolerating Transient Hardware Errors

Commercial-Off-the-shelf Hardware Transactional Memory for Tolerating Transient Hardware Errors Commercial-Off-the-shelf Hardware Transactional Memory for Tolerating Transient Hardware Errors Rasha Faqeh TU- Dresden 19.01.2015 Dresden, 23.09.2011 Transient Error Recovery Motivation Folie Nr. 12 von

More information

Lecture 7: Transactional Memory Intro. Topics: introduction to transactional memory, lazy implementation

Lecture 7: Transactional Memory Intro. Topics: introduction to transactional memory, lazy implementation Lecture 7: Transactional Memory Intro Topics: introduction to transactional memory, lazy implementation 1 Transactions New paradigm to simplify programming instead of lock-unlock, use transaction begin-end

More information

Improving the Practicality of Transactional Memory

Improving the Practicality of Transactional Memory Improving the Practicality of Transactional Memory Woongki Baek Electrical Engineering Stanford University Programming Multiprocessors Multiprocessor systems are now everywhere From embedded to datacenter

More information

Synchronization. CSCI 5103 Operating Systems. Semaphore Usage. Bounded-Buffer Problem With Semaphores. Monitors Other Approaches

Synchronization. CSCI 5103 Operating Systems. Semaphore Usage. Bounded-Buffer Problem With Semaphores. Monitors Other Approaches Synchronization CSCI 5103 Operating Systems Monitors Other Approaches Instructor: Abhishek Chandra 2 3 Semaphore Usage wait(s) Critical section signal(s) Each process must call wait and signal in correct

More information

AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM

AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM FRACTAL AN EXECUTION MODEL FOR FINE-GRAIN NESTED SPECULATIVE PARALLELISM SUVINAY SUBRAMANIAN, MARK C. JEFFREY, MALEEN ABEYDEERA, HYUN RYONG LEE, VICTOR A. YING, JOEL EMER, DANIEL SANCHEZ ISCA 017 Current

More information

Lecture: Transactional Memory. Topics: TM implementations

Lecture: Transactional Memory. Topics: TM implementations Lecture: Transactional Memory Topics: TM implementations 1 Summary of TM Benefits As easy to program as coarse-grain locks Performance similar to fine-grain locks Avoids deadlock 2 Design Space Data Versioning

More information

Potential violations of Serializability: Example 1

Potential violations of Serializability: Example 1 CSCE 6610:Advanced Computer Architecture Review New Amdahl s law A possible idea for a term project Explore my idea about changing frequency based on serial fraction to maintain fixed energy or keep same

More information

RETCON: Transactional Repair Without Replay

RETCON: Transactional Repair Without Replay University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science 11-2-2009 RETCON: Transactional Repair Without Replay Colin lundell University of Pennsylvania,

More information