From Lock-Free to Wait-Free: Linked List. Edward Duong
|
|
- Emery Singleton
- 5 years ago
- Views:
Transcription
1 From Lock-Free to Wait-Free: Linked List Edward Duong
2 Outline 1) Outline operations of the locality conscious linked list [Braginsky 2012] 2) Transformation concept from lock-free -> wait-free [Timnat 2014]
3 Why Build Concurrent ADTs Leverage multi-cores for speed and throughput i.e., how many operations can we perform at once Achieving performance guarantees for applications such as real-time systems
4 Brief History Wait-Free (WF) and Lock-Free (LF) ADTs: Queue (WF) - Herlihy Linked List (LF) - Valois Hash Tables (LF) - Michael B-Tree (LF) - Bender Locality-conscious Linked List (LF) - Braginsky and Petrank B+Tree (LF) - Braginsky and Petrank
5 Freedom! Increase in guarantees Blocking - Operations use heavy mutual exclusion Terminology from M. Herlihy [1988, 1990]
6 Freedom! Increase in guarantees Obstruction-free - Guaranteed to complete an operation if there is no contention Blocking - Operations are serialized Terminology from M. Herlihy [1988, 1990]
7 Freedom! Lock-free - Even with contention, at least one operation will succeed Increase in guarantees Obstruction-free - Guaranteed to complete an operation if there is no contention Blocking - Operations are serialized Terminology from M. Herlihy [1988, 1990]
8 Freedom! Wait-free - Even with contention, all operations are bounded Lock-free - Even with contention, at least one operation will succeed Increase in guarantees Obstruction-free - Guaranteed to complete an operation if there is no contention Blocking - Operations are serialized Terminology from M. Herlihy [1988, 1990]
9 Freedom! = Wait-free - Even with contention, all operations are bounded Lock-free - Even with contention, at least one operation will succeed Obstruction-free Increase in throughput - Guaranteed to complete an operation if there is no contention Blocking - Operations are serialized Terminology from M. Herlihy [1988, 1990]
10 Linked List: Details Ordered list Stores key / data pairs; no duplicate keys Operations: Search, Insert and Delete Locality Conscious (optimized for cache)
11 Chunks Virtual page...
12 Chunks
13 Search(key) Search for key: 20
14 Search(key) Search for key: 20
15 Search(key) Search for key: 20
16 Search(key) Search for key: 20
17 Insert(key, data) Insert key 18 with data 3
18 Insert(key, data) Insert key 18 with data 3
19 Insert(key, data) Insert key 18 with data 3
20 Insert(key, data) Insert key 18 with data 3
21 Insert(key, data) Insert key 18 with data 3
22 Insert(key, data) Insert key 18 with data 3
23 Insert(key, data) Insert key 18 with data 3
24 Delete(key) Delete key 60
25 Delete(key) Delete key 60
26 Delete(key) Delete key 60
27 Delete(key) Delete key 60
28 Delete(key) Delete key 60
29 Delete(key) Delete key 60
30 Lock-Free -> Wait-Free Can we go from: At least one operation finishing after some finite steps -> any operation is bounded by some finite number of steps? Recipe: Contention Counter Help Queue Modifications to: Search, Insert and Delete
31 Concept Behind Helping Operation 1 Operation 2 Operation 3
32 Concept Behind Helping Enqueue: Operation 1 Operation 2 Operation 3
33 Concept Behind Helping Operation 1 Helping 1 Operation 3
34 Concept Behind Helping Operation 1 Helping 1 Helping 1
35 Concept Behind Helping Success Operation 4 Operation 5
36 Conclusions Adoption is on the rise! Libraries: Boost Noble (Swedish research group) Amino Concurrent Building Blocks
37 Bibliography Braginsky, Anastasia, and Erez Petrank. "Locality-conscious lock-free linked lists." Distributed Computing and Networking. Springer Berlin Heidelberg, Timnat, Shahar, and Erez Petrank. "A Practical Wait-Free Simulation for Lock-Free Data Structures." (2014). Herlihy, Maurice. "A methodology for implementing highly concurrent data objects." ACM Transactions on Programming Languages and Systems (TOPLAS) 15.5 (1993): Valois, John D. "Lock-free linked lists using compare-and-swap." Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing. ACM, Michael, Maged M. "High performance dynamic lock-free hash tables and list-based sets." Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures. ACM, Bender, Michael A., Erik D. Demaine, and Martin Farach-Colton. "Cache-oblivious B-trees." Foundations of Computer Science, Proceedings. 41st Annual Symposium on. IEEE, Braginsky, Anastasia, and Erez Petrank. "A lock-free b+ tree." Proceedinbgs of the 24th ACM symposium on Parallelism in algorithms and architectures. ACM, Herlihy, Maurice P. "Impossibility and universality results for wait-free synchronization." Proceedings of the seventh annual ACM Symposium on Principles of distributed computing. ACM, Libraries:
Linearizable Iterators
Linearizable Iterators Supervised by Maurice Herlihy Abstract Petrank et. al. [5] provide a construction of lock-free, linearizable iterators for lock-free linked lists. We consider the problem of extending
More informationLock-Free and Practical Doubly Linked List-Based Deques using Single-Word Compare-And-Swap
Lock-Free and Practical Doubly Linked List-Based Deques using Single-Word Compare-And-Swap Håkan Sundell Philippas Tsigas OPODIS 2004: The 8th International Conference on Principles of Distributed Systems
More informationNon-blocking Array-based Algorithms for Stacks and Queues!
Non-blocking Array-based Algorithms for Stacks and Queues! Niloufar Shafiei! Department of Computer Science and Engineering York University ICDCN 09 Outline! Introduction! Stack algorithm! Queue algorithm!
More informationConcurrent Systems. XIII. Progress Guarantee. Wolfgang Schröder-Preikschat. Selbststudium. Nebenläufige Systeme
Concurrent Systems Nebenläufige Systeme XIII. Progress Guarantee Wolfgang Schröder-Preikschat Selbststudium Agenda In a Nutshell wosch CS ( Selbststudium ) In a Nutshell 2 Outline In a Nutshell wosch CS
More informationFast and Lock-Free Concurrent Priority Queues for Multi-Thread Systems
Fast and Lock-Free Concurrent Priority Queues for Multi-Thread Systems Håkan Sundell Philippas Tsigas Outline Synchronization Methods Priority Queues Concurrent Priority Queues Lock-Free Algorithm: Problems
More informationhow to implement any concurrent data structure
how to implement any concurrent data structure marcos k. aguilera vmware jointly with irina calciu siddhartha sen mahesh balakrishnan Where to find more information about this work How to Implement Any
More informationBuilding Efficient Concurrent Graph Object through Composition of List-based Set
Building Efficient Concurrent Graph Object through Composition of List-based Set Sathya Peri Muktikanta Sa Nandini Singhal Department of Computer Science & Engineering Indian Institute of Technology Hyderabad
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 informationPractical Parallel Data Structures. Shahar Timnat
Practical Parallel Data Structures Shahar Timnat Practical Parallel Data Structures Research Thesis Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Shahar Timnat
More informationProgress Guarantees When Composing Lock-Free Objects
Progress Guarantees When Composing Lock-Free Objects Nhan Nguyen Dang and Philippas Tsigas Department of Computer Science and Engineering Chalmers University of Technology Gothenburg, Sweden {nhann,tsigas}@chalmers.se
More informationEfficient and Reliable Lock-Free Memory Reclamation Based on Reference Counting
Efficient and Reliable Lock-Free Memory Reclamation d on Reference ounting nders Gidenstam, Marina Papatriantafilou, Håkan Sundell and Philippas Tsigas Distributed omputing and Systems group, Department
More informationTheory and Implementation of Dynamic Data Structures for the GPU
Theory and Implementation of Dynamic Data Structures for the GPU John Owens UC Davis Martín Farach-Colton Rutgers NVIDIA OptiX & the BVH Tero Karras. Maximizing parallelism in the construction of BVHs,
More informationLecture 8 13 March, 2012
6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 8 13 March, 2012 1 From Last Lectures... In the previous lecture, we discussed the External Memory and Cache Oblivious memory models.
More informationNon-blocking Array-based Algorithms for Stacks and Queues. Niloufar Shafiei
Non-blocking Array-based Algorithms for Stacks and Queues Niloufar Shafiei Outline Introduction Concurrent stacks and queues Contributions New algorithms New algorithms using bounded counter values Correctness
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 informationSimple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms
Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms Maged M. Michael Michael L. Scott Department of Computer Science University of Rochester Rochester, NY 14627-0226 fmichael,scottg@cs.rochester.edu
More informationConcurrent Update on Multiprogrammed Shared Memory Multiprocessors
Concurrent Update on Multiprogrammed Shared Memory Multiprocessors Maged M. Michael Michael L. Scott Department of Computer Science University of Rochester Rochester, NY 467-06 michael,scott @cs.rochester.edu
More informationRelative Performance of Preemption-Safe Locking and Non-Blocking Synchronization on Multiprogrammed Shared Memory Multiprocessors
Relative Performance of Preemption-Safe Locking and Non-Blocking Synchronization on Multiprogrammed Shared Memory Multiprocessors Maged M. Michael Michael L. Scott University of Rochester Department of
More informationAlgorithms and Data Structures: Efficient and Cache-Oblivious
7 Ritika Angrish and Dr. Deepak Garg Algorithms and Data Structures: Efficient and Cache-Oblivious Ritika Angrish* and Dr. Deepak Garg Department of Computer Science and Engineering, Thapar University,
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 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 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 informationA Skiplist-based Concurrent Priority Queue with Minimal Memory Contention
A Skiplist-based Concurrent Priority Queue with Minimal Memory Contention Jonatan Lindén and Bengt Jonsson Uppsala University, Sweden December 18, 2013 Jonatan Lindén 1 Contributions Motivation: Improve
More informationMessage Passing Improvements to Shared Address Space Thread Synchronization Techniques DAN STAFFORD, ROBERT RELYEA
Message Passing Improvements to Shared Address Space Thread Synchronization Techniques DAN STAFFORD, ROBERT RELYEA Agenda Background Motivation Remote Memory Request Shared Address Synchronization Remote
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 informationTransactional Memory. Concurrency unlocked Programming. Bingsheng Wang TM Operating Systems
Concurrency unlocked Programming Bingsheng Wang TM Operating Systems 1 Outline Background Motivation Database Transaction Transactional Memory History Transactional Memory Example Mechanisms Software Transactional
More informationLecture 24 November 24, 2015
CS 229r: Algorithms for Big Data Fall 2015 Prof. Jelani Nelson Lecture 24 November 24, 2015 Scribes: Zhengyu Wang 1 Cache-oblivious Model Last time we talked about disk access model (as known as DAM, or
More informationarxiv: v1 [cs.dc] 8 May 2017
Towards Reduced Instruction Sets for Synchronization arxiv:1705.02808v1 [cs.dc] 8 May 2017 Rati Gelashvili MIT gelash@mit.edu Alexander Spiegelman Technion sashas@tx.technion.ac.il Idit Keidar Technion
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 informationarxiv: v1 [cs.dc] 31 Oct 2018
A Concurrent Unbounded Wait-Free Graph Sathya Peri, Chandra Kiran Reddy, Muktikanta Sa Department of Computer Science & Engineering Indian Institute of Technology Hyderabad, India {sathya p, cs15btech11012,
More informationOf Concurrent Data Structures and Iterations
Of Concurrent Data Structures and Iterations Yiannis Nikolakopoulos 1, Anders Gidenstam 2, Marina Papatriantafilou 1(B), and Philippas Tsigas 1 1 Chalmers University of Technology, Gothenburg, Sweden {ioaniko,ptrianta,tsigas}@chalmers.se
More informationBringing Practical Lock-Free Synchronization to 64-Bit Applications
Bringing Practical Lock-Free Synchronization to 64-Bit Applications Simon Doherty School of Mathematical and Computing Sciences Victoria University Wellington, New Zealand simon.doherty@mcs.vuw.ac.nz Victor
More informationBrushing the Locks out of the Fur: A Lock-Free Work Stealing Library Based on Wool
Brushing the Locks out of the Fur: A Lock-Free Work Stealing Library Based on Wool Håkan Sundell School of Business and Informatics University of Borås, 50 90 Borås E-mail: Hakan.Sundell@hb.se Philippas
More informationLock-Free Techniques for Concurrent Access to Shared Objects
This is a revised version of the previously published paper. It includes a contribution from Shahar Frank who raised a problem with the fifo-pop algorithm. Revised version date: sept. 30 2003. Lock-Free
More informationFaster Concurrent Range Queries with Contention Adapting Search Trees Using Immutable Data
Faster Concurrent Range Queries with Contention Adapting Search Trees Using Immutable Data Kjell Winblad Department of Information Technology, Uppsala University, Sweden kjell.winblad@it.uu.se Abstract
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 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 informationDrop the Anchor: Lightweight Memory Management for Non-Blocking Data Structures
Drop the Anchor: Lightweight Memory Management for Non-Blocking Data Structures Anastasia Braginsky Computer Science Technion anastas@cs.technion.ac.il Alex Kogan Oracle Labs alex.kogan@oracle.com Erez
More informationWait-Free Multi-Word Compare-And-Swap using Greedy Helping and Grabbing
Wait-Free Multi-Word Compare-And-Swap using Greedy Helping and Grabbing H. Sundell 1 1 School of Business and Informatics, University of Borås, Borås, Sweden Abstract We present a new algorithm for implementing
More informationNonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors 1
journal of parallel and distributed computing 51, 126 (1998) article no. PC981446 Nonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors 1 Maged M. Michael
More informationA simple correctness proof of the MCS contention-free lock. Theodore Johnson. Krishna Harathi. University of Florida. Abstract
A simple correctness proof of the MCS contention-free lock Theodore Johnson Krishna Harathi Computer and Information Sciences Department University of Florida Abstract Mellor-Crummey and Scott present
More informationclass 12 b-trees 2.0 prof. Stratos Idreos
class 12 b-trees 2.0 prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ A B C A B C clustered/primary index on A Stratos Idreos /26 2 A B C A B C clustered/primary index on A pos C pos
More informationImplementation and Performance Evaluation of RAPID-Cache under Linux
Implementation and Performance Evaluation of RAPID-Cache under Linux Ming Zhang, Xubin He, and Qing Yang Department of Electrical and Computer Engineering, University of Rhode Island, Kingston, RI 2881
More informationModels of concurrency & synchronization algorithms
Models of concurrency & synchronization algorithms Lecture 3 of TDA383/DIT390 (Concurrent Programming) Carlo A. Furia Chalmers University of Technology University of Gothenburg SP3 2016/2017 Today s menu
More informationk-abortable Objects: Progress under High Contention
k-abortable Objects: Progress under High Contention Naama Ben-David 1, David Yu Cheng Chan 2, Vassos Hadzilacos 2, and Sam Toueg 2 Carnegie Mellon University 1 University of Toronto 2 Outline Background
More informationA Wait-Free Queue for Multiple Enqueuers and Multiple Dequeuers Using Local Preferences and Pragmatic Extensions
A Wait-Free Queue for Multiple Enqueuers and Multiple Dequeuers Using Local Preferences and Pragmatic Extensions Philippe Stellwag, Alexander Ditter, Wolfgang Schröder-Preikschat Friedrich-Alexander University
More informationCS377P Programming for Performance Multicore Performance Synchronization
CS377P Programming for Performance Multicore Performance Synchronization Sreepathi Pai UTCS October 21, 2015 Outline 1 Synchronization Primitives 2 Blocking, Lock-free and Wait-free Algorithms 3 Transactional
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 informationTransactional Memory
Transactional Memory Michał Kapałka EPFL, LPD STiDC 08, 1.XII 2008 Michał Kapałka (EPFL, LPD) Transactional Memory STiDC 08, 1.XII 2008 1 / 25 Introduction How to Deal with Multi-Threading? Locks? Wait-free
More informationGLocks: Efficient Support for Highly- Contended Locks in Many-Core CMPs
GLocks: Efficient Support for Highly- Contended Locks in Many-Core CMPs Authors: Jos e L. Abell an, Juan Fern andez and Manuel E. Acacio Presenter: Guoliang Liu Outline Introduction Motivation Background
More informationA ThreadScan: Automatic and Scalable Memory Reclamation
A ThreadScan: Automatic and Scalable Memory Reclamation DAN ALISTARH, ETH Zurich WILLIAM LEISERSON, MIT ALEXANDER MATVEEV, MIT NIR SHAVIT, MIT 1. INTRODUCTION An important principle for data structure
More informationThe Multicore Transformation
Ubiquity Symposium The Multicore Transformation The Future of Synchronization on Multicores by Maurice Herlihy Editor s Introduction Synchronization bugs such as data races and deadlocks make every programmer
More informationConcurrent Access Algorithms for Different Data Structures: A Research Review
Concurrent Access Algorithms for Different Data Structures: A Research Review Parminder Kaur Program Study of Information System University Sari Mutiara, Indonesia Parm.jass89@gmail.com Abstract Algorithms
More informationThread Synchronization: Foundations. Properties. Safety properties. Edsger s perspective. Nothing bad happens
Edsger s perspective Testing can only prove the presence of bugs Thread Synchronization: Foundations Properties Property: a predicate that is evaluated over a run of the program (a trace) every message
More informationSimple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms. M.M. Michael and M.L. Scott. Technical Report 600 December 1995
Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms M.M. Michael and M.L. Scott Technical Report 600 December 1995 UNIVERSITY OF ROCHESTER COMPUTER SCIENCE 9960605 014 rroggtmo?rstäi
More informationarxiv: v1 [cs.pl] 20 Aug 2018
1 Every Data Structure Deserves Lock-Free Memory Reclamation NACHSHON COHEN, EPFL, Switzerland arxiv:1808.06348v1 [cs.pl] 20 Aug 2018 Memory-management support for lock-free data structures is well known
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 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 informationk-abortable Objects: Progress Under High Contention
k-abortable Objects: Progress Under High Contention Naama Ben-David 1, David Yu Cheng Chan 2(B), Vassos Hadzilacos 2, and Sam Toueg 2 1 Carnegie Mellon University, Pittsburgh, PA 15213, USA naama@cmu.edu
More informationAdvance Operating Systems (CS202) Locks Discussion
Advance Operating Systems (CS202) Locks Discussion Threads Locks Spin Locks Array-based Locks MCS Locks Sequential Locks Road Map Threads Global variables and static objects are shared Stored in the static
More informationSynchronization Principles II
CSC 256/456: Operating Systems Synchronization Principles II John Criswell University of Rochester 1 Synchronization Issues Race conditions and the need for synchronization Critical Section Problem Mutual
More informationParallelization and Synchronization. CS165 Section 8
Parallelization and Synchronization CS165 Section 8 Multiprocessing & the Multicore Era Single-core performance stagnates (breakdown of Dennard scaling) Moore s law continues use additional transistors
More informationDistributed Operating Systems
Distributed Operating Systems Synchronization in Parallel Systems Marcus Völp 2009 1 Topics Synchronization Locking Analysis / Comparison Distributed Operating Systems 2009 Marcus Völp 2 Overview Introduction
More informationNon-Blocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors
Non-Blocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors Maged M. Michael Michael L. Scott Department of Computer Science University of Rochester Rochester,
More informationINSERTION SORT is O(n log n)
Michael A. Bender Department of Computer Science, SUNY Stony Brook bender@cs.sunysb.edu Martín Farach-Colton Department of Computer Science, Rutgers University farach@cs.rutgers.edu Miguel Mosteiro Department
More informationNon-Blocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors
Non-Blocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors Maged M. Michael Michael L. Scott Department of Computer Science University of Rochester Rochester,
More informationEarly Results Using Hardware Transactional Memory for High-Performance Computing Applications
Early Results Using Hardware Transactional Memory for High-Performance Computing Applications Sverker Holmgren sverker.holmgren@it.uu.se Karl Ljungkvist kalj0193@student.uu.se Martin Karlsson martin.karlsson@it.uu.se
More informationConcurrent Counting using Combining Tree
Final Project Report by Shang Wang, Taolun Chai and Xiaoming Jia Concurrent Counting using Combining Tree 1. Introduction Counting is one of the very basic and natural activities that computers do. However,
More informationUnderstanding the Performance of Concurrent Data Structures on Graphics Processors
Understanding the Performance of Concurrent Data Structures on Graphics Processors Daniel Cederman, Bapi Chatterjee, and Philippas Tsigas Chalmers University of Technology, Sweden {cederman,bapic,tsigas}@chalmers.se
More informationFIFO Queue Synchronization
FIFO Queue Synchronization by Moshe Hoffman A Thesis submitted for the degree Master of Computer Science Supervised by Professor Nir Shavit School of Computer Science Tel Aviv University July 2008 CONTENTS
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 informationA Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 24, 573-583 (2008) Short Paper A Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network VINAY MADENUR AND NEERAJ MITTAL + Internet Services Qualcomm,
More informationDesign 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 informationLock-Free Multiway Search Trees
1 Lock-Free Multiway Search Trees Michael Spiegel Paul F. Reynolds, Jr. University of Virginia, Charlottesville, VA 2293 mspiegel@cs.virginia.edu reynolds@cs.virginia.edu Abstract We propose a lock-free
More informationLecture 19: Coherence and Synchronization. Topics: synchronization primitives (Sections )
Lecture 19: Coherence and Synchronization Topics: synchronization primitives (Sections 5.4-5.5) 1 Caching Locks Spin lock: to acquire a lock, a process may enter an infinite loop that keeps attempting
More informationNon-Blocking Concurrent FIFO Queues With Single Word Synchronization Primitives
37th International Conference on Parallel Processing Non-Blocking Concurrent FIFO Queues With Single Word Synchronization Primitives Claude Evequoz University of Applied Sciences Western Switzerland 1400
More informationReport on Cache-Oblivious Priority Queue and Graph Algorithm Applications[1]
Report on Cache-Oblivious Priority Queue and Graph Algorithm Applications[1] Marc André Tanner May 30, 2014 Abstract This report contains two main sections: In section 1 the cache-oblivious computational
More informationConcurrent Programming: Algorithms, Principles, and Foundations
Concurrent Programming: Algorithms, Principles, and Foundations Algorithms, Principles, and Foundations Bearbeitet von Michel Raynal 1. Auflage 2012. Buch. xxxii, 516 S. Hardcover ISBN 978 3 642 32026
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 informationLock-free Cuckoo Hashing
Lock-free Cuckoo Hashing Nhan Nguyen, Philippas Tsigas Chalmers University of Technology Gothenburg, Sweden Email: {nhann, tsigas}@chalmers.se Abstract This paper presents a lock-free cuckoo hashing algorithm;
More informationPer-Thread Batch Queues For Multithreaded Programs
Per-Thread Batch Queues For Multithreaded Programs Tri Nguyen, M.S. Robert Chun, Ph.D. Computer Science Department San Jose State University San Jose, California 95192 Abstract Sharing resources leads
More informationLock-Free Concurrent Data Structures, CAS and the ABA-Problem
Lock-Free Concurrent Data Structures, CAS and the ABA-Problem 2 Motivation Today almost all PCs and Laptops have a multi-core ( e.g. quad-core ) processor Dr. Wolfgang Koch using SMP (symmetric multiprocessing)
More informationConcept of a process
Concept of a process In the context of this course a process is a program whose execution is in progress States of a process: running, ready, blocked Submit Ready Running Completion Blocked Concurrent
More informationOn the Space Complexity of Randomized Synchronization
On the Space Complexity of Randomized Synchronization FAITH FICH University of Toronto, Toronto, Ont., Canada MAURICE HERLIHY Brown University, Providence, Rhode Island AND NIR SHAVIT Tel-Aviv University,
More informationSynchronization COMPSCI 386
Synchronization COMPSCI 386 Obvious? // push an item onto the stack while (top == SIZE) ; stack[top++] = item; // pop an item off the stack while (top == 0) ; item = stack[top--]; PRODUCER CONSUMER Suppose
More informationDistributed Systems Synchronization. Marcus Völp 2007
Distributed Systems Synchronization Marcus Völp 2007 1 Purpose of this Lecture Synchronization Locking Analysis / Comparison Distributed Operating Systems 2007 Marcus Völp 2 Overview Introduction Hardware
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 informationSolo-Valency and the Cost of Coordination
Solo-Valency and the Cost of Coordination Danny Hendler Nir Shavit November 21, 2007 Abstract This paper introduces solo-valency, a variation on the valency proof technique originated by Fischer, Lynch,
More informationA Wait-free Multi-word Atomic (1,N) Register for Large-scale Data Sharing on Multi-core Machines
A Wait-free Multi-word Atomic (1,N) Register for Large-scale Data Sharing on Multi-core Machines Mauro Ianni, Alessandro Pellegrini DIAG Sapienza Università di Roma, Italy Email: {mianni,pellegrini}@dis.uniroma1.it
More informationLock Oscillation: Boosting the Performance of Concurrent Data Structures
Lock Oscillation: Boosting the Performance of Concurrent Data Structures Panagiota Fatourou FORTH ICS & University of Crete Nikolaos D. Kallimanis FORTH ICS The Multicore Era The dominance of Multicore
More informationA Concurrent Bidirectional Linear Probing Algorithm
A Concurrent Bidirectional Linear Probing Algorithm Towards a Concurrent Compact Hash Table Steven van der Vegt University of Twente The Netherlands s.vandervegt@student.utwente.nl ABSTRACT Hash tables
More informationThe Architectural and Operating System Implications on the Performance of Synchronization on ccnuma Multiprocessors
International Journal of Parallel Programming, Vol. 29, No. 3, 2001 The Architectural and Operating System Implications on the Performance of Synchronization on ccnuma Multiprocessors Dimitrios S. Nikolopoulos
More informationBRICS Research Activities Algorithms
BRICS Research Activities Algorithms Gerth Stølting Brodal BRICS Retreat, Sandbjerg, 21 23 October 2002 1 Outline of Talk The Algorithms Group Courses Algorithm Events Expertise within BRICS Examples Algorithms
More informationHow to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor
How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor Leslie Lamport 1 Digital Equipment Corporation February 14, 1993 Minor revisions January 18, 1996 and September 14, 1996
More informationUsing RDMA for Lock Management
Using RDMA for Lock Management Yeounoh Chung Erfan Zamanian {yeounoh, erfanz}@cs.brown.edu Supervised by: John Meehan Stan Zdonik {john, sbz}@cs.brown.edu Abstract arxiv:1507.03274v2 [cs.dc] 20 Jul 2015
More informationIntroduction to Lock-Free Algorithms
1 Introduction to Lock-Free Algorithms Through a case study Samy Al Bahra AppNexus, Inc. September 23, 2012 Motivation 2 3 Motivation 70 blocking non-blocking 60 50 Time (s) 40 30 20 10 0 0 10 20 30 40
More informationMutual Exclusion: Classical Algorithms for Locks
Mutual Exclusion: Classical Algorithms for Locks John Mellor-Crummey Department of Computer Science Rice University johnmc@cs.rice.edu COMP 422 Lecture 18 21 March 2006 Motivation Ensure that a block of
More informationSupporting Information for Identifying Gene Clusters by Discovering Common Intervals in Indeterminate Strings
Supporting Information for Identifying Gene Clusters by Discovering Common Intervals in Indeterminate Strings Daniel Doerr, Jens Stoye, Sebastian Böcker, and Katharina Jahn August 6, 2014 1 Weak common
More informationSpin Locks and Contention Management
Chapter 7 Spin Locks and Contention Management 7.1 Introduction We now turn our attention to the performance of mutual exclusion protocols on realistic architectures. Any mutual exclusion protocol poses
More informationA Synchronization Algorithm for Distributed Systems
A Synchronization Algorithm for Distributed Systems Tai-Kuo Woo Department of Computer Science Jacksonville University Jacksonville, FL 32211 Kenneth Block Department of Computer and Information Science
More information