Transac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * Technion Yahoo Research

Size: px
Start display at page:

Download "Transac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * Technion Yahoo Research"

Transcription

1 Transac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * * Technion Yahoo Research 1

2 Mul'-Threading is Everywhere 2

3 Agenda Concurrent Data Structure Libraries (CDSLs) vs Memory Introducing: Data Structure Libraries (TDSL) Example TDSL algorithm Skiplist of objects (skiplists and queues) Fast abort-free singletons Library 3

4 Data Structures (DS) building blocks in modern SW Map, skiplist, queue, etc. 4

5 But Are They Thread Safe? Correct under concurrency? OR? 5

6 Thread-Safe Concurrent DS Libraries Widely used in real life sosware Numerous research papers Concurrent Skipklist [Herlihy, Lev, Luchangco, Shavit: A simple op@mis@c skiplist algorithm] [Fraser: Prac@cal lock freedom] Concurrent queue [Michael, Sco[: Simple, fast, and prac@cal nonblocking and blocking concurrent queue algorithms] [Gramoli, Guerraoui: Reusable concurrent data types] Concurrent binary tree [Bronson, Casper, Chafi, Olukotun: A prac@cal concurrent binary search tree] [Drachsler, Vechev, Yahav: Prac@cal concurrent binary search trees via logical ordering] 6

7 Concurrent Data Structure Libraries (CDSLs) Each executes atomically Custom-tailored preserves Thread Thread Thread map queue 7

8 Are They Really Thread Safe?? balance ßmap.get (key=yoni) newbalanceß balance+deposit map.set(key=yoni,newbalance) repq.enq( Yoni s balance=new ) balance ßmap.get(key=Yoni) newbalanceß balance+deposit map.set(key=yoni,newbalance) repq.enq( Yoni s balance=new ) Oops! Atomic opera@ons are not enough 8

9 SoGware Transac'onal Memory (STM) TL2, TinySTM, SwissTM, (TXs) = atomic sec@ons including mul@ple DS opera@ons Begin_TX balanceßmap.get(key=yoni) newbalance ß balance + deposit map.set(key=yoni, newbalance) repq.enq( Yoni s balance=new ) End_TX begin end abort App map STM queue 9

10 STM Overhead Explained Common STM Each object has a version TX reads a consistent snapshot Validates versions have not changed by Otherwise aborts TX updates occur during commit Sources of overhead: Global version clock (GVC) high conten@on Read- and write-sets tracking and valida@on overhead Conflicts aborts 10

11 CDSL vs STM CDSL STM Performance ü û Exploit DS & structures ü û Used in ü û Generality û ü Composability û ü 11

12 Agenda Concurrent Data Structure Libraries (CDSLs) vs Memory Introducing: Data Structure Libraries (TDSL) Example TDSL algorithm Skiplist of objects (skiplists and queues) Fast abort-free singletons Library 12

13 TDSL: Bringing Transac'ons into CDSL Legacy singleton fast, abort-free App App App begin end abort STM programmability: TXs span any number of Custom-tailored, performance of CDSL map queue Library Missing: Generality of STM 13

14 Why TDSL? Power of using DS and structure Use to reduce overhead aborts E.g., read-set index Different CC mechanisms for different DSs maps, sets queues Fast abort-free singletons As fast as in CDSL No on global version clock Support legacy code 14

15 TDSL Benefit 1: Programmability Support for legacy code Fast, abort-free singletons Power of Begin_TX valßmap.get(key=yoni) newß val+deposit map.set(key=yoni,new) repq.enq( Yoni s balance=new ) End_TX App App App map queue Transac@onal Library 15

16 TDSL Benefit 2: Seman'c Op'miza'on Use known But, take advantage of & structure of each DS to reduce aborts & overhead Reduce read-set Do some of the work 16

17 Example of Abort Reduc'on Two concurrent put Put(23) traverses the list, reads nodes that put(4) updates Conflict, STM would abort at least one But no conflict

18 Example of Abort Reduc'on Two concurrent put Put(23) traverses the list, reads nodes that put(4) updates Conflict, STM would abort at least one But no conflict

19 Example of Abort Reduc'on Two concurrent put Put(23) traverses the list, reads nodes that put(4) updates Conflict, STM would abort at least one But no conflict

20 TDSL Benefit 3: Mix & Match Maps allow lots of concurrency Amenable to Queues do not be[er STM picks one Our TDSL can mix & match App App App map queue Library 20

21 Agenda Concurrent Data Structure Libraries (CDSLs) vs Memory Introducing: Data Structure Libraries (TDSL) Example TDSL algorithm Skiplist of objects (skiplists and queues) Fast abort-free singletons Library 21

22 Skiplist Roadmap 1. Add STM-like support to simple linked list Based on TL2 STM algorithm 2. remove redundant and tracking Reduce aborts Use and structure 3. shorten Reduce aborts index Lazy GC 22

23 Step 1: Standard STM Take a simple linked list Add TL2 mechanism to support TXs: Add a version to each node Get versions from global version clock (GVC) Maintain read-set with read versions Defer updates, track in write-set To commit: lock write-set, validate read-set, increment GVC, update 23

24 Step 1: Standard STM insert(10): Local memory Shared memory 10 Read read-set Validate write-set GVC

25 Step 2: Reduce Read-Set Exploit structure and insert(10): 10 read-set 9 write-set 9 10 Local memory Shared memory Read Validate GVC

26 Step 3: Non-Transac'onal Index Imagine we could guess the right node GVC So, we could be faster and save aborts during the traversal 26

27 Step 3: Non-Transac'onal Index getsmaller Returns some node with a smaller key For performance, not much smaller Implemented as (concurrent) skiplist For example App Index 27

28 Step 3: Non-Transac'onal Index insert(10): 10 App Start traverse from 5 Index GVC

29 Step 3: Non-Transac'onal Index Updated outside the TX (if completes successfully) Reduces aborts, overhead But: May return nodes with smaller keys than predecessor longer traversals May return removed nodes Subtle, more details in the paper 29

30 Agenda Concurrent Data Structure Libraries (CDSLs) vs Memory Introducing: Data Structure Libraries (TDSL) Example TDSL algorithm Skiplist of objects (skiplists and queues) Fast abort-free singletons Library 30

31 Composi'on One GVC shared among all objects Commit: Lock all write sets Validate all read sets Increase GVC Update objects and release locks 31

32 Agenda Concurrent Data Structure Libraries (CDSLs) vs Memory Introducing: Data Structure Libraries (TDSL) Example TDSL algorithm Skiplist of objects (skiplists and queues) Fast abort-free singletons Library 32

33 Fast Abort-Free Singletons Use the index Do not increment GVC No As fast as in CDSL Make aware of singletons using designated fields Details in the paper 33

34 Agenda Concurrent Data Structure Libraries (CDSLs) vs Memory Introducing: Data Structure Libraries (TDSL) Example TDSL algorithm Skiplist of objects (skiplists and queues) Fast abort-free singletons Library 34

35 Composing TDSLs Extend API to support: TX-begin Divide TX-commit into three phases: TX-lock, TX-verify, and TX-finalize TX-abort Perform TX-begin and each of the commit phase in all libraries Wait for in all libraries before moving to the next phase If catch abort in some library, perform TX-abort in all Some have to be Based on theory of PLDI 15 paper by Ziv et al. [Ziv, Aiken, Golan-Gueta, Ramalingam, Sagiv. Composing concurrency control] 35

36 Compose With Exis'ng Libraries Modify library to support the extanded API E.g., TL2 STM naturally supports it E.g., use standard 2 phase locking Together we get general transac@ons Ones supported fully by a custom-tailored TDSL are fast Others less so 36

37 Agenda Concurrent Data Structure Libraries (CDSLs) vs Memory Introducing: Data Structure Libraries (TDSL) Example TDSL algorithm Skiplist of objects (skiplists and queues) Fast abort-free singletons Library 37

38 MILLIONS OPS/SEC READ-ONLY WORKLOAD # OF THREADS Singletons UPDATE-ONLY WORKLOAD As good as baseline # OF THREADS our skiplist rota@ng nohotspot fraser op@mis@c baseline Do not support transac@ons 38

39 Singletons UPDATE-ONLY WORKLOAD MILLIONS OPS/SEC # OF THREADS our skiplist rotai@ng nohotspot fraser lock base line 39

40 We have less overhead Transac'ons We have less aborts MILLIONS TXS/SEC READ-ONLY WORKLOAD # OF THREADS UPDATE-ONLY WORKLOAD # OF THREADS our skiplist SeqTL2 FriendlyTL2 40

41 Transac'ons MILLIONS TXS/SEC UPDATE-ONLY WORKLOAD # OF THREADS our skiplist seq TL2 friendly TL2 41

42 Transac'ons (Aborts) % OF ABORTS UPDATE-ONLY WORKLOAD # OF THREADS ZOOMED IN # OF THREADS our skiplist SeqTL2 FriendlyTL2 42

43 Intruder skiplists and queues in a real applica@on SPEED UP # OF THREADS % OF ABORTS Our library SeqTL2 FriendlyTL # OF THREADS cannot support intruder 43

44 onclusion We introduced a new concept for concurrent programing Composable DSs suppor@ng TX as well as fast singletons Implemented library with two DSs Map (based on skiplist) and queue We hope that the community will adopt this concept Build and use more such libraries 44

45 Related Work and [M. Herlihy and E. Koskinen: methodology for highlyconcurrent objects] [Ahmed Hassan, Roberto Palmieri, Peluso, and Binoy Ravindran: Open [Y. Ni, V. S. Menon, A.-R. Adl-Tabatabai, A. L. Hosking, R. L. Hudson, J. E. B. Moss, B. Saha, and T. Shpeisman. Open in sosware memory] Reagents [A. Turon. Reagents: expressing and composing fine-grained concurrency] 45

46 Conclusion CDSL STM TDSL Performance ü û ü Exploit DS ü û ü Used in ü û Generality û ü ü Composability û ü ü We hope that the community will adopt this concept Build and use more such libraries 46

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

On Developing Optimistic Transactional Lazy Set

On Developing Optimistic Transactional Lazy Set On Developing Optimistic Transactional Set [Technical Report] Ahmed Hassan, Roberto Palmieri, Binoy Ravindran Virginia Tech {hassan84;robertop;binoy}@vt.edu Abstract. Transactional data structures with

More information

Lock vs. Lock-free Memory Project proposal

Lock vs. Lock-free Memory Project proposal Lock vs. Lock-free Memory Project proposal Fahad Alduraibi Aws Ahmad Eman Elrifaei Electrical and Computer Engineering Southern Illinois University 1. Introduction The CPU performance development history

More information

A Relativistic Enhancement to Software Transactional Memory

A Relativistic Enhancement to Software Transactional Memory A Relativistic Enhancement to Software Transactional Memory Philip W. Howard Portland State University Jonathan Walpole Portland State University Abstract Relativistic Programming is a technique that allows

More information

Integrating Transactionally Boosted Data Structures with STM Frameworks: A Case Study on Set

Integrating Transactionally Boosted Data Structures with STM Frameworks: A Case Study on Set Integrating Transactionally Boosted Data Structures with STM Frameworks: A Case Study on Set Ahmed Hassan Roberto Palmieri Binoy Ravindran Virginia Tech hassan84@vt.edu robertop@vt.edu binoy@vt.edu Abstract

More information

Enhancing Concurrency in Distributed Transactional Memory through Commutativity

Enhancing Concurrency in Distributed Transactional Memory through Commutativity Enhancing Concurrency in Distributed Transactional Memory through Commutativity Junwhan Kim, Roberto Palmieri, Binoy Ravindran Virginia Tech USA Lock-based concurrency control has serious drawbacks Coarse

More information

McRT-STM: A High Performance Software Transactional Memory System for a Multi- Core Runtime

McRT-STM: A High Performance Software Transactional Memory System for a Multi- Core Runtime McRT-STM: A High Performance Software Transactional Memory System for a Multi- Core Runtime B. Saha, A-R. Adl- Tabatabai, R. Hudson, C.C. Minh, B. Hertzberg PPoPP 2006 Introductory TM Sales Pitch Two legs

More information

Transactional Interference-less Balanced Tree

Transactional Interference-less Balanced Tree Transactional Interference-less Balanced Tree Ahmed Hassan, Roberto Palmieri, Binoy Ravindran To cite this version: Ahmed Hassan, Roberto Palmieri, Binoy Ravindran. Transactional Interference-less Balanced

More information

Agenda. Designing Transactional Memory Systems. Why not obstruction-free? Why lock-based?

Agenda. Designing Transactional Memory Systems. Why not obstruction-free? Why lock-based? Agenda Designing Transactional Memory Systems Part III: Lock-based STMs Pascal Felber University of Neuchatel Pascal.Felber@unine.ch Part I: Introduction Part II: Obstruction-free STMs Part III: Lock-based

More information

6.852: Distributed Algorithms Fall, Class 20

6.852: Distributed Algorithms Fall, Class 20 6.852: Distributed Algorithms Fall, 2009 Class 20 Today s plan z z z Transactional Memory Reading: Herlihy-Shavit, Chapter 18 Guerraoui, Kapalka, Chapters 1-4 Next: z z z Asynchronous networks vs asynchronous

More information

Software transactional memory

Software transactional memory Transactional locking II (Dice et. al, DISC'06) Time-based STM (Felber et. al, TPDS'08) Mentor: Johannes Schneider March 16 th, 2011 Motivation Multiprocessor systems Speed up time-sharing applications

More information

Linked Lists: The Role of Locking. Erez Petrank Technion

Linked Lists: The Role of Locking. Erez Petrank Technion Linked Lists: The Role of Locking Erez Petrank Technion Why Data Structures? Concurrent Data Structures are building blocks Used as libraries Construction principles apply broadly This Lecture Designing

More information

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

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer Tools zur Op+mierung eingebe2eter Mul+core- Systeme Bernhard Bauer Agenda Mo+va+on So.ware Engineering & Mul5core Think Parallel Models Added Value Tooling Quo Vadis? The Mul5core Era Moore s Law: The

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

What Is STM and How Well It Performs? Aleksandar Dragojević

What Is STM and How Well It Performs? Aleksandar Dragojević What Is STM and How Well It Performs? Aleksandar Dragojević 1 Hardware Trends 2 Hardware Trends CPU 2 Hardware Trends CPU 2 Hardware Trends CPU 2 Hardware Trends CPU 2 Hardware Trends CPU CPU 2 Hardware

More information

On Extending TM Primitives using Low Level Semantics

On Extending TM Primitives using Low Level Semantics On Extending TM Primitives using Low Level Semantics Mohamed M. Saad, Roberto Palmieri, Ahmed Hassan, and Binoy Ravindran {msaad, robertop, hassan84, binoy}@vt.edu ECE Dept., Virginia Tech, Blacksburg,

More information

How Live Can a Transactional Memory Be?

How Live Can a Transactional Memory Be? How Live Can a Transactional Memory Be? Rachid Guerraoui Michał Kapałka February 18, 2009 Abstract This paper asks how much liveness a transactional memory (TM) implementation can guarantee. We first devise

More information

False Conflict Reduction in the Swiss Transactional Memory (SwissTM) System

False Conflict Reduction in the Swiss Transactional Memory (SwissTM) System False Conflict Reduction in the Swiss Transactional Memory (SwissTM) System Aravind Natarajan Department of Computer Engineering The University of Texas at Dallas Richardson, TX - 75080, USA Email: aravindn@utdallas.edu

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

Design and Implementa/on of a Consolidated Middlebox Architecture. Vyas Sekar Sylvia Ratnasamy Michael Reiter Norbert Egi Guangyu Shi

Design and Implementa/on of a Consolidated Middlebox Architecture. Vyas Sekar Sylvia Ratnasamy Michael Reiter Norbert Egi Guangyu Shi Design and Implementa/on of a Consolidated Middlebox Architecture Vyas Sekar Sylvia Ratnasamy Michael Reiter Norbert Egi Guangyu Shi 1 Need for Network Evolu/on New applica/ons Evolving threats Performance,

More information

Towards a Software Transactional Memory for Graphics Processors

Towards a Software Transactional Memory for Graphics Processors Eurographics Symposium on Parallel Graphics and Visualization (21) J. Ahrens, K. Debattista, and R. Pajarola (Editors) Towards a Software Transactional Memory for Graphics Processors Daniel Cederman, Philippas

More information

Outline. Spanner Mo/va/on. Tom Anderson

Outline. Spanner Mo/va/on. Tom Anderson Spanner Mo/va/on Tom Anderson Outline Last week: Chubby: coordina/on service BigTable: scalable storage of structured data GFS: large- scale storage for bulk data Today/Friday: Lessons from GFS/BigTable

More information

UPCRC. Illiac. Gigascale System Research Center. Petascale computing. Cloud Computing Testbed (CCT) 2

UPCRC. Illiac. Gigascale System Research Center. Petascale computing. Cloud Computing Testbed (CCT) 2 Illiac UPCRC Petascale computing Gigascale System Research Center Cloud Computing Testbed (CCT) 2 www.parallel.illinois.edu Mul2 Core: All Computers Are Now Parallel We con'nue to have more transistors

More information

Distributed ACID Transac2ons in Apache Ignite

Distributed ACID Transac2ons in Apache Ignite Distributed ACID Transac2ons in Apache Ignite Akmal Chaudhri GridGain hbp://ignite.apache.org #apacheignite My Background Pre-2000 Developer Academic (City University) Consultant Technical Architect Post-2000

More information

CSE Opera,ng System Principles

CSE Opera,ng System Principles CSE 30341 Opera,ng System Principles Lecture 5 Processes / Threads Recap Processes What is a process? What is in a process control bloc? Contrast stac, heap, data, text. What are process states? Which

More information

ECSE 425 Lecture 25: Mul1- threading

ECSE 425 Lecture 25: Mul1- threading ECSE 425 Lecture 25: Mul1- threading H&P Chapter 3 Last Time Theore1cal and prac1cal limits of ILP Instruc1on window Branch predic1on Register renaming 2 Today Mul1- threading Chapter 3.5 Summary of ILP:

More information

Scheduling Transactions in Replicated Distributed Transactional Memory

Scheduling Transactions in Replicated Distributed Transactional Memory Scheduling Transactions in Replicated Distributed Transactional Memory Junwhan Kim and Binoy Ravindran Virginia Tech USA {junwhan,binoy}@vt.edu CCGrid 2013 Concurrency control on chip multiprocessors significantly

More information

On Improving Transactional Memory: Optimistic Transactional Boosting, Remote Execution, and Hybrid Transactions

On Improving Transactional Memory: Optimistic Transactional Boosting, Remote Execution, and Hybrid Transactions On Improving Transactional Memory: Optimistic Transactional Boosting, Remote Execution, and Hybrid Transactions Ahmed Hassan Preliminary Examination Proposal submitted to the Faculty of the Virginia Polytechnic

More information

RaceMob: Crowdsourced Data Race Detec,on

RaceMob: Crowdsourced Data Race Detec,on RaceMob: Crowdsourced Data Race Detec,on Baris Kasikci, Cris,an Zamfir, and George Candea School of Computer & Communica3on Sciences Data Races to shared memory loca,on By mul3ple threads At least one

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

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

Transaction Safe Nonblocking Data Structures

Transaction Safe Nonblocking Data Structures Transaction Safe Nonblocking Data Structures Virendra J. Marathe and Michael L. Scott Technical Report #924 Department of Computer Science, University of Rochester {vmarathe, scott}@cs.rochester.edu September

More information

Optimistic Transactional Boosting

Optimistic Transactional Boosting 1 Optimistic ransactional Boosting Ahmed Hassan, Roberto Palmieri, Sebastiano Peluso, and Binoy Ravindran Abstract he last two decades witnessed the success of many efficient designs of concurrent data

More information

Composable Transactional Objects: a Position Paper

Composable Transactional Objects: a Position Paper Composable Transactional Objects: a Position Paper Maurice Herlihy 1 and Eric Koskinen 2 1 Brown University, Providence, RI, USA 2 New York University, New York, NY, USA Abstract. Memory transactions provide

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

HydraVM: Mohamed M. Saad Mohamed Mohamedin, and Binoy Ravindran. Hot Topics in Parallelism (HotPar '12), Berkeley, CA

HydraVM: Mohamed M. Saad Mohamed Mohamedin, and Binoy Ravindran. Hot Topics in Parallelism (HotPar '12), Berkeley, CA HydraVM: Mohamed M. Saad Mohamed Mohamedin, and Binoy Ravindran Hot Topics in Parallelism (HotPar '12), Berkeley, CA Motivation & Objectives Background Architecture Program Reconstruction Implementation

More information

There is a tempta7on to say it is really used, it must be good

There is a tempta7on to say it is really used, it must be good Notes from reviews Dynamo Evalua7on doesn t cover all design goals (e.g. incremental scalability, heterogeneity) Is it research? Complexity? How general? Dynamo Mo7va7on Normal database not the right fit

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

SEDA An architecture for Well Condi6oned, scalable Internet Services

SEDA An architecture for Well Condi6oned, scalable Internet Services SEDA An architecture for Well Condi6oned, scalable Internet Services Ma= Welsh, David Culler, and Eric Brewer University of California, Berkeley Symposium on Operating Systems Principles (SOSP), October

More information

Concurrent Skip Lists. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit

Concurrent Skip Lists. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Concurrent Skip Lists Companion slides for The by Maurice Herlihy & Nir Shavit Set Object Interface Collection of elements No duplicates Methods add() a new element remove() an element contains() if element

More information

Maintaining Consistent Transactional States without a Global Clock

Maintaining Consistent Transactional States without a Global Clock Maintaining Consistent Transactional States without a Global Clock Hillel Avni 1,3 and Nir Shavit 1,2 1 Tel-Aviv University, Tel-Aviv 69978, Israel 2 Sun Microsystems Laboratories, 1 Network Drive, Burlington

More information

Design Principles & Prac4ces

Design Principles & Prac4ces Design Principles & Prac4ces Robert France Robert B. France 1 Understanding complexity Accidental versus Essen4al complexity Essen%al complexity: Complexity that is inherent in the problem or the solu4on

More information

Main Points. Defini&on. Design pa9ern Example: bounded buffer. Condi&on wait/signal/broadcast

Main Points. Defini&on. Design pa9ern Example: bounded buffer. Condi&on wait/signal/broadcast Condi&on Variables Main Points Defini&on Condi&on wait/signal/broadcast Design pa9ern Example: bounded buffer Last Time lock_acquire wait un&l lock is free, then take it lock_release release lock, waking

More information

Transactional Interference-less Balanced Tree

Transactional Interference-less Balanced Tree Transactional Interference-less Balanced Tree Technical Report Ahmed Hassan, Roberto Palmieri, and Binoy Ravindran Virginia Tech, Blacksburg, VA, USA. Abstract. In this paper, we present TxCF-Tree, a balanced

More information

Database design and implementation CMPSCI 645. Lectures 18: Transactions and Concurrency

Database design and implementation CMPSCI 645. Lectures 18: Transactions and Concurrency Database design and implementation CMPSCI 645 Lectures 18: Transactions and Concurrency 1 DBMS architecture Query Parser Query Rewriter Query Op=mizer Query Executor Lock Manager Concurrency Control Access

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

Practice and Applications of Data Management CMPSCI 345. Lecture 13: Transactions

Practice and Applications of Data Management CMPSCI 345. Lecture 13: Transactions Practice and Applications of Data Management CMPSCI 345 Lecture 3: Transactions Transactions } Problem: An applica0on must perform several writes and reads to the database, as a unit. } Example: Two people

More information

NON-BLOCKING DATA STRUCTURES AND TRANSACTIONAL MEMORY. Tim Harris, 28 November 2014

NON-BLOCKING DATA STRUCTURES AND TRANSACTIONAL MEMORY. Tim Harris, 28 November 2014 NON-BLOCKING DATA STRUCTURES AND TRANSACTIONAL MEMORY Tim Harris, 28 November 2014 Lecture 8 Problems with locks Atomic blocks and composition Hardware transactional memory Software transactional memory

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

CLOUD SERVICES. Cloud Value Assessment.

CLOUD SERVICES. Cloud Value Assessment. CLOUD SERVICES Cloud Value Assessment www.cloudcomrade.com Comrade a companion who shares one's ac8vi8es or is a fellow member of an organiza8on 2 Today s Agenda! Why Companies Should Consider Moving Business

More information

Synchroniza+on II COMS W4118

Synchroniza+on II COMS W4118 Synchroniza+on II COMS W4118 References: Opera+ng Systems Concepts (9e), Linux Kernel Development, previous W4118s Copyright no2ce: care has been taken to use only those web images deemed by the instructor

More information

Homework 1 Simple code genera/on. Luca Della Toffola Compiler Design HS15

Homework 1 Simple code genera/on. Luca Della Toffola Compiler Design HS15 Homework 1 Simple code genera/on Luca Della Toffola Compiler Design HS15 1 Administra1ve issues Has everyone found a team- mate? Mailing- list: cd1@lists.inf.ethz.ch Please subscribe if we forgot you 2

More information

Composable Partitioned Transactions

Composable Partitioned Transactions Composable Partitioned Transactions Lingxiang Xiang Michael L. Scott Department of Computer Science, University of Rochester {lxiang, scott}@cs.rochester.edu. Introduction Twenty years after the initial

More information

INTRODUCTION. Hybrid Transactional Memory. Transactional Memory. Problems with Transactional Memory Problems

INTRODUCTION. Hybrid Transactional Memory. Transactional Memory. Problems with Transactional Memory Problems Hybrid Transactional Memory Peter Damron Sun Microsystems peter.damron@sun.com Alexandra Fedorova Harvard University and Sun Microsystems Laboratories fedorova@eecs.harvard.edu Yossi Lev Brown University

More information

Effec%ve So*ware. Lecture 9: JVM - Memory Analysis, Data Structures, Object Alloca=on. David Šišlák

Effec%ve So*ware. Lecture 9: JVM - Memory Analysis, Data Structures, Object Alloca=on. David Šišlák Effec%ve So*ware Lecture 9: JVM - Memory Analysis, Data Structures, Object Alloca=on David Šišlák david.sislak@fel.cvut.cz JVM Performance Factors and Memory Analysis» applica=on performance factors total

More information

An Update on Haskell H/STM 1

An Update on Haskell H/STM 1 An Update on Haskell H/STM 1 Ryan Yates and Michael L. Scott University of Rochester TRANSACT 10, 6-15-2015 1 This work was funded in part by the National Science Foundation under grants CCR-0963759, CCF-1116055,

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

High-Performance Composable Transactional Data Structures

High-Performance Composable Transactional Data Structures University of Central Florida Electronic Theses and Dissertations Doctoral Dissertation (Open Access) High-Performance Composable Transactional Data Structures 2016 Deli Zhang University of Central Florida

More information

Database Machine Administration v/s Database Administration: Similarities and Differences

Database Machine Administration v/s Database Administration: Similarities and Differences Database Machine Administration v/s Database Administration: Similarities and Differences IOUG Exadata Virtual Conference Vivek Puri Manager Database Administration & Engineered Systems The Sherwin-Williams

More information

ECSE 425 Lecture 1: Course Introduc5on Bre9 H. Meyer

ECSE 425 Lecture 1: Course Introduc5on Bre9 H. Meyer ECSE 425 Lecture 1: Course Introduc5on 2011 Bre9 H. Meyer Staff Instructor: Bre9 H. Meyer, Professor of ECE Email: bre9 dot meyer at mcgill.ca Phone: 514-398- 4210 Office: McConnell 525 OHs: M 14h00-15h00;

More information

Why Transac'ons? Database systems are normally being accessed by many users or processes at the same 'me.

Why Transac'ons? Database systems are normally being accessed by many users or processes at the same 'me. Transac'ons 1 Why Transac'ons? Database systems are normally being accessed by many users or processes at the same 'me. Both queries and modifica'ons. Unlike opera'ng systems, which support interac'on

More information

Distributed Transactional Contention Management as the Traveling Salesman Problem

Distributed Transactional Contention Management as the Traveling Salesman Problem Distributed Transactional Contention Management as the Traveling Salesman Problem Bo Zhang, Binoy Ravindran, Roberto Palmieri Virginia Tech SIROCCO 204 Lock-based concurrency control has serious drawbacks

More information

Transac.on Management. Transac.ons. CISC437/637, Lecture #16 Ben Cartere?e

Transac.on Management. Transac.ons. CISC437/637, Lecture #16 Ben Cartere?e Transac.on Management CISC437/637, Lecture #16 Ben Cartere?e Copyright Ben Cartere?e 1 Transac.ons A transac'on is a unit of program execu.on that accesses and possibly updates rela.ons The DBMS s view

More information

Model Checking Transactional Memories

Model Checking Transactional Memories Model Checking Transactional Memories Abstract Rachid Guerraoui Thomas A. Henzinger Barbara Jobstmann Vasu Singh Model checking software transactional memories (STMs) is difficult because of the unbounded

More information

arxiv: v1 [cs.db] 12 Nov 2018

arxiv: v1 [cs.db] 12 Nov 2018 The Impact of Timestamp Granularity in Optimistic Concurrency Control Yihe Huang Hao Bai Eddie Kohler Harvard University Barbara Liskov MIT Liuba Shrira Brandeis University arxiv:1811.04967v1 [cs.db] 12

More information

1 Publishable Summary

1 Publishable Summary 1 Publishable Summary 1.1 VELOX Motivation and Goals The current trend in designing processors with multiple cores, where cores operate in parallel and each of them supports multiple threads, makes the

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

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

SAMC: Sema+c- Aware Model Checking for Fast Discovery of Deep Bugs in Cloud Systems

SAMC: Sema+c- Aware Model Checking for Fast Discovery of Deep Bugs in Cloud Systems SAMC: Sema+c- Aware Model Checking for Fast Discovery of Deep Bugs in Cloud Systems Tanakorn Leesatapornwongsa, Mingzhe Hao, Pallavi Joshi *, Jeffrey F. Lukman, and Haryadi S. Gunawi * 1 Internet Services

More information

Indistinguishability: Friend and Foe of Concurrent Data Structures. Hagit Attiya CS, Technion

Indistinguishability: Friend and Foe of Concurrent Data Structures. Hagit Attiya CS, Technion Indistinguishability: Friend and Foe of Concurrent Data Structures Hagit Attiya CS, Technion Uncertainty is a main obstacle for designing correct applications in concurrent systems Formally captured by

More information

MegaPipe: A New Programming Interface for Scalable Network I/O

MegaPipe: A New Programming Interface for Scalable Network I/O MegaPipe: A New Programming Interface for Scalable Network I/O Sangjin Han in collabora=on with Sco? Marshall Byung- Gon Chun Sylvia Ratnasamy University of California, Berkeley Yahoo! Research tl;dr?

More information

Disjoint- Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations

Disjoint- Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations Disjoint- Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations Sebastiano Peluso, Roberto Palmieri, Paolo Romano 2, Binoy Ravindran and Francesco Quaglia 3 2

More information

Open Nesting in Software Transactional Memories

Open Nesting in Software Transactional Memories Open Nesting in Software Transactional Memories 1 Open Nesting in Software Transactional Memories Tony Hosking 1 Open Nesting in Software Transactional Memories Tony Hosking Eliot Moss 1 Open Nesting in

More information

Reminder from last <me

Reminder from last <me Concurrent systems Lecture 2: Mutual exclusion and process synchronisa

More information

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics Vulkan: Scaling to Multiple Threads Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics www.imgtec.com Introduction Who am I? Kevin Sun Working at Imagination Technologies Take responsibility

More information

Conflict Detection and Validation Strategies for Software Transactional Memory

Conflict Detection and Validation Strategies for Software Transactional Memory Conflict Detection and Validation Strategies for Software Transactional Memory Michael F. Spear, Virendra J. Marathe, William N. Scherer III, and Michael L. Scott University of Rochester www.cs.rochester.edu/research/synchronization/

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Transactions - Definition A transaction is a sequence of data operations with the following properties: * A Atomic All

More information

Linux kernel synchroniza7on

Linux kernel synchroniza7on Linux kernel synchroniza7on Don Porter CSE 506 Memory Management Logical Diagram Binary Memory Threads Formats Allocators Today s Lecture Synchroniza7on System in Calls the kernel RCU File System Networking

More information

Soft GPGPUs for Embedded FPGAS: An Architectural Evaluation

Soft GPGPUs for Embedded FPGAS: An Architectural Evaluation Soft GPGPUs for Embedded FPGAS: An Architectural Evaluation 2nd International Workshop on Overlay Architectures for FPGAs (OLAF) 2016 Kevin Andryc, Tedy Thomas and Russell Tessier University of Massachusetts

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

Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service

Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service Shay Shmeltzer Director of Product Management Oracle Development Tools and Frameworks @JDevShay hpp://blogs.oracle.com/shay This App you

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

Configura)on Management Founda)ons. Leonardo Gresta Paulino Murta

Configura)on Management Founda)ons. Leonardo Gresta Paulino Murta Configura)on Management Founda)ons Leonardo Gresta Paulino Murta leomurta@ic.uff.br Configura)on Item Hardware or so@ware aggrega)on subject to configura)on management Examples: CM plan Requirement Engineering

More information

DNSSEC Activities In North America: Comcast

DNSSEC Activities In North America: Comcast DNSSEC Activities In North America: Comcast ICANN 45 October 17, 2012 NATIONAL ENGINEERING & TECHNICAL OPERATIONS DNSSEC Deployment Status We began working on this in 2008 (see 4meline) We completed our

More information

Software Transactional Memory Validation Time and Space Considerations

Software Transactional Memory Validation Time and Space Considerations Software Transactional Memory Validation Time and Space Considerations Adam Welc Bratin Saha Programming Systems Lab Intel Corporation Santa Clara, CA 9554 {adam.welc,bratin.saha@intel.com Abstract With

More information

The Art and Science of Memory Alloca4on

The Art and Science of Memory Alloca4on The Art and Science of Memory Alloca4on Don Porter 1 Binary Formats RCU Logical Diagram Memory Allocators Threads User System Calls Kernel Today s Lecture File System Networking Sync Memory Management

More information

Transactional Memory in C++ Hans-J. Boehm. Google and ISO C++ Concurrency Study Group chair ISO C++ Transactional Memory Study Group participant

Transactional Memory in C++ Hans-J. Boehm. Google and ISO C++ Concurrency Study Group chair ISO C++ Transactional Memory Study Group participant Transactional Memory in C++ Hans-J. Boehm Google and ISO C++ Concurrency Study Group chair ISO C++ Transactional Memory Study Group participant 1 Disclaimers I ve been writing concurrent programs for decades,

More information

Advanced Multiprocessor Programming Project Topics and Requirements

Advanced Multiprocessor Programming Project Topics and Requirements Advanced Multiprocessor Programming Project Topics and Requirements Jesper Larsson Trä TU Wien May 5th, 2017 J. L. Trä AMP SS17, Projects 1 / 21 Projects Goal: Get practical, own experience with concurrent

More information

Transaction Memory for Existing Programs Michael M. Swift Haris Volos, Andres Tack, Shan Lu, Adam Welc * University of Wisconsin-Madison, *Intel

Transaction Memory for Existing Programs Michael M. Swift Haris Volos, Andres Tack, Shan Lu, Adam Welc * University of Wisconsin-Madison, *Intel Transaction Memory for Existing Programs Michael M. Swift Haris Volos, Andres Tack, Shan Lu, Adam Welc * University of Wisconsin-Madison, *Intel Where do TM programs ome from?! Parallel benchmarks replacing

More information

OLTP on Hadoop: Reviewing the first Hadoop- based TPC- C benchmarks

OLTP on Hadoop: Reviewing the first Hadoop- based TPC- C benchmarks OLTP on Hadoop: Reviewing the first Hadoop- based TPC- C benchmarks Monte Zweben Co- Founder and Chief Execu6ve Officer John Leach Co- Founder and Chief Technology Officer September 30, 2015 The Tradi6onal

More information

RouteBricks: Exploi2ng Parallelism to Scale So9ware Routers

RouteBricks: Exploi2ng Parallelism to Scale So9ware Routers RouteBricks: Exploi2ng Parallelism to Scale So9ware Routers Mihai Dobrescu and etc. SOSP 2009 Presented by Shuyi Chen Mo2va2on Router design Performance Extensibility They are compe2ng goals Hardware approach

More information

Commit Phase in Timestamp-based STM

Commit Phase in Timestamp-based STM Commit Phase in Timestamp-based STM Rui Zhang Dept. of Computer Science Rice University Houston, TX 77005, USA ruizhang@rice.edu Zoran Budimlić Dept. of Computer Science Rice University Houston, TX 77005,

More information

Summary: Issues / Open Questions:

Summary: Issues / Open Questions: Summary: The paper introduces Transitional Locking II (TL2), a Software Transactional Memory (STM) algorithm, which tries to overcomes most of the safety and performance issues of former STM implementations.

More information

Enhancing Concurrency in Distributed Transactional Memory through Commutativity

Enhancing Concurrency in Distributed Transactional Memory through Commutativity Enhancing Concurrency in Distributed Transactional Memory through Commutativity Junwhan Kim, Roberto Palmieri, and Binoy Ravindran ECE Department, Virginia Tech, Blacksburg, VA, 24061 {junwhan, robertop,

More information

Reusability of So/ware- Defined Networking Applica=ons: A Run=me, Mul=- Controller Approach

Reusability of So/ware- Defined Networking Applica=ons: A Run=me, Mul=- Controller Approach Reusability of So/ware- Defined Networking Applica=ons: A Run=me, Mul=- Controller Approach Roberto Doriguzzi Corin (CREATE- NET), Pedro A. Aranda Gu=érrez (Telefonica), Elisa Rojas (Telcaria), Holger

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

Big Data Technology Incremental Processing using Distributed Transactions

Big Data Technology Incremental Processing using Distributed Transactions Big Data Technology Incremental Processing using Distributed Transactions Eshcar Hillel Yahoo! Ronny Lempel Outbrain *Based on slides by Edward Bortnikov and Ohad Shacham Roadmap Previous classes Stream

More information

THE concept of a transaction forms the foundation of

THE concept of a transaction forms the foundation of ELG7187 TOPICS IN COMPUTERS: MULTIPROCESSOR SYSTEMS ON CHIP - FALL 2010 1 An Introduction to Transactional Memory Jonathan Parri Abstract Parallel programming has become a complex task as systems enabling

More information