Distributed Transactional Contention Management as the Traveling Salesman Problem
|
|
- Chad Wheeler
- 6 years ago
- Views:
Transcription
1 Distributed Transactional Contention Management as the Traveling Salesman Problem Bo Zhang, Binoy Ravindran, Roberto Palmieri Virginia Tech SIROCCO 204
2 Lock-based concurrency control has serious drawbacks Coarse grained locking Simple But no concurrency SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
3 Fine-grained locking is better, but SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Excellent performance Poor programmability Lock problems don t go away! Deadlocks, livelocks, lock-convoying, priority inversion,. Most significant difficulty composition
4 Transactional memory Like database transactions Easier to program Composable First HTM, then STM now HyTM SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
5 Optimistic execution yields performance gains at the simplicity of coarse-grain, but no silver bullet SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Time Coarse-grained locking STM Fine-grained locking High data dependencies Irrevocable operations Interaction between transactions and non-transactions Conditional waiting Threads E.g., C/C++ Intel Run-Time System STM (B. Saha et. al. (2006). McRT- STM: A High Performance Software Transactional Memory. ACM PPoPP)
6 Contention management. Which transaction to abort? T0! T!!! x = x + y;!!!!! x = x / 25;! x = x / 25;! Contention manager Can cause too many aborts, e.g., when a long running transaction conflicts with shorter transactions An aborted transaction may wait too long SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
7 From Mul)processor to Distributed Systems (from STM to DTM) cache cache cache Bus shared memory cache cache cache Bus shared memory Mul$processor TM: Built- in cache- coherence support cache cache cache Bus Distributed TM: Message passing links Intel SMP MESI protocol [3] shared memory Cache- coherence protocol needed SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
8 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan D- STM problem space Cache- coherence protocol Locate and move objects in the network Guarantee the consistency over mul$ple object copies Conflict resolu$on Conserva$ve approach Non- conserva$ve approach Key property: guarantee progress Fault- tolerance Network with node failures Replica$on protocol: manage object replicas
9 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Transac)on execu)on models in DTM Control flow Moving transac$ons, objects are held locally Consistency: distributed commit protocol Inherit the database transac$onal synchroniza$on Data flow Move the object to run all transac$ons locally Synchroniza$on: op$mis$c Conflicts are resolved by conflict resolu$on strategy No need for a distributed commit protocol Easier to exploit locality
10 DTM, how it works A Txn reques$ng object o B Txn holding object o CC.locate(o) A Network B CC.move(o) req(o) req(o) TM Proxy Local Cache Local Cache TM Proxy not found in use Processors (or nodes) connected by message- passing links cmp(a,b) CR(A,B) Distributed cache- coherence protocol (CC) Loca$ng and moving objects in the network Conflict Resolu$on Maintaining consistency among mul$ple copies of an object Conflict resolu$on module (CR) Resolve conflicts among transac$ons How to make the correct/op$mal decision? SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
11 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Design Goal Input The distributed system: nodes communicate via message passing links T: a set of n transactions accessing s shared objects in a metricspace network of m nodes A: conflict resolution strategy C: cache-coherence protocol. Output makespan(a,c): the total time needed to complete the set of transactions under (A,C). Goal: maximize the throughput by minimizing makespan(a,c) over all possible combinations of input (A,C).
12 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Measures of Quality Compare with an optimal clairvoyant off-line scheduling algorithm OPT. OPT has all transactions knowledge in advance. Each transaction is scheduled exactly once under OPT. Competitive ratio: evaluate the optimality of makespan(a,c) CR(A,C) = max (makespan(a,c)/(makespan(opt))
13 Problem statement We can consider the transaction scheduling problem for multiprocessor STM as a subset of the transaction scheduling problem for DTM. The two problems are equivalent as long as the communication cost can be ignored, compared with the local execution time duration. We model contention management as a non-clairvoyant scheduling problem If all transactions are conflicting each other, then a sequential schedule is the best solution. SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
14 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Towards the optimal: Cost Graph Cost Graph: each node in the system is a vertex in the graph each edge (v i, v j ) represents the channel to move an object from node v i to node v j each edge (v i, v j ) is weighted with the cost (d ij ) for moving the object from node v i to node v j V d 2 V 2 d 4 d 3 d 23 d 24 V 4 d 34 V 3
15 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Towards the optimal: Conflict Graph Conflict Graph: each transaction is represented as a numbered node each edge is marked with the object which causes transactions to conflict we can construct a coloring of the conflict graph since transactions with the same color are not connected, every set Ci forms an independent set and can be executed in parallel without facing any conflicts
16 Towards the optimal: Ordering Conflict Graph An optimal offline schedule Opt determines a k-coloring of the conflict graph and an execution order (the ordering conflict graph) such that for any two sets C i and C j, where i < j, if and conflict, and is in C and in, then is postponed until commits There are k! ordering conflict graphs The ordering conflict graph is weighted: Node s weight is the transaction s execution time Arc s weight is the cost for moving the object from the source node to the destination node SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
17 but the optimal is too complex The commit time of a transaction T is determined by one of the weighted paths that ends at T The makespan is the weight of the longest weighted path in the ordering conflict graph The optimal is reached selecting the ordering conflict graph that minimizes the makespan Finding an optimal contention manager is (NP-) hard If each node issues only one transaction and cost of moving objects is negligible, then the problem is equivalent to finding the chromatic number of the conflict graph If the number of shared object is one, the problem is equivalent to finding the traveling salesman path (TSP) in the cost graph SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
18 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Also When each node generates a sequence of transactions, it is not always optimal to schedule transactions according to the ordering conflict graph since the conflict graph evolves over time, an optimal schedule based on a static conflict graph may lose potential parallelism in the future.
19 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Local optimality is not global optimality (2-coloring) O 5 O 4 O O 2 O 3 O 4 O O 9 O O O 0 7 O 6 O O 7 T 2 2 T 3 T T T 5 2 T 2 2 T 7 T Makespan = 4d Not Op)mal! 8
20 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Local optimality is not global optimality (4-coloring) O 5 O 4 O O 2 O 3 O 4 O O 9 O O O 0 7 O 6 O O 7 T 2 2 T 3 Makespan = 3d
21 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Lower Bounds For STM, any online determinis$c CM is Ω(s)- compe$$ve, where s is the number of objects [A[ya et al. 06] For DTM, any online determinis$c work conserva$ve CM is 5 For DTM, a (max[s, s2 ])- D op$mal, where is the normalized network diameter D When the normalized network diameter is bounded (D is a constant), it can only provide a Ω(s 2 )- compe$$ve ra$o. Can we find an approximate op$mal solu$on in reasonable $me?
22 CUTTING CUTTING is a randomized scheduling algorithm based on partitioning the cost graph Assumptions: Transaction T i knows its required set of objects after it starts We assume that the moving cost is bounded at D Input: A set of transactions with their execution time The conflict graph The cost graph An approximate TSP algorithm (ATSP) Output: A schedule for executing transactions SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
23 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Why TSP and why that assumption? T invoked by N writes objects {o 2, o 3 } N 2 stores o 2 ; N3 stores o 3 d 2 N d 4 d 3 N 2 d 23 d 24 N 4 d 34 N 3 Without assumption T Fetch (o 2 ) 2 x d 2 Fetch (o 3 ) N 2 With assumption T d 2 Fetch (o 2, o 3 ) d 23 N 2 2 x d 3 N 3 d 3 N 3 (2 x d 2 ) + (2 x d 3 ) = ~4d d 2 + d 23 + d 3 = ~3d
24 Cutting: how it works The cost graph is partitioned in C partitions such that for any pair of nodes (v i,v j ) belonging to one partition, d ij ATSP/C Within each partition: Nodes are numbered with an integer from to the size of the partition A binary tree is built following nodes numbers Each transaction randomly selects an integer that is used for deciding the transaction to abort after a conflict P P 2 P C v v v v 2 v 3 v 2 v 3 v 2 v 3 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
25 Cutting: how it works Handling conflicts between two transactions: Phase : Ø Within the same partition and one transaction is an ancestor of the other in the partition s binary tree, the node that precedes the other in the ATPS path aborts the other Ø Otherwise the transaction with the lesser partition number aborts the other Phase 2: Ø Each transaction randomly selects an integer (π) when it starts or restarts. If one transaction is not an ancestor of the other, the transaction with the lower π proceeds and the other transaction aborts. Whenever a transaction is aborted by a remote transaction, the requested object is moved to the remote transaction immediately. SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
26 Cutting: analysis The average case competitive ratio of Cutting is O s A log 2 m log 2 n for s objects shared by n transactions invoked by m nodes This is close to the multiprocessor bound of O(s) SIROCCO 204, July 23-25, 204, Hida Takayama, Japan
27 Analysis n2 with probability n2. Hen st integer among all conflicting transactions 2 2 with probability ( l me transaction is O 32e(C C log + m) log nn ( trials + from the average-case perow of study two efficiency measures oflncutting n2 ) > otal, TaOther needs at most results on Cutting ive: the average response time (how long it takes for Therefore, a transactionbytoinduction, commit ). verage) andlthe averagetmakespan. L of Bt(P ) needs at most ( + q A transaction needs: t 2 nsaction T invoked by a level-l node v action needs O C log m log n trials, on av(+log2 L) log2 L at least 2 log A8e(C + ) nt trials probability 2n2 ma transaction needs Oa C log m log n trials from the moment it. N of 2a6Ltrial, i.e., thelntime untilwith transaction voked untila it commits, on Note transaction canaverage. only selectofa trials: new E[# of trials a transaction n canthat calculate the average number trials from the it is invoked until itsince commits, onthe starting 2 moment when (locally or remotely). Hence, if a transaccommit]average = O C log m log n. f.the Wesame startpartition, from transaction T selected, invoked by root nodethat v 2a Bt(P the duration is at most t ). probability transactio the ATSP patha is randomly thethe v is the T cannot be aborted by another ancestor in Bt(Pt ). Hence, nsaction inroot, another partition, the. duration is follows. Lmax L+ ated at level L is /2 The lemma 0 ntion onlysends aborted when chooses a larger than, is: which is the integer itsaverage requests ofit objects simultaneq be The response time of a transaction 0 n by a conflicting transaction T 0transactions, invoked by node v 2 Pt08. The nsaction conflicts with multiple Lemma Theprobability average resp 0 2T Atsp for transaction T, no transaction 2 selects thea same random number knows is the transaction closest to it.nn From T ( me of a transaction is O C log m log + ). Q C (T ) m 0 0 is:by Pr(@T 2 NT from = )other = partitions ( ) ( ) ( rted transactions by 0 NT m m m) e, expected time a transaction otethe that (T ) commit C m. Onofthe other hand, the probability that is6,ateach Proof. From Lemma 0 0 Cutting is The lemma q The average-case ratio as small as follows. O for transaction Tof is at least Thus, the ction needs C any log2conflicting m logcompetitive n trials, on average. We (C+) now.study the du of a trial, i.e., the time until a transaction 2its neighbors 2can select ability that is smallest among all is at least a new random num e(c+). petitive ratio of Cutting is O s A log m log n. oteuse that transaction can only select a new random number after it is a We thea following Cherno bound: ound provided by Lemma 7 andiflemma 8, tion conflicts with a transac (locally or remotely). Hence, a transacma same 7 Let partition, X, Xwith, Xnduration be independent Poisson trials such that, for 2,...the Atsp uces a schedule average-case makespan A the is at most P X+= Cn ; X if,itµconflicts with 2 i = )2= pi, where, Pr(X 0 p. Then, for = E[X] = i i SIROCCO 204, July 23 25, 204, Hida Takayama, Japan N log m log n + Atsp ), where N is i=
28 SIROCCO 204, July 23-25, 204, Hida Takayama, Japan Thanks! Questions? Research project s web-site:
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 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 informationSupporting Software Transactional Memory in Distributed Systems: Protocols for Cache-Coherence, Conflict Resolution and Replication
Supporting Software Transactional Memory in Distributed Systems: Protocols for Cache-Coherence, Conflict Resolution and Replication Bo Zhang Dissertation Submitted to the Faculty of the Virginia Polytechnic
More informationMulti-Core Computing with Transactional Memory. Johannes Schneider and Prof. Roger Wattenhofer
Multi-Core Computing with Transactional Memory Johannes Schneider and Prof. Roger Wattenhofer 1 Overview Introduction Difficulties with parallel (multi-core) programming A (partial) solution: Transactional
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 informationLocation-Aware Cache-Coherence Protocols for Distributed Transactional Contention Management in Metric-Space Networks
Location-Aware Cache-Coherence Protocols for Distributed ransactional Contention Management in Metric-Space Networks Bo Zhang, Binoy Ravindran ECE Department, Virginia ech Blacksburg, VA 24061, USA {alexzbzb,
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 informationScheduling Memory Transactions in Distributed Systems
Scheduling Memory Transactions in Distributed Systems Junwhan Kim Preliminary Examination Proposal Submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment
More informationAutomated Data Partitioning for Highly Scalable and Strongly Consistent Transactions
Automated Data Partitioning for Highly Scalable and Strongly Consistent Transactions Alexandru Turcu, Roberto Palmieri, Binoy Ravindran Virginia Tech SYSTOR 2014 Desirable properties in distribute transactional
More informationTransactional Memory: Architectural Support for Lock-Free Data Structures Maurice Herlihy and J. Eliot B. Moss ISCA 93
Transactional Memory: Architectural Support for Lock-Free Data Structures Maurice Herlihy and J. Eliot B. Moss ISCA 93 What are lock-free data structures A shared data structure is lock-free if its operations
More informationChapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems!
Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and
More informationLecture: 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 informationMohamed M. Saad & Binoy Ravindran
Mohamed M. Saad & Binoy Ravindran VT-MENA Program Electrical & Computer Engineering Department Virginia Polytechnic Institute and State University TRANSACT 11 San Jose, CA An operation (or set of operations)
More informationLecture 21: Transactional Memory. Topics: consistency model recap, introduction to transactional memory
Lecture 21: Transactional Memory Topics: consistency model recap, introduction to transactional memory 1 Example Programs Initially, A = B = 0 P1 P2 A = 1 B = 1 if (B == 0) if (A == 0) critical section
More informationThis chapter is based on the article Distributed Computing and the Multicore Revolution by Maurice Herlihy and Victor Luchangco. Thanks!
Chapter 25 Multi-Core Computing This chapter is based on the article Distributed Computing and the Multicore Revolution by Maurice Herlihy and Victor Luchangco. Thanks! 25.1 Introduction In the near future,
More informationUniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling
Uniprocessor Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Three level scheduling 2 1 Types of Scheduling 3 Long- and Medium-Term Schedulers Long-term scheduler Determines which programs
More informationLecture 21: Transactional Memory. Topics: Hardware TM basics, different implementations
Lecture 21: Transactional Memory Topics: Hardware TM basics, different implementations 1 Transactions New paradigm to simplify programming instead of lock-unlock, use transaction begin-end locks are blocking,
More informationThe 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 informationMultiprocessor Support
CSC 256/456: Operating Systems Multiprocessor Support John Criswell University of Rochester 1 Outline Multiprocessor hardware Types of multi-processor workloads Operating system issues Where to run the
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 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 informationLecture: Transactional Memory, Networks. Topics: TM implementations, on-chip networks
Lecture: Transactional Memory, Networks Topics: TM implementations, on-chip networks 1 Summary of TM Benefits As easy to program as coarse-grain locks Performance similar to fine-grain locks Avoids deadlock
More information1 The Traveling Salesperson Problem (TSP)
CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation
More informationLecture: Consistency Models, TM. Topics: consistency models, TM intro (Section 5.6)
Lecture: Consistency Models, TM Topics: consistency models, TM intro (Section 5.6) 1 Coherence Vs. Consistency Recall that coherence guarantees (i) that a write will eventually be seen by other processors,
More informationAlgorithms for Euclidean TSP
This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation
More informationDistributed Computing Column 54 Transactional Memory: Models and Algorithms
Distributed Computing Column 54 Transactional Memory: Models and Algorithms Jennifer L. Welch Department of Computer Science and Engineering Texas A&M University, College Station, TX 77843-3112, USA welch@cse.tamu.edu
More informationMutex 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 informationChapter 20: Database System Architectures
Chapter 20: Database System Architectures Chapter 20: Database System Architectures Centralized and Client-Server Systems Server System Architectures Parallel Systems Distributed Systems Network Types
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 informationLow Overhead Concurrency Control for Partitioned Main Memory Databases. Evan P. C. Jones Daniel J. Abadi Samuel Madden"
Low Overhead Concurrency Control for Partitioned Main Memory Databases Evan P. C. Jones Daniel J. Abadi Samuel Madden" Banks" Payment Processing" Airline Reservations" E-Commerce" Web 2.0" Problem:" Millions
More informationIntroduction to Data Management CSE 344
Introduction to Data Management CSE 344 Lecture 22: More Transaction Implementations 1 Review: Schedules, schedules, schedules The DBMS scheduler determines the order of operations from txns are executed
More informationDynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed
Dynamic programming Solves a complex problem by breaking it down into subproblems Each subproblem is broken down recursively until a trivial problem is reached Computation itself is not recursive: problems
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation
More informationBounds On Contention Management Algorithms
Bounds On Contention Management Algorithms Johannes Schneider 1, Roger Wattenhofer 1 Computer Engineering and Networks Laboratory, ETH Zurich, 8092 Zurich, Switzerland TIK Technical Report Nr. 311, September
More informationMulti-Processor / Parallel Processing
Parallel Processing: Multi-Processor / Parallel Processing Originally, the computer has been viewed as a sequential machine. Most computer programming languages require the programmer to specify algorithms
More informationLecture 23 Database System Architectures
CMSC 461, Database Management Systems Spring 2018 Lecture 23 Database System Architectures These slides are based on Database System Concepts 6 th edition book (whereas some quotes and figures are used
More informationTheorem 2.9: nearest addition algorithm
There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used
More informationLecture: Consistency Models, TM
Lecture: Consistency Models, TM Topics: consistency models, TM intro (Section 5.6) No class on Monday (please watch TM videos) Wednesday: TM wrap-up, interconnection networks 1 Coherence Vs. Consistency
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 informationTransac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * Technion Yahoo Research
Transac'onal Libraries Alexander Spiegelman *, Guy Golan-Gueta, and Idit Keidar * * Technion Yahoo Research 1 Mul'-Threading is Everywhere 2 Agenda Mo@va@on Concurrent Data Structure Libraries (CDSLs)
More informationTraveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost
Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R
More informationNotes for Lecture 24
U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined
More informationLecture 6: Lazy Transactional Memory. Topics: TM semantics and implementation details of lazy TM
Lecture 6: Lazy Transactional Memory Topics: TM semantics and implementation details of lazy TM 1 Transactions Access to shared variables is encapsulated within transactions the system gives the illusion
More informationComputer Architecture
Jens Teubner Computer Architecture Summer 2016 1 Computer Architecture Jens Teubner, TU Dortmund jens.teubner@cs.tu-dortmund.de Summer 2016 Jens Teubner Computer Architecture Summer 2016 83 Part III Multi-Core
More informationEE/CSCI 451 Midterm 1
EE/CSCI 451 Midterm 1 Spring 2018 Instructor: Xuehai Qian Friday: 02/26/2018 Problem # Topic Points Score 1 Definitions 20 2 Memory System Performance 10 3 Cache Performance 10 4 Shared Memory Programming
More informationAn O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem
An O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem and more recent developments CATS @ UMD April 22, 2016 The Asymmetric Traveling Salesman Problem (ATSP) Problem
More informationLecture 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 informationHardness of Approximation for the TSP. Michael Lampis LAMSADE Université Paris Dauphine
Hardness of Approximation for the TSP Michael Lampis LAMSADE Université Paris Dauphine Sep 2, 2015 Overview Hardness of Approximation What is it? How to do it? (Easy) Examples The PCP Theorem What is it?
More informationChapter 9 Multiprocessors
ECE200 Computer Organization Chapter 9 Multiprocessors David H. lbonesi and the University of Rochester Henk Corporaal, TU Eindhoven, Netherlands Jari Nurmi, Tampere University of Technology, Finland University
More informationAutonomic Thread Parallelism and Mapping Control for Software Transactional Memory
Autonomic Thread Parallelism and Mapping Control for Software Transactional Memory Presented by Naweiluo Zhou PhD Supervisors: Dr. Gwenae l Delaval Dr. E ric Rutten Prof. Jean-Franc ois Me haut PhD Defence
More informationReminder from last time
Concurrent systems Lecture 7: Crash recovery, lock-free programming, and transactional memory DrRobert N. M. Watson 1 Reminder from last time History graphs; good (and bad) schedules Isolation vs. strict
More information6 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 informationRelaxing 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 informationSynchronization. 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 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 informationbool 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 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 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 informationCOT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748
COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu http://www.cs.fiu.edu/~giri/teach/cot6936_s12.html https://moodle.cis.fiu.edu/v2.1/course/view.php?id=174
More informationA Competitive Analysis for Balanced Transactional Memory Workloads
A Competitive Analysis for Balanced Transactional Memory Workloads Gokarna Sharma and Costas Busch Department of Computer Science, Louisiana State University Baton Rouge, LA 70803, USA {gokarna,busch}@csc.lsu.edu
More informationLecture 9: Load Balancing & Resource Allocation
Lecture 9: Load Balancing & Resource Allocation Introduction Moler s law, Sullivan s theorem give upper bounds on the speed-up that can be achieved using multiple processors. But to get these need to efficiently
More informationTRANSACTION MEMORY. Presented by Hussain Sattuwala Ramya Somuri
TRANSACTION MEMORY Presented by Hussain Sattuwala Ramya Somuri AGENDA Issues with Lock Free Synchronization Transaction Memory Hardware Transaction Memory Software Transaction Memory Conclusion 1 ISSUES
More informationLecture 12: TM, Consistency Models. Topics: TM pathologies, sequential consistency, hw and hw/sw optimizations
Lecture 12: TM, Consistency Models Topics: TM pathologies, sequential consistency, hw and hw/sw optimizations 1 Paper on TM Pathologies (ISCA 08) LL: lazy versioning, lazy conflict detection, committing
More informationMetaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini
Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution
More informationEnsuring dependability and improving performance of transactional systems deployed on multi-core architectures
Ensuring dependability and improving performance of transactional systems deployed on multi-core architectures Mohamed Mohamedin Preliminary Examination Proposal submitted to the Faculty of the Virginia
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 informationHardware 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 informationCS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University
CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):
More informationL i (A) = transaction T i acquires lock for element A. U i (A) = transaction T i releases lock for element A
Lock-Based Scheduler Introduction to Data Management CSE 344 Lecture 20: Transactions Simple idea: Each element has a unique lock Each transaction must first acquire the lock before reading/writing that
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 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 informationAn Automated Framework for Decomposing Memory Transactions to Exploit Partial Rollback
An Automated Framework for Decomposing Memory Transactions to Exploit Partial Rollback Aditya Dhoke Virginia Tech adityad@vt.edu Roberto Palmieri Virginia Tech robertop@vt.edu Binoy Ravindran Virginia
More informationConcurrent Preliminaries
Concurrent Preliminaries Sagi Katorza Tel Aviv University 09/12/2014 1 Outline Hardware infrastructure Hardware primitives Mutual exclusion Work sharing and termination detection Concurrent data structures
More informationApproximation Algorithms
Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms Tamassia Approximation Algorithms 1 Applications One of
More informationScheduling Memory Transactions in Distributed Systems
Scheduling Memory Transactions in Distributed Systems Junwhan Kim Dissertation Submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements
More informationA Quorum-Based Replication Framework for Distributed Software Transactional Memory
A Quorum-Based Replication Framework for Distributed Software Transactional Memory Bo Zhang ECE Department, Virginia Tech Blacksburg, VA 24061, USA alexzbzb@vt.edu Binoy Ravindran ECE Department, Virginia
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 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 informationReal-Time Scalability of Nested Spin Locks. Hiroaki Takada and Ken Sakamura. Faculty of Science, University of Tokyo
Real-Time Scalability of Nested Spin Locks Hiroaki Takada and Ken Sakamura Department of Information Science, Faculty of Science, University of Tokyo 7-3-1, Hongo, Bunkyo-ku, Tokyo 113, Japan Abstract
More informationIntroduction to Graph Theory
Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex
More informationFollowing are a few basic questions that cover the essentials of OS:
Operating Systems Following are a few basic questions that cover the essentials of OS: 1. Explain the concept of Reentrancy. It is a useful, memory-saving technique for multiprogrammed timesharing systems.
More informationTransactional 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 informationLecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017
COMPSCI 632: Approximation Algorithms August 30, 2017 Lecturer: Debmalya Panigrahi Lecture 2 Scribe: Nat Kell 1 Introduction In this lecture, we examine a variety of problems for which we give greedy approximation
More informationLecture Notes: Euclidean Traveling Salesman Problem
IOE 691: Approximation Algorithms Date: 2/6/2017, 2/8/2017 ecture Notes: Euclidean Traveling Salesman Problem Instructor: Viswanath Nagarajan Scribe: Miao Yu 1 Introduction In the Euclidean Traveling Salesman
More informationLecture 4: Directory Protocols and TM. Topics: corner cases in directory protocols, lazy TM
Lecture 4: Directory Protocols and TM Topics: corner cases in directory protocols, lazy TM 1 Handling Reads When the home receives a read request, it looks up memory (speculative read) and directory in
More informationDr e v prasad Dt
Dr e v prasad Dt. 12.10.17 Contents Characteristics of Multiprocessors Interconnection Structures Inter Processor Arbitration Inter Processor communication and synchronization Cache Coherence Introduction
More informationPortland State University ECE 588/688. Transactional Memory
Portland State University ECE 588/688 Transactional Memory Copyright by Alaa Alameldeen 2018 Issues with Lock Synchronization Priority Inversion A lower-priority thread is preempted while holding a lock
More informationTRANSACTION PROCESSING CONCEPTS
1 Transaction CHAPTER 9 TRANSACTION PROCESSING CONCEPTS A Transaction refers to a logical unit of work in DBMS, which comprises a set of DML statements that are to be executed atomically (indivisibly).
More information230 Chapter 17. (c) Otherwise, T writes O and WTS(O) is set to TS(T).
230 Chapter 17 (c) Otherwise, T writes O and WTS(O) is set to TS(T). The justification is as follows: had TS(T )
More informationConcurrent Programming Synchronisation. CISTER Summer Internship 2017
1 Concurrent Programming Synchronisation CISTER Summer Internship 2017 Luís Nogueira lmn@isep.ipp.pt 2 Introduction Multitasking Concept of overlapping the computation of a program with another one Central
More informationTravelling Salesman Problem. Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij
Travelling Salesman Problem Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij 1 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics,
More informationT ransaction Management 4/23/2018 1
T ransaction Management 4/23/2018 1 Air-line Reservation 10 available seats vs 15 travel agents. How do you design a robust and fair reservation system? Do not enough resources Fair policy to every body
More informationGraph and Digraph Glossary
1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose
More informationApproximation Algorithms
Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.
More informationHiperTM: High Performance, Fault-Tolerant Transactional Memory
HiperTM: High Performance, Fault-Tolerant Transactional Memory Sachin Hirve, Roberto Palmieri 1, Binoy Ravindran Virginia Tech, Blacksburg VA 2461, USA Abstract We present HiperTM, a high performance active
More informationTransactional Memory
Transactional Memory Architectural Support for Practical Parallel Programming The TCC Research Group Computer Systems Lab Stanford University http://tcc.stanford.edu TCC Overview - January 2007 The Era
More informationSoftware-Controlled Multithreading Using Informing Memory Operations
Software-Controlled Multithreading Using Informing Memory Operations Todd C. Mowry Computer Science Department University Sherwyn R. Ramkissoon Department of Electrical & Computer Engineering University
More informationCSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable)
CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable) Past & Present Have looked at two constraints: Mutual exclusion constraint between two events is a requirement that
More informationCSCI 136: Fundamentals of Computer Science II. Keith Vertanen Museum 102 h8p://ka<e.mtech.edu/classes/csci136
CSCI 136: Fundamentals of Computer Science II Keith Vertanen Museum 102 kvertanen@mtech.edu h8p://ka
More informationApproximation Algorithms
Chapter 8 Approximation Algorithms Algorithm Theory WS 2016/17 Fabian Kuhn Approximation Algorithms Optimization appears everywhere in computer science We have seen many examples, e.g.: scheduling jobs
More information