Local Linearizability
|
|
- Tiffany Bridges
- 6 years ago
- Views:
Transcription
1 Local Linearizability joint work with: Andreas Haas Andreas Holzer Michael Lippautz Ali Sezgin Tom Henzinger Christoph Kirsch Hannes Payer Helmut Veith
2 Concurrent Data Structures Correctness and Performance
3 Semantics of concurrent data structures t1: enq(2) deq(1) t2: enq(1) deq(2) e.g. pools, queues, stacks Sequential specification = set of legal sequences Consistency condition = e.g. linearizability / sequential consistency e.g. queue legal sequence enq(1)enq(2)deq(1)deq(2) e.g. the concurrent history above is a linearizable queue concurrent history
4 Consistency conditions there exists a legal sequence that preserves precedence Linearizability [Herlihy,Wing 90] 2 3 t1: enq(2) deq(1) t2: 1 enq(1) deq(2) 4 Sequential Consistency [Lamport 79] there exists a legal sequence that preserves per-thread precedence (program order) t1: 1enq(1) deq(2) t2: deq(1) enq(2) 2 3 4
5 Performance and scalability :-))) throughput :-) :-( :-\ # of threads / cores
6 Relaxations allow trading correctness for performance provide the potential for better-performing implementations
7 Relaxing the Semantics not sequentially correct Quantitative relaxations Henzinger, Kirsch, Payer, Sezgin,S. POPL13 Sequential specification = set of legal sequences Consistency condition = e.g. linearizability / sequential consistency for queues only (feel free to ask for more) too weak Local linearizability in this talk
8 Local Linearizability main idea Already present in some shared-memory consistency conditions (not in our form of choice) Partition a history into a set of local histories Require linearizability per local history no global witness Local sequential consistency is also possible
9 Local Linearizability (queue) example (sequential) history not linearizable t1: enq(1) deq(2) t2: enq(2) deq(1) t2-induced history, linearizable t1-induced history, linearizable locally linearizable
10 Local Linearizability (queue) definition Queue signature = {enq(x) x V} {deq(x) x V} {deq(empty)} For a history h with a thread T, we put IT = {enq(x) T h x V} in-methods of thread T are enqueues performed by thread T OT = {deq(x) T h enq(x) T IT} {deq(empty)} out-methods of thread T are dequeues (performed by any thread) corresponding to enqueues that are in-methods h is locally linearizable iff every thread-induced history ht= h (IT OT) is linearizable.
11 Local Linearizability for Container-Type DS Signature = Ins Rem SOb DOb For a history h with a thread T, we put IT = {m T h m Ins} in-methods of thread T are inserts performed by thread T OT = {m(a) h Rem i(a) T IT} {m(e) e Emp} {m(a) h DOb i(a) T IT} out-methods of thread T are removes and data-observations (performed by any thread) corresponding to in-methods h is locally linearizable iff every thread-induced history ht= h (IT OT) is linearizable.
12 Where do we stand? In general Linearizability Local Linearizability Sequential Consistency
13 Where do we stand? For queues (and most container-type data structures) Linearizability Local Linearizability Sequential Consistency
14 Properties Local linearizability is compositional like linearizability unlike sequential consistency h (over multiple objects) is locally linearizable iff each per-object subhistory of h is locally linearizable Local linearizability is modular / decompositional uses decomposition into smaller histories, by definition may allow for modular verification
15 Verification (queue) Queue sequential specification (axiomatic) s is a legal queue sequence iff 1. s is a legal pool sequence, and 2. enq(x) <s enq(y) deq(y) s deq(x) s deq(x) <s deq(y) Queue linearizability (axiomatic) Henzinger, Sezgin, Vafeiadis CONCUR13 h is queue linearizable iff 1. h is pool linearizable, and 2. enq(x) <h enq(y) deq(y) h deq(x) h deq(y) h deq(x) precedence order
16 Verification (queue) Queue sequential specification (axiomatic) s is a legal queue sequence iff 1. s is a legal pool sequence, and 2. enq(x) <s enq(y) deq(y) s deq(x) s deq(x) <s deq(y) Queue local linearizability (axiomatic) h is queue locally linearizable iff 1. h is pool locally linearizable, and 2. enq(x) <h i enq(y) deq(y) h deq(x) h deq(y) h deq(x) thread-local precedence order
17 Generic Implementations Your favorite linearizable data structure implementation Φ turns into a locally linearizable implementation by: t1 t2 tn segment of possibly dynamic size (n) LLD Φ (locally linearizable) Φ Φ Φ LL+D Φ local inserts / global (randomly distributed) removes (also pool linearizable)
18 million operations per sec (more is better) Performance number of threads LL+D MS queue performs significantly better than MS queue MS LCRQ k-fifo LL+D MS LLD LCRQ LLD k-fifo 1-RA DQ (a) Queues, LL queues, and queue-like pools
19 million operations per sec (more is better) Performance number of threads LLD Φ performs significantly better than Φ MS LCRQ k-fifo LL+D MS LLD LCRQ LLD k-fifo 1-RA DQ (a) Queues, LL queues, and queue-like pools
20 million operations per sec (more is better) Performance number of threads LL+D MS queue performs better than the best known pools MS LCRQ k-fifo LL+D MS LLD LCRQ LLD k-fifo 1-RA DQ (a) Queues, LL queues, and queue-like pools
21 Thank You! Local Linearizability joint work with: Andreas Haas Andreas Holzer Michael Lippautz Ali Sezgin Tom Henzinger Christoph Kirsch Hannes Payer Helmut Veith
22 Thank You! Local Linearizability joint work with: Andreas Haas Andreas Holzer Michael Lippautz Ali Sezgin Tom Henzinger Christoph Kirsch Hannes Payer Helmut Veith
Design of Concurrent and Distributed Data Structures
METIS Spring School, Agadir, Morocco, May 2015 Design of Concurrent and Distributed Data Structures Christoph Kirsch University of Salzburg Joint work with M. Dodds, A. Haas, T.A. Henzinger, A. Holzer,
More informationarxiv: v4 [cs.pl] 24 Jun 2016
Local Linearizability Andreas Haas 1, Thomas A. Henzinger 2, Andreas Holzer 3, Christoph M. Kirsch 4, Michael Lippautz 1, Hannes Payer 1, Ali Sezgin 5, Ana Sokolova 4, and Helmut Veith 6,7 1 Google Inc.
More informationLocal Linearizability for Concurrent Container-Type Data Structures
Local Linearizability for Concurrent Container-Type Data Structures Andreas Haas 1, Thomas A. Henzinger 2, Andreas Holzer 3, Christoph M. Kirsch 4, Michael Lippautz 1, Hannes Payer 1, Ali Sezgin 5, Ana
More informationStory so far. Parallel Data Structures. Parallel data structure. Working smoothly with Galois iterators
Story so far Parallel Data Structures Wirth s motto Algorithm + Data structure = Program So far, we have studied parallelism in regular and irregular algorithms scheduling techniques for exploiting parallelism
More informationShared Objects. Shared Objects
Shared Objects Shared Objects Invoked operations have a non-zero duration Invocations can overlap Useful for: modeling distributed shared memory Objects can be combined together to implement higher level
More informationLinearizability Checking: Reductions to State Reachability
Linearizability Checking: Reductions to State Reachability Ahmed Bouajjani Univ Paris Diderot - Paris 7 Joint work with Michael Emmi Constantin Enea Jad Hamza Bell Labs, Nokia Univ Paris Diderot EPFL IMS-NUS,
More informationConcurrent Objects and Linearizability
Chapter 3 Concurrent Objects and Linearizability 3.1 Specifying Objects An object in languages such as Java and C++ is a container for data. Each object provides a set of methods that are the only way
More informationRound-Up: Runtime Checking Quasi Linearizability of Concurrent Data Structures
Round-Up: Runtime Checking Quasi Linearizability of Concurrent Data Structures Lu Zhang, Arijit Chattopadhyay, and Chao Wang Department of ECE, Virginia Tech Blacksburg, VA 24061, USA {zhanglu, arijitvt,
More informationDistributed Queues in Shared Memory
Distributed Queues in Shared Memory Multicore Performance and Scalability through Quantitative Relaxation Andreas Haas University of Salzburg ahaas@cs.unisalzburg.at Michael Lippautz University of Salzburg
More informationRound-Up: Runtime Verification of Quasi Linearizability for Concurrent Data Structures
1 Round-Up: Runtime Verification of Quasi Linearizability for Concurrent Data Structures Lu Zhang, Arijit Chattopadhyay, and Chao Wang, Member, IEEE Abstract We propose a new method for runtime checking
More informationPerformance, Scalability, and Semantics of Concurrent FIFO Queues
Performance, Scalability, and Semantics of Concurrent FIFO Queues Christoph M. Kirsch Hannes Payer Harald Röck Ana Sokolova Department of Computer Sciences University of Salzburg, Austria firstname.lastname@cs.uni-salzburg.at
More informationQuantitative Relaxation of Concurrent Data Structures
Quantitative Relaxation of Concurrent Data Structures Thomas A. Henzinger Christoph M. Kirsch` Hannes Payer` Ali Sezgin Ana Sokolova` IST Austria `University of Salzburg {tah,asezgin}@ist.ac.at firstname.lastname@cs.uni-salzburg.at
More informationPerformance, Scalability, and Semantics of Concurrent FIFO Queues
Performance, Scalability, and Semantics of Concurrent FIFO Queues Christoph M. Kirsch Hannes Payer Harald Röck Ana Sokolova Technical Report 2011-03 September 2011 Department of Computer Sciences Jakob-Haringer-Straße
More informationDREU Research. Alyssa Byrnes, Graduate Mentor: Edward Talmage, Faculty Mentor: Jennifer Welch August 26, 2015
DREU Research Alyssa Byrnes, Graduate Mentor: Edward Talmage, Faculty Mentor: Jennifer Welch August 26, 2015 Abstract Cloud computing has increased interest in implementing shared data objects in messagepassing
More informationThe Wait-Free Hierarchy
Jennifer L. Welch References 1 M. Herlihy, Wait-Free Synchronization, ACM TOPLAS, 13(1):124-149 (1991) M. Fischer, N. Lynch, and M. Paterson, Impossibility of Distributed Consensus with One Faulty Process,
More informationReview of last lecture. Peer Quiz. DPHPC Overview. Goals of this lecture. Lock-based queue
Review of last lecture Design of Parallel and High-Performance Computing Fall 2016 Lecture: Linearizability Motivational video: https://www.youtube.com/watch?v=qx2driqxnbs Instructor: Torsten Hoefler &
More informationQuasi-Linearizability Relaxed Consistency For Improved Concurrency
TEL-AVIV UNIVERSITY RAYMOND AND BEVERLY SACKLER FACULTY OF EXACT SCIENCES SCHOOL OF COMPUTER SCIENCE Quasi-Linearizability Relaxed Consistency For Improved Concurrency Dissertation submitted in partial
More informationTesting for Linearizability
CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. 0000; 00:1 22 Published online in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/cpe Testing for
More informationConcurrent Objects. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Concurrent Objects Companion slides for The by Maurice Herlihy & Nir Shavit Concurrent Computation memory object object 2 Objectivism What is a concurrent object? How do we describe one? How do we implement
More informationOverview of Lecture 4. Memory Models, Atomicity & Performance. Ben-Ari Concurrency Model. Dekker s Algorithm 4
Concurrent and Distributed Programming http://fmt.cs.utwente.nl/courses/cdp/ Overview of Lecture 4 2 Memory Models, tomicity & Performance HC 4 - Tuesday, 6 December 2011 http://fmt.cs.utwente.nl/~marieke/
More informationReview of last lecture. Goals of this lecture. DPHPC Overview. Lock-based queue. Lock-based queue
Review of last lecture Design of Parallel and High-Performance Computing Fall 2013 Lecture: Linearizability Instructor: Torsten Hoefler & Markus Püschel TA: Timo Schneider Cache-coherence is not enough!
More informationRiSE: Relaxed Systems Engineering? Christoph Kirsch University of Salzburg
RiSE: Relaxed Systems Engineering? Christoph Kirsch University of Salzburg Application: >10k #threads, producer/consumer, blocking Hardware: CPUs, cores, MMUs,, caches Application: >10k #threads, producer/consumer,
More informationSection 4 Concurrent Objects Correctness, Progress and Efficiency
Section 4 Concurrent Objects Correctness, Progress and Efficiency CS586 - Panagiota Fatourou 1 Concurrent Objects A concurrent object is a data object shared by concurrently executing processes. Each object
More informationThe Next Frontier of Cloud Computing is in the Clouds, Literally
The Next Frontier of Cloud Computing is in the Clouds, Literally Silviu Craciunas, Andreas Haas Christoph Kirsch, Hannes Payer Harald Röck, Andreas Rottmann Ana Sokolova, Rainer Trummer Joshua Love Raja
More informationLinearizability of Persistent Memory Objects
Linearizability of Persistent Memory Objects Michael L. Scott Joint work with Joseph Izraelevitz & Hammurabi Mendes www.cs.rochester.edu/research/synchronization/ Workshop on the Theory of Transactional
More informationLecture 4: Languages, Fast Locks, and Lock-free
T. HOEFLER, M. PUESCHEL Lecture 4: Languages, Fast Locks, and Lock-free Teaching assistant: Salvatore Di Girolamo Motivational video: https://www.youtube.com/watch?v=1o4yvibagu0 So, a computing scientist
More informationReview of last lecture. Peer Quiz. DPHPC Overview. Goals of this lecture. Is coherence everything?
Review of last lecture Design of Parallel and High-Performance Computing Fall Lecture: Memory Models Motivational video: https://www.youtube.com/watch?v=twhtg4ous Instructor: Torsten Hoefler & Markus Püschel
More informationParallel Programming in Distributed Systems Or Distributed Systems in Parallel Programming
Parallel Programming in Distributed Systems Or Distributed Systems in Parallel Programming Philippas Tsigas Chalmers University of Technology Computer Science and Engineering Department Philippas Tsigas
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 informationProving linearizability & lock-freedom
Proving linearizability & lock-freedom Viktor Vafeiadis MPI-SWS Michael & Scott non-blocking queue head tail X 1 3 2 null CAS compare & swap CAS (address, expectedvalue, newvalue) { atomic { if ( *address
More informationReplacing Competition with Cooperation to Achieve Scalable Lock-Free FIFO Queues
Replacing Competition with Cooperation to Achieve Scalable Lock-Free FIFO Queues Thomas A. Henzinger and Hannes Payer and Ali Sezgin Technical Report No. IST-2013-124-v1+1 Deposited at 13 Jun 2013 11:52
More informationRuntime Verification and Debugging of Concurrent Software
Runtime Verification and Debugging of Concurrent Software Lu Zhang Dissertation submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements
More informationCompositionality in system design: interfaces everywhere! UC Berkeley
Compositionality in system design: interfaces everywhere! Stavros Tripakis UC Berkeley DREAMS Seminar, Mar 2013 Computers as parts of cyber physical systems cyber-physical ~98% of the world s processors
More informationFormal Reasoning in Distributed Algorithms
Formal Reasoning in Distributed Algorithms TU Wien, Freihaus, Green area, 5 th floor, Seminarraum 104 Day 1 (July 23) Joseph Halpern : Invited talk 9:00 10:15 Beyond Nash Equilibrium: Solution Concepts
More informationAn introduction to weak memory consistency and the out-of-thin-air problem
An introduction to weak memory consistency and the out-of-thin-air problem Viktor Vafeiadis Max Planck Institute for Software Systems (MPI-SWS) CONCUR, 7 September 2017 Sequential consistency 2 Sequential
More informationUnit 6: Indeterminate Computation
Unit 6: Indeterminate Computation Martha A. Kim October 6, 2013 Introduction Until now, we have considered parallelizations of sequential programs. The parallelizations were deemed safe if the parallel
More informationA Comparison of Concurrent Correctness Criteria for Shared Memory Based Data Structure
University of Central Florida Electronic Theses and Dissertations Masters Thesis (Open Access) A Comparison of Concurrent Correctness Criteria for Shared Memory Based Data Structure 2016 Dipanjan Bhattacharya
More informationReasoning About Atomic Objects. Abstract
Reasoning About Atomic Objects Maurice P. Herllhy and Jeannette M. Wing Computer Science Department Carnegie Mellon University Pittsburgh, Pennsylvania 15213-3890 U.S.A. 1 Abstract Atomic transactions
More informationHow Free is Your Linearizable Concurrent Data Structure?
How Free is Your Linearizable Concurrent Data Structure? Thomas A. Henzinger 1 and Ali Sezgin 1 IST Austria {tah,asezgin}@ist.ac.at Abstract. Linearizability requires that the outcome of calls by competing
More informationUniversity of Leeds SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES Report The Consistency Properties of a Scalable, Concurrent Queue
University of Leeds SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES Report 96.35 The Consistency Properties of a Scalable, Concurrent Queue by D.M. Goodeve, J.R. Davy, P.M. Dew, J.M. Nash December 1996
More informationTransactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev
Transactum Business Process Manager with High-Performance Elastic Scaling November 2011 Ivan Klianev Transactum BPM serves three primary objectives: To make it possible for developers unfamiliar with distributed
More informationCache-Aware Lock-Free Queues for Multiple Producers/Consumers and Weak Memory Consistency
Cache-Aware Lock-Free Queues for Multiple Producers/Consumers and Weak Memory Consistency Anders Gidenstam Håkan Sundell Philippas Tsigas School of business and informatics University of Borås Distributed
More informationRecall use of logical clocks
Causal Consistency Consistency models Linearizability Causal Eventual COS 418: Distributed Systems Lecture 16 Sequential Michael Freedman 2 Recall use of logical clocks Lamport clocks: C(a) < C(z) Conclusion:
More informationProgramming Paradigms for Concurrency Lecture 3 Concurrent Objects
Programming Paradigms for Concurrency Lecture 3 Concurrent Objects Based on companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Modified by Thomas Wies New York University
More informationModule Interfaces and Concurrency
Module Interfaces and Concurrency Arvind Computer Science and Artificial Intelligence Laboratory M.I.T. L12-1 Design Alternatives: Latency and Throughput Combinational (C) Pipeline (P) Folded: Reuse a
More informationShared memory model" Shared memory guarantees" Read-write register" Wait-freedom: unconditional progress " Liveness" Shared memory basics"
Shared memory basics INF346, 2014 Shared memory model Processes communicate by applying operations on and receiving responses from shared objects! A shared object is a state machine ü States ü Operations/Responses
More informationProving linearizability using forward simulations
Proving linearizability using forward simulations Ahmed Bouajjani 1, Michael Emmi 2, Constantin Enea 1, and Suha Orhun Mutluergil 3 1 IRIF, Univ. Paris Diderot, {abou,cenea}@irif.fr 2 Nokia Bell Labs,
More informationCausal Consistency. CS 240: Computing Systems and Concurrency Lecture 16. Marco Canini
Causal Consistency CS 240: Computing Systems and Concurrency Lecture 16 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Consistency models Linearizability
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 07 / 26 / 2016 Instructor: Michael Eckmann Today s Topics Comments/Questions? Stacks and Queues Applications of both Priority Queues Michael Eckmann - Skidmore
More informationCONCURRENT LIBRARIES. Correctness Criteria, Verification
CONCURRENT LIBRARIES Correctness Criteria, Verification Verification Ingredients Specifying a Library: φ Implementing a Library: L Verifying a Library implementation: L φ The History of an Object Object
More informationA linear-list Data Structure where - addition of elements to and - removal of elements from are restricted to the first element of the list.
A linear-list Data Structure where - addition of elements to and - removal of elements from are restricted to the first element of the list. the first element of the list a new element to (the Top of)
More informationConsistency and Replication. Why replicate?
Consistency and Replication Today: Introduction Consistency models Data-centric consistency models Client-centric consistency models Thoughts for the mid-term Lecture 14, page 1 Why replicate? Data replication:
More informationChapter 9 Abstract Data Types and Algorithms
Chapter Goals Chapter 9 Abstract Data Types and Algorithms Define an abstract data type and discuss its role in algorithm development Distinguish between a data type and a data structure Distinguish between
More informationStatic Analysis of Atomicity for Algorithms Using Non-Blocking Synchronization
Static Analysis of Atomicity for Algorithms Using Non-Blocking Synchronization Liqiang Wang and Scott D. Stoller Abstract In concurrent programming, non-blocking synchronization is very efficient but difficult
More informationProving liveness. Alexey Gotsman IMDEA Software Institute
Proving liveness Alexey Gotsman IMDEA Software Institute Safety properties Ensure bad things don t happen: - the program will not commit a memory safety fault - it will not release a lock it does not hold
More informationIntroduction. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Introduction Companion slides for The by Maurice Herlihy & Nir Shavit Moore s Law Transistor count still rising Clock speed flattening sharply 2 Moore s Law (in practice) 3 Nearly Extinct: the Uniprocesor
More informationFFQ: A Fast Single-Producer/Multiple-Consumer Concurrent FIFO Queue
FFQ: A Fast Single-Producer/Multiple-Consumer Concurrent FIFO Queue Sergei Arnautov, Christof Fetzer, Bohdan Trach TU Dresden, Germany first.last@tu-dresden.de Pascal Felber U. Neuchâtel, Switzerland first.last@unine.ch
More informationBQ: A Lock-Free Queue with Batching
BQ: A Lock-Free Queue with Batching Gal Milman Technion, Israel galy@cs.technion.ac.il Alex Kogan Oracle Labs, USA alex.kogan@oracle.com Yossi Lev Oracle Labs, USA levyossi@icloud.com ABSTRACT Victor Luchangco
More informationBuilding High Performance Queues in Rdb Databases
Building High Performance Queues in Rdb Databases Thomas H. Musson Jeffrey S. Jalbert Cheryl P. Jalbert Keith W. Hare Jeff Haidet JCC Consulting, Inc. 1 Definition of Problem Business expected to increase
More informationConcurrent Computing. January 21, 2018
Concurrent Computing Rachid Guerraoui Petr Kuznetsov January 21, 2018 Contents 1. Introduction 7 1.1. A broad picture: the concurrency revolution........................ 7 1.2. The topic: shared objects..................................
More informationConcurrent specifications beyond linearizability
Concurrent specifications beyond linearizability Éric Goubault Jérémy Ledent Samuel Mimram École Polytechnique, France OPODIS 2018, Hong Kong December 19, 2018 1 / 14 Objects Processes communicate through
More informationBlizzard: A Distributed Queue
Blizzard: A Distributed Queue Amit Levy (levya@cs), Daniel Suskin (dsuskin@u), Josh Goodwin (dravir@cs) December 14th 2009 CSE 551 Project Report 1 Motivation Distributed systems have received much attention
More informationTaming release-acquire consistency
Taming release-acquire consistency Ori Lahav Nick Giannarakis Viktor Vafeiadis Max Planck Institute for Software Systems (MPI-SWS) POPL 2016 Weak memory models Weak memory models provide formal sound semantics
More informationLinearizability of Persistent Memory Objects
Linearizability of Persistent Memory Objects Michael L. Scott Joint work with Joseph Izraelevitz & Hammurabi Mendes www.cs.rochester.edu/research/synchronization/ Compiler-Driven Performance Workshop,
More informationProving Linearizability Using Forward Simulations
Proving Linearizability Using Forward Simulations Ahmed Bouajjani 1, Michael Emmi 2, Constantin Enea 1(B), and Suha Orhun Mutluergil 3 1 IRIF, Univ. Paris Diderot, Paris, France {abou,cenea}@irif.fr 2
More informationComposing Concurrency Control
Composing Concurrency Control Ofri Ziv Tel Aviv University, Israel ofriziv@tau.ac.il Alex Aiken Stanford University, USA aiken@cs.stanford.edu Guy Golan-Gueta Tel Aviv University, Israel ggolan@tau.ac.il
More informationAssignment No.1 What is ADT? Explain stack as an ADT with suitable example.
Programme:- MCA-Semester-II Subject Code 201 Data Structures What is ADT? Explain stack as an ADT with suitable example. You know what a queue is... Implement a queue class with Java. What is the cost
More informationCurriculum 2013 Knowledge Units Pertaining to PDC
Curriculum 2013 Knowledge Units Pertaining to C KA KU Tier Level NumC Learning Outcome Assembly level machine Describe how an instruction is executed in a classical von Neumann machine, with organization
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 03 / 31 / 2017 Instructor: Michael Eckmann Today s Topics Questions? Comments? finish RadixSort implementation some applications of stack Priority Queues Michael
More informationNOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or
NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or other reproductions of copyrighted material. Any copying
More information殷亚凤. Consistency and Replication. Distributed Systems [7]
Consistency and Replication Distributed Systems [7] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Clock synchronization
More informationImportant Lessons. A Distributed Algorithm (2) Today's Lecture - Replication
Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single
More informationA Consistency Framework for Iteration Operations in Concurrent Data Structures
A Consistency Framework for Iteration Operations in Concurrent Data Structures Yiannis Nikolakopoulos, Anders Gidenstam, Marina Papatriantafilou, Philippas Tsigas Chalmers University of Technology, Gothenburg,
More informationAutomated Refinement Checking of Asynchronous Processes. Rajeev Alur. University of Pennsylvania
Automated Refinement Checking of Asynchronous Processes Rajeev Alur University of Pennsylvania www.cis.upenn.edu/~alur/ Intel Formal Verification Seminar, July 2001 Problem Refinement Checking Given two
More informationMemory Consistency. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab.
Memory Consistency Minsoo Ryu Department of Computer Science and Engineering 2 Distributed Shared Memory Two types of memory organization in parallel and distributed systems Shared memory (shared address
More informationReasoning about the C/C++ weak memory model
Reasoning about the C/C++ weak memory model Viktor Vafeiadis Max Planck Institute for Software Systems (MPI-SWS) 13 October 2014 Talk outline I. Introduction Weak memory models The C11 concurrency model
More informationSequen&al Consistency and Linearizability
Sequen&al Consistency and Linearizability (Or, Reasoning About Concurrent Objects) Acknowledgement: Slides par&ally adopted from the companion slides for the book "The Art of Mul&processor Programming"
More informationAnalysis of Commutativity with state-chart graph representation of concurrent programs.
University of Central Florida Electronic Theses and Dissertations Masters Thesis (Open Access) Analysis of Commutativity with state-chart graph representation of concurrent programs. 06 Kishore Debnath
More informationLinearizability Testing Manual
Linearizability Testing Manual Gavin Lowe April 8, 2016 This manual describes how to use the linearizability testing framework, described in [Low16]. The framework is available from http://www.cs.ox. ac.uk/people/gavin.lowe/linearizabiltytesting/.
More informationOracle Database 12c: JMS Sharded Queues
Oracle Database 12c: JMS Sharded Queues For high performance, scalable Advanced Queuing ORACLE WHITE PAPER MARCH 2015 Table of Contents Introduction 2 Architecture 3 PERFORMANCE OF AQ-JMS QUEUES 4 PERFORMANCE
More informationPipelining combinational circuits
Constructive Computer Architecture: Pipelining combinational circuits Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology September 18, 2013 http://csg.csail.mit.edu/6.s195
More informationEmbedded Software Engineering
Embedded Software Engineering 3 Unit Course, Spring 2002 EECS Department, UC Berkeley Christoph Kirsch www.eecs.berkeley.edu/~fresco/giotto/course-2002 It s significant $4 billion development effort >
More informationReliable Distributed System Approaches
Reliable Distributed System Approaches Manuel Graber Seminar of Distributed Computing WS 03/04 The Papers The Process Group Approach to Reliable Distributed Computing K. Birman; Communications of the ACM,
More informationThe Relative Power of Synchronization Methods
Chapter 5 The Relative Power of Synchronization Methods So far, we have been addressing questions of the form: Given objects X and Y, is there a wait-free implementation of X from one or more instances
More informationCSE 613: Parallel Programming. Lecture 17 ( Concurrent Data Structures: Queues and Stacks )
CSE 613: Parallel Programming Lecture 17 ( Concurrent Data Structures: Queues and Stacks ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 2012 Desirable Properties of Concurrent
More informationUnderstanding Task Scheduling Algorithms. Kenjiro Taura
Understanding Task Scheduling Algorithms Kenjiro Taura 1 / 48 Contents 1 Introduction 2 Work stealing scheduler 3 Analyzing execution time of work stealing 4 Analyzing cache misses of work stealing 5 Summary
More informationAdvanced Multiprocessor Programming
Advanced Multiprocessor Programming Jesper Larsson Träff traff@par.tuwien.ac.at Research Group Parallel Computing Faculty of Informatics, Institute of Information Systems Vienna University of Technology
More informationConsistency and Replication. Why replicate?
Consistency and Replication Today: Consistency models Data-centric consistency models Client-centric consistency models Lecture 15, page 1 Why replicate? Data replication versus compute replication Data
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 informationOwnership of a queue for practical lock-free scheduling
Ownership of a queue for practical lock-free scheduling Lincoln Quirk May 4, 2008 Abstract We consider the problem of scheduling tasks in a multiprocessor. Tasks cannot always be scheduled independently
More informationConcurrency User Guide
Concurrency User Guide Release 1.0 Dylan Hackers January 26, 2019 CONTENTS 1 Basic Abstractions 3 1.1 Executors................................................. 3 1.2 Queues..................................................
More information1 The comparison of QC, SC and LIN
Com S 611 Spring Semester 2009 Algorithms for Multiprocessor Synchronization Lecture 5: Tuesday, 3rd February 2009 Instructor: Soma Chaudhuri Scribe: Jianrong Dong 1 The comparison of QC, SC and LIN Pi
More informationClassical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDS Sara Tucci-Piergiovanni, PhD Researcher CEA LIST Angelo Corsaro, PhD Chief Technology Officer PrismTech Outline DDS and QoS, properties of streams and local caches
More informationScheduler Activations. CS 5204 Operating Systems 1
Scheduler Activations CS 5204 Operating Systems 1 Concurrent Processing How can concurrent processing activity be structured on a single processor? How can application-level information and system-level
More informationHomework 2: Programming Component SCALABLE SERVER DESIGN: USING THREAD POOLS TO MANAGE AND LOAD BALANCE ACTIVE NETWORK
Homework 2: Programming Component SCALABLE SERVER DESIGN: USING THREAD POOLS TO MANAGE AND LOAD BALANCE ACTIVE NETWORK DUE DATE: Wednesday March 7 th, 2018 @ 5:00 pm CONNECTIONS VERSION 1.0 As part of
More informationIntel Thread Building Blocks, Part IV
Intel Thread Building Blocks, Part IV SPD course 2017-18 Massimo Coppola 13/04/2018 1 Mutexes TBB Classes to build mutex lock objects The lock object will Lock the associated data object (the mutex) for
More informationA Non-Blocking Concurrent Queue Algorithm
A Non-Blocking Concurrent Queue Algorithm Bruno Didot bruno.didot@epfl.ch June 2012 Abstract This report presents a new non-blocking concurrent FIFO queue backed by an unrolled linked list. Enqueue and
More informationComputing Parable. The Archery Teacher. Courtesy: S. Keshav, U. Waterloo. Computer Science. Lecture 16, page 1
Computing Parable The Archery Teacher Courtesy: S. Keshav, U. Waterloo Lecture 16, page 1 Consistency and Replication Today: Consistency models Data-centric consistency models Client-centric consistency
More informationHow to Win Coding Competitions: Secrets of Champions. Week 2: Computational complexity. Linear data structures Lecture 5: Stack. Queue.
How to Win Coding Competitions: Secrets of Champions Week 2: Computational complexity. Linear data structures Lecture 5: Stack. Queue. Deque Pavel Krotkov Saint Petersburg 2016 General overview Stack,
More informationAdvanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA
Advanced Tool Architectures Edited and Presented by Edward A. Lee, Co-PI UC Berkeley Chess Review May 10, 2004 Berkeley, CA Tool Projects Concurrent model-based design Giotto (Henzinger) E machine & S
More information