Transac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * Technion Yahoo Research
|
|
- Branden Tyler
- 5 years ago
- Views:
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; } }
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 informationOn 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 informationLock 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 informationA 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 informationConcurrent systems Lecture 7: Crash recovery, lock- free programming, and transac<onal memory. Dr Robert N. M. Watson
Concurrent systems Lecture 7: Crash recovery, lock- free programming, and transac
More informationIntegrating 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 informationEnhancing 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 informationMcRT-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 informationTransactional 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 informationAgenda. 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 information6.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 informationSoftware 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 informationLinked 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 informationChí 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 informationTools 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 informationEarly 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 informationWhat 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 informationOn 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 informationHow 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 informationFalse 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 informationA 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 informationDesign 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 informationTowards 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 informationOutline. 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 informationUPCRC. 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 informationDistributed 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 informationCSE 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 informationECSE 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 informationScheduling 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 informationOn 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 informationRaceMob: 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 informationCost 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 informationEigenBench: 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 informationTransaction 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 informationOptimistic 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 informationComposable 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 informationRemote 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 informationHydraVM: 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 informationThere 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 informationPerformance 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 informationSEDA 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 informationConcurrent 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 informationMaintaining 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 informationDesign 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 informationMain 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 informationTransactional 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 informationDatabase 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 informationHardware 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 informationPractice 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 informationNON-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 informationTransactifying 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 informationCLOUD 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 informationSynchroniza+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 informationHomework 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 informationComposable 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 informationINTRODUCTION. 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 informationEffec%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 informationAn 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 informationImproving 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 informationHigh-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 informationDatabase 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 informationECSE 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 informationWhy 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 informationDistributed 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 informationTransac.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 informationModel 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 informationarxiv: 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 information1 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 informationEvaluating 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 informationRemote 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 informationSAMC: 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 informationIndistinguishability: 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 informationMegaPipe: 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 informationDisjoint- 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 informationOpen 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 informationReminder from last <me
Concurrent systems Lecture 2: Mutual exclusion and process synchronisa
More informationVulkan: 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 informationConflict 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) Transactions - Definition A transaction is a sequence of data operations with the following properties: * A Atomic All
More informationLinux 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 informationSoft 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 informationImplementing 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 informationCrea?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 informationFine- 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 informationConfigura)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 informationDNSSEC 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 informationSoftware 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 informationThe 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 informationTransactional 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 informationAdvanced 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 informationTransaction 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 informationOLTP 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 informationRouteBricks: 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 informationCommit 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 informationSummary: 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 informationEnhancing 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 informationReusability 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 informationTransactional 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 informationBig 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 informationTHE 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