Efficient and Reliable Lock-Free Memory Reclamation Based on Reference Counting
|
|
- Norah Miles
- 5 years ago
- Views:
Transcription
1 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 of omputer Science and Engineering, halmers University of Technology
2 Outline Introduction The Problem Lock-free synchronization Our solution Idea Properties Experiments onclusions 2
3 The Lock-Free Memory Reclamation Problem oncurrent shared data structure Dynamic use of shared memory oncurrent and overlapping operations by threads or processes 3
4 The Lock-Free Memory Reclamation Problem Local variables 4
5 The Lock-Free Memory Reclamation Problem X has de-referenced the link (pointer) to 5
6 The Lock-Free Memory Reclamation Problem nother thread, Y, finds and deletes (removes) from the active structure Thread Y 6
7 The Lock-Free Memory Reclamation Problem Property I: (de-)referenced node is not reclaimed Thread Y wants to reclaim(/free)? Thread Y 7
8 The Lock-Free Memory Reclamation Problem Property II: Links in a (de-)referenced node should always be de-referencable. The nodes and? are deleted from the active structure. D 8
9 The Lock-Free Memory Reclamation Problem Solutions? Garbage collection? Reference counting? Needs to be lock-free! 2 D 9
10 Lock-free synchronization lock-free shared data structure llows concurrent operations without enforcing mutual exclusion (i.e. no locks) Guarantees that at least one operation always makes progress voids: locking, deadlock and priority inversion Hardware synchronization primitives uilt into PU and memory system Typically: atomic read-modify-write instructions Examples Test-and-set, ompare-and-swap, Load-Linked / Store-onditional 0
11 Previous solutions Lock-free Reference ounting Valois + Michael & Scott 995 Detlefs et al. 200 Slow Herlihy et al Remaining issues slow thread might prevent reclamation yclic garbage Implementation practicality issues Reference-count field MUST remain forever (Valois + Michael & Scott) Needs double word S (Detlefs et al.) Needs double width S (Herlihy, 2002) Large overhead
12 Our approach The basic idea ombine the best of Hazard pointers (Michael 2002) Tracks references from threads Fast de-reference Upper bound on the amount of unreclaimed deleted nodes ompatible with standard memory allocators Reference counting Tracks references from links in shared memory Manages links within dynamic nodes Safe to traverse links (also) in deleted nodes Practical Uses only single-word ompare-nd-swap 2
13 The basic idea PI DeRefLink ReleaseRef omparendswapref StoreRef NewNode DeleteNode Hazard pointers () Deletion list 3
14 The basic idea PI DeRefLink() ReleaseRef omparendswapref StoreRef NewNode DeleteNode Hazard pointers () Deletion list R 4
15 The basic idea PI DeRefLink ReleaseRef(R) omparendswapref StoreRef NewNode DeleteNode Hazard pointers () Deletion list R 5
16 The basic idea PI DeRefLink ReleaseRef omparendswapref StoreRef NewNode 0 DeleteNode D Hazard pointers () Deletion list new 6
17 The basic idea PI DeRefLink ReleaseRef omparendswapref StoreRef(new.next, R) NewNode 0 DeleteNode D Hazard pointers () Deletion list R new 2 7
18 The basic idea PI DeRefLink ReleaseRef Hazard pointers () omparendswapref(prev.next, old, new) StoreRef NewNode DeleteNode D Deletion list prev old new 0 2 8
19 The basic idea PI DeRefLink ReleaseRef omparendswapref StoreRef NewNode DeleteNode(old) D Hazard pointers () Deletion list _ prev old new 0 2 9
20 reaking chains of garbage lean-up deleted nodes Update links to point to live nodes Performed on nodes in Own deletion list ll deletion lists 0 Hazard pointers (Thread Y) Deletion list 2 D E 20
21 reaking chains of garbage lean-up deleted nodes Update links to point to live nodes Performed on nodes in Own deletion list ll deletion lists 0 Hazard pointers (Thread Y) 0 Deletion list 3 D E 2
22 ound on unreclaimed nodes deleted node can be reclaimed when The reference count is zero and No hazard pointer is pointing to it and There is no ongoing clean-up of this node With a rate relative to the number of threads of Scanning hazard pointers leaning up nodes as needed Then the maximum size of each deletion list depends on The number of hazard pointers The number of links per node The number of threads 22
23 Experimental evaluation Lock-free deque (Sundell and Tsigas 2004) (deque double-ended queue) The algorithm needs traversal of deleted nodes Time for 0000 random operations/thread Tested memory reclamation schemes Reference counting, Valois et al. The new algorithm Systems 4 processor Xeon P / Linux (UM) 8 processor SGI Origin 2000 / IRIX (NUM) 23
24 Experimental evaluation 24
25 Experimental evaluation 25
26 onclusions First lock-free memory reclamation scheme that Only uses atomic primitives available in contemporary architectures Guarantees safety of Local and Global references Has an upper bound on the amount of deleted but unreclaimed nodes llows arbitrary reuse of reclaimed memory 26
27 Questions? ontact Information: ddress: nders Gidenstam, omputer Science & Engineering, halmers University of Technology, SE Göteborg, Sweden cs.chalmers.se Web: Implementation 27
28 onclusions First lock-free memory reclamation scheme that Only uses atomic primitives available in contemporary architectures Guarantees safety of Local and Global references Has an upper bound on the amount of deleted but unreclaimed nodes ( ound: N * N * (k + L_max + a + ) ) llows arbitrary reuse of reclaimed memory 28
Lock-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 informationAllocating memory in a lock-free manner
Allocating memory in a lock-free manner Anders Gidenstam, Marina Papatriantafilou and Philippas Tsigas Distributed Computing and Systems group, Department of Computer Science and Engineering, Chalmers
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 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 informationThis article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and
This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and education use, including for instruction at the authors institution
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 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 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 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 informationTom Hart, University of Toronto Paul E. McKenney, IBM Beaverton Angela Demke Brown, University of Toronto
Making Lockless Synchronization Fast: Performance Implications of Memory Reclamation Tom Hart, University of Toronto Paul E. McKenney, IBM Beaverton Angela Demke Brown, University of Toronto Outline Motivation
More informationHåkan Sundell University College of Borås Parallel Scalable Solutions AB
Brushing the Locks out of the Fur: A Lock-Free Work Stealing Library Based on Wool Håkan Sundell University College of Borås Parallel Scalable Solutions AB Philippas Tsigas Chalmers University of Technology
More informationDESIGN CHALLENGES FOR SCALABLE CONCURRENT DATA STRUCTURES for Many-Core Processors
DESIGN CHALLENGES FOR SCALABLE CONCURRENT DATA STRUCTURES for Many-Core Processors DIMACS March 15 th, 2011 Philippas Tsigas Data Structures In Manycore Sys. Decomposition Synchronization Load Balancing
More informationEfficient & Lock-Free Modified Skip List in Concurrent Environment
Efficient & Lock-Free Modified Skip List in Concurrent Environment Ranjeet Kaur Department of Computer Science and Application Kurukshetra University, Kurukshetra Kurukshetra, Haryana Pushpa Rani Suri
More informationLock-Free and Practical Deques and Doubly Linked Lists using Single-Word Compare-And-Swap 1
Chapter 7 Lock-Free and Practical Deques and Doubly Linked Lists using Single-Word Compare-And-Swap 1 Håkan Sundell, Philippas Tsigas Department of Computing Science Chalmers Univ. of Technol. and Göteborg
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 informationFine-grained synchronization & lock-free programming
Lecture 17: Fine-grained synchronization & lock-free programming Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2016 Tunes Minnie the Moocher Robbie Williams (Swings Both Ways)
More informationProposed Wording for Concurrent Data Structures: Hazard Pointer and Read Copy Update (RCU)
Document number: D0566R1 Date: 20170619 (pre Toronto) Project: Programming Language C++, WG21, SG1,SG14, LEWG, LWG Authors: Michael Wong, Maged M. Michael, Paul McKenney, Geoffrey Romer, Andrew Hunter
More informationHazard Pointers. Safe Resource Reclamation for Optimistic Concurrency
Document Number: P0233R3 Date: 2017-02-06 Reply-to: maged.michael@acm.org, michael@codeplay.com Authors: Maged M. Michael, Michael Wong, Paul McKenney, Arthur O'Dwyer, David Hollman Project: Programming
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 informationCMSC421: Principles of Operating Systems
CMSC421: Principles of Operating Systems Nilanjan Banerjee Assistant Professor, University of Maryland Baltimore County nilanb@umbc.edu http://www.csee.umbc.edu/~nilanb/teaching/421/ Principles of Operating
More informationarxiv: v1 [cs.dc] 4 Dec 2017
Reclaiming Memory for Lock-Free Data Structures: There has to be a Better Way Trevor Brown Institute of Science and Technology, Austria me@tbrown.pro arxiv:1712.01044v1 [cs.dc] 4 Dec 2017 Abstract Memory
More informationOperating Systems: William Stallings. Starvation. Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 6 Concurrency: Deadlock and Starvation Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Deadlock
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 informationFine-grained synchronization & lock-free data structures
Lecture 19: Fine-grained synchronization & lock-free data structures Parallel Computer Architecture and Programming Redo Exam statistics Example: a sorted linked list struct Node { int value; Node* next;
More informationSSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (II)
SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (II) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics
More informationHazard Pointers. Safe Resource Reclamation for Optimistic Concurrency
Document Number: P0233R1 Date: 2016 05 29 Reply to: maged.michael@acm.org, michael@codeplay.com Authors: Maged M. Michael, Michael Wong Project: Programming Language C++, SG14/SG1 Concurrency, LEWG Hazard
More informationSynchronising Threads
Synchronising Threads David Chisnall March 1, 2011 First Rule for Maintainable Concurrent Code No data may be both mutable and aliased Harder Problems Data is shared and mutable Access to it must be protected
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 informationPerformance of memory reclamation for lockless synchronization
J. Parallel Distrib. Comput. 67 (27) 127 1285 www.elsevier.com/locate/jpdc Performance of memory reclamation for lockless synchronization Thomas E. Hart a,,1, Paul E. McKenney b, Angela Demke Brown a,
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 informationProcess Synchronisation (contd.) Operating Systems. Autumn CS4023
Operating Systems Autumn 2017-2018 Outline Process Synchronisation (contd.) 1 Process Synchronisation (contd.) Synchronization Hardware 6.4 (SGG) Many systems provide hardware support for critical section
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 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 informationViper: Communication-Layer Determinism and Scaling in Low-Latency Stream Processing
Viper: Communication-Layer Determinism and Scaling in Low-Latency Stream Processing Ivan Walulya, Yiannis Nikolakopoulos, Vincenzo Gulisano Marina Papatriantafilou and Philippas Tsigas Auto-DaSP 2017 Chalmers
More informationSemaphore. Originally called P() and V() wait (S) { while S <= 0 ; // no-op S--; } signal (S) { S++; }
Semaphore Semaphore S integer variable Two standard operations modify S: wait() and signal() Originally called P() and V() Can only be accessed via two indivisible (atomic) operations wait (S) { while
More informationA Comparison of Relativistic and Reader-Writer Locking Approaches to Shared Data Access
A Comparison of Relativistic and Reader-Writer Locking Approaches to Shared Data Access Philip W. Howard, Josh Triplett, and Jonathan Walpole Portland State University Abstract. This paper explores the
More informationMultiJav: A Distributed Shared Memory System Based on Multiple Java Virtual Machines. MultiJav: Introduction
: A Distributed Shared Memory System Based on Multiple Java Virtual Machines X. Chen and V.H. Allan Computer Science Department, Utah State University 1998 : Introduction Built on concurrency supported
More informationExploring mtcp based Single-Threaded and Multi-Threaded Web Server Design
Exploring mtcp based Single-Threaded and Multi-Threaded Web Server Design A Thesis Submitted in partial fulfillment of the requirements for the degree of Master of Technology by Pijush Chakraborty (153050015)
More informationWhat is the Race Condition? And what is its solution? What is a critical section? And what is the critical section problem?
What is the Race Condition? And what is its solution? Race Condition: Where several processes access and manipulate the same data concurrently and the outcome of the execution depends on the particular
More informationFrom Lock-Free to Wait-Free: Linked List. Edward Duong
From Lock-Free to Wait-Free: Linked List Edward Duong Outline 1) Outline operations of the locality conscious linked list [Braginsky 2012] 2) Transformation concept from lock-free -> wait-free [Timnat
More informationToday: Synchronization. Recap: Synchronization
Today: Synchronization Synchronization Mutual exclusion Critical sections Example: Too Much Milk Locks Synchronization primitives are required to ensure that only one thread executes in a critical section
More informationarxiv: v1 [cs.dc] 12 Feb 2013
Lock-free Concurrent Data Structures arxiv:1302.2757v1 [cs.dc] 12 Feb 2013 Daniel Cederman 1 Anders Gidenstam 2 Phuong Ha 3 Håkan Sundell 2 Marina Papatriantafilou 1 Philippas Tsigas 1 1 Chalmers University
More informationLecture 9: Virtual Memory
Lecture 9: Virtual Memory Summary 1. omputer system overview (hapter 1) 2. asic of virtual memory; i.e. segmentation and paging (hapter 7 and part of 8) 3. Process (hapter 3) 4. Mutual xclusion and Synchronization
More informationCPSC/ECE 3220 Summer 2018 Exam 2 No Electronics.
CPSC/ECE 3220 Summer 2018 Exam 2 No Electronics. Name: Write one of the words or terms from the following list into the blank appearing to the left of the appropriate definition. Note that there are more
More informationTimeslice Donation in Component-Based Systems
Department of omputer Science Institute of Systems rchitecture Operating Systems Group Timeslice Donation in omponent-based Systems Udo Steinberg, lexander Böttcher, Bernhard Kauer omponent-based System:
More informationOn the Design and Implementation of an Efficient Lock-Free Scheduler
On the Design and Implementation of an Efficient Lock-Free Scheduler Florian Negele 1, Felix Friedrich 1,SuwonOh 2, and Bernhard Egger 2(B) 1 Department of Computer Science, ETH Zürich, Zürich, Switzerland
More informationParallel access to linked data structures
Parallel access to linked data structures [Solihin Ch. 5] Answer the questions below. Name some linked data structures. What operations can be performed on all of these structures? Why is it hard to parallelize
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 informationOn the Design and Implementation of an Efficient Lock-Free Scheduler
On the Design and Implementation of an Efficient Lock-Free Scheduler Florian Negele 1, Felix Friedrich 1, Suwon Oh 2, and Bernhard Egger 2 1 Dept. of Computer Science, ETH Zürich, Switzerland 2 Dept. of
More informationConcurrent Manipulation of Dynamic Data Structures in OpenCL
Concurrent Manipulation of Dynamic Data Structures in OpenCL Henk Mulder University of Twente P.O. Box 217, 7500AE Enschede The Netherlands h.mulder-1@student.utwente.nl ABSTRACT With the emergence of
More informationDeadlock. Concurrency: Deadlock and Starvation. Reusable Resources
Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other No efficient solution Involve conflicting
More informationMutual Exclusion and Synchronization
Mutual Exclusion and Synchronization Concurrency Defined Single processor multiprogramming system Interleaving of processes Multiprocessor systems Processes run in parallel on different processors Interleaving
More informationarxiv:cs/ v1 [cs.dc] 5 Aug 2004
Technical Report no. 2004-02 Lock-Free and Practical Deques using Single-Word Compare-And-Swap arxiv:cs/0408016v1 [cs.dc] 5 Aug 2004 Håkan Sundell Philippas Tsigas Department of Computing Science Chalmers
More informationConcurrency, Mutual Exclusion and Synchronization C H A P T E R 5
Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5 Multiple Processes OS design is concerned with the management of processes and threads: Multiprogramming Multiprocessing Distributed processing
More informationAn Evaluation of the Dynamic and Static Multiprocessor Priority Ceiling Protocol and the Multiprocessor Stack Resource Policy in an SMP System
An Evaluation of the Dynamic and Static Multiprocessor Priority Ceiling Protocol and the Multiprocessor Stack Resource Policy in an SMP System Jim Ras and Albert Mo Kim Cheng Outline Handling shared resources
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 informationCS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 Process creation in UNIX All processes have a unique process id getpid(),
More informationProgramming Languages
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Programming Languages Concurrency: Atomic Executions, Locks and Monitors Dr. Michael Petter Winter term 2016 Atomic Executions, Locks and Monitors
More information15 418/618 Project Final Report Concurrent Lock free BST
15 418/618 Project Final Report Concurrent Lock free BST Names: Swapnil Pimpale, Romit Kudtarkar AndrewID: spimpale, rkudtark 1.0 SUMMARY We implemented two concurrent binary search trees (BSTs): a fine
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 informationCharacterizing the Performance and Energy Efficiency of Lock-Free Data Structures
Characterizing the Performance and Energy Efficiency of Lock-Free Data Structures Nicholas Hunt Paramjit Singh Sandhu Luis Ceze University of Washington {nhunt,paramsan,luisceze}@cs.washington.edu Abstract
More informationSynchronization for Concurrent Tasks
Synchronization for Concurrent Tasks Minsoo Ryu Department of Computer Science and Engineering 2 1 Race Condition and Critical Section Page X 2 Synchronization in the Linux Kernel Page X 3 Other Synchronization
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 informationSplit-Ordered Lists: Lock-Free Extensible Hash Tables. Pierre LaBorde
1 Split-Ordered Lists: Lock-Free Extensible Hash Tables Pierre LaBorde Nir Shavit 2 Tel-Aviv University, Israel Ph.D. from Hebrew University Professor at School of Computer Science at Tel-Aviv University
More informationChapter 5 Concurrency: Mutual Exclusion. and. Synchronization. Operating Systems: Internals. and. Design Principles
Operating Systems: Internals and Design Principles Chapter 5 Concurrency: Mutual Exclusion and Synchronization Seventh Edition By William Stallings Designing correct routines for controlling concurrent
More informationConcurrency, Thread. Dongkun Shin, SKKU
Concurrency, Thread 1 Thread Classic view a single point of execution within a program a single PC where instructions are being fetched from and executed), Multi-threaded program Has more than one point
More informationConcurrency: Deadlock and Starvation. Chapter 6
Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other Involve conflicting needs for resources
More informationStamp-it: A more Thread-efficient, Concurrent Memory Reclamation Scheme in the C++ Memory Model
Stamp-it: A more Thread-efficient, Concurrent Memory Reclamation Scheme in the C++ Memory Model Manuel Pöter TU Wien, Faculty of Informatics Vienna, Austria manuel@manuel-poeter.at Jesper Larsson Träff
More informationIT 540 Operating Systems ECE519 Advanced Operating Systems
IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (5 th Week) (Advanced) Operating Systems 5. Concurrency: Mutual Exclusion and Synchronization 5. Outline Principles
More informationRemaining Contemplation Questions
Process Synchronisation Remaining Contemplation Questions 1. The first known correct software solution to the critical-section problem for two processes was developed by Dekker. The two processes, P0 and
More informationCSE 451: Operating Systems Winter Lecture 7 Synchronization. Steve Gribble. Synchronization. Threads cooperate in multithreaded programs
CSE 451: Operating Systems Winter 2005 Lecture 7 Synchronization Steve Gribble Synchronization Threads cooperate in multithreaded programs to share resources, access shared data structures e.g., threads
More informationDealing with Issues for Interprocess Communication
Dealing with Issues for Interprocess Communication Ref Section 2.3 Tanenbaum 7.1 Overview Processes frequently need to communicate with other processes. In a shell pipe the o/p of one process is passed
More informationMulti-core Architecture and Programming
Multi-core Architecture and Programming Yang Quansheng( 杨全胜 ) http://www.njyangqs.com School of Computer Science & Engineering 1 http://www.njyangqs.com Process, threads and Parallel Programming Content
More informationAST: scalable synchronization Supervisors guide 2002
AST: scalable synchronization Supervisors guide 00 tim.harris@cl.cam.ac.uk These are some notes about the topics that I intended the questions to draw on. Do let me know if you find the questions unclear
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 informationConcurrency Race Conditions and Deadlocks
Concurrency Race Conditions and Deadlocks Kartik Gopalan Chapters 2 (2.3) and 6 Tanenbaum s Modern OS Sequential Loosely, doing many things, but one after another E.g. Finish one assignment, then another
More informationLock-free Programming
Lock-free Programming Nathaniel Wesley Filardo April 10, 2006 Outline Motivation Lock-Free Linked List Insertion Lock-Free Linked List Deletion Some real algorithms? Motivation Review of atomic primitives
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 informationOperating Systems. Lecture 4 - Concurrency and Synchronization. Master of Computer Science PUF - Hồ Chí Minh 2016/2017
Operating Systems Lecture 4 - Concurrency and Synchronization Adrien Krähenbühl Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Mutual exclusion Hardware solutions Semaphores IPC: Message passing
More informationAdvanced Topic: Efficient Synchronization
Advanced Topic: Efficient Synchronization Multi-Object Programs What happens when we try to synchronize across multiple objects in a large program? Each object with its own lock, condition variables Is
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 informationHazard Pointers. Number of threads unbounded time to check hazard pointers also unbounded! difficult dynamic bookkeeping! thread B - hp1 - hp2
Hazard Pointers Store pointers of memory references about to be accessed by a thread Memory allocation checks all hazard pointers to avoid the ABA problem thread A - hp1 - hp2 thread B - hp1 - hp2 thread
More informationLOCKLESS ALGORITHMS. Lockless Algorithms. CAS based algorithms stack order linked list
Lockless Algorithms CAS based algorithms stack order linked list CS4021/4521 2017 jones@scss.tcd.ie School of Computer Science and Statistics, Trinity College Dublin 2-Jan-18 1 Obstruction, Lock and Wait
More informationOperating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy
Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference
More informationInterprocess Communication By: Kaushik Vaghani
Interprocess Communication By: Kaushik Vaghani Background Race Condition: A situation where several processes access and manipulate the same data concurrently and the outcome of execution depends on the
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 informationLecture #7: Implementing Mutual Exclusion
Lecture #7: Implementing Mutual Exclusion Review -- 1 min Solution #3 to too much milk works, but it is really unsatisfactory: 1) Really complicated even for this simple example, hard to convince yourself
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 informationSynchronization and memory consistency on Intel Single-chip Cloud Computer. Ivan Walulya
Synchronization and memory consistency on Intel Single-chip Cloud Computer Master of Science Thesis in Programme Computer Systems and Networks Ivan Walulya Chalmers University of Technology University
More informationLecture Topics. Announcements. Today: Concurrency (Stallings, chapter , 5.7) Next: Exam #1. Self-Study Exercise #5. Project #3 (due 9/28)
Lecture Topics Today: Concurrency (Stallings, chapter 5.1-5.4, 5.7) Next: Exam #1 1 Announcements Self-Study Exercise #5 Project #3 (due 9/28) Project #4 (due 10/12) 2 Exam #1 Tuesday, 10/3 during lecture
More informationAdvanced Synchronization and Deadlock
Advanced Synchronization and Deadlock A house of cards? Locks + CV/signal a great way to regulate access to a single shared object......but general multi-threaded programs touch multiple shared objects
More informationProposed Wording for Concurrent Data Structures: Hazard Pointer and Read Copy Update (RCU)
Document number: P0566R5 Date: 20180506 (pre Rapperswil) Project: Programming Language C++, WG21, SG1,SG14, LEWG, LWG Authors: Michael Wong, Maged M. Michael, Paul McKenney, Geoffrey Romer, Andrew Hunter,
More informationCS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 The Process Concept 2 The Process Concept Process a program in execution
More informationJava Monitors. Parallel and Distributed Computing. Department of Computer Science and Engineering (DEI) Instituto Superior Técnico.
Java Monitors Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico October 19, 2010 Monteiro, Costa (DEI / IST) Parallel and Distributed Computing
More informationLecture Outine. Why Automatic Memory Management? Garbage Collection. Automatic Memory Management. Three Techniques. Lecture 18
Lecture Outine Why utomatic Memory Management? utomatic Memory Management Lecture 18 Garbage ollection Three Techniques Mark and Sweep Stop and opy Reference ounting Prof. Bodik S 164 Lecture 18 1 Prof.
More informationThe Google File System
October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single
More informationSynchronization 1. Synchronization
Synchronization 1 Synchronization key concepts critical sections, mutual exclusion, test-and-set, spinlocks, blocking and blocking locks, semaphores, condition variables, deadlocks reading Three Easy Pieces:
More informationCS420: Operating Systems. Process Synchronization
Process Synchronization James Moscola Department of Engineering & Computer Science York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Background
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 informationMarwan Burelle. Parallel and Concurrent Programming
marwan.burelle@lse.epita.fr http://wiki-prog.infoprepa.epita.fr Outline 1 2 Solutions Overview 1 Sharing Data First, always try to apply the following mantra: Don t share data! When non-scalar data are
More information