CS533 - Concepts of Operating Systems 1 Class Discussion.

Slides:



Advertisements
Similar presentations
CS510 – Advanced Operating Systems 1 The Synergy Between Non-blocking Synchronization and Operating System Structure By Michael Greenwald and David Cheriton.
Advertisements

Operating System Concepts and Techniques Lecture 12 Interprocess communication-1 M. Naghibzadeh Reference M. Naghibzadeh, Operating System Concepts and.
Maged M. Michael, “Hazard Pointers: Safe Memory Reclamation for Lock- Free Objects” Presentation Robert T. Bauer.
Scalable and Lock-Free Concurrent Dictionaries
Wait-Free Reference Counting and Memory Management Håkan Sundell, Ph.D.
Go Language * Go - Routines * Channels. New Concepts Do not communicate by sharing memory; instead, share memory by communicating. creating shared memory.
A Lock-Free Multiprocessor OS Kernel1 Henry Massalin and Calton Pu Columbia University June 1991 Presented by: Kenny Graunke.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Chris Gill Department of Computer Science and Engineering Washington University in St. Louis.
188, , , Adding values Insertion grading Subtract 5 points for each.
CS533 Concepts of Operating Systems Class 5 Integrated Task and Stack Management.
CS533 Concepts of Operating Systems Class 3 Monitors.
CS533 Concepts of Operating Systems Class 20 Summary.
CS533 Concepts of Operating Systems Class 3 Monitors.
Introduction to Lock-free Data-structures and algorithms Micah J Best May 14/09.
CS510 Advanced OS Seminar Class 10 A Methodology for Implementing Highly Concurrent Data Objects by Maurice Herlihy.
Threads vs. Processes April 7, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
CS510 Concurrent Systems Class 2 A Lock-Free Multiprocessor OS Kernel.
CS510 Concurrent Systems Class 13 Software Transactional Memory Should Not be Obstruction-Free.
CS533 Concepts of Operating Systems Class 7 Integrated Task and Stack Management.
CS533 - Concepts of Operating Systems 1 Class Discussion.
CS533 - Concepts of Operating Systems 1 CS533 Concepts of Operating Systems Class 8 Synchronization on Multiprocessors.
CS533 - Concepts of Operating Systems 1 Class Discussion.
CS533 Concepts of Operating Systems Class 3 Integrated Task and Stack Management.
Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Concurrent Skip Lists.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
CS533 - Concepts of Operating Systems 1 Class Discussion.
CS533 Concepts of Operating Systems Class 14 Extensible Virtual Memory Management.
Practical and Lock-Free Doubly Linked Lists Håkan Sundell Philippas Tsigas.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocesor Operating System By: Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael.
Paper Review Mach : A New Kernel Foundation For UNIX Development Chan Seok Kang 2013/02/26.
Simple Wait-Free Snapshots for Real-Time Systems with Sporadic Tasks Håkan Sundell Philippas Tsigas.
CS510 Concurrent Systems Jonathan Walpole. A Lock-Free Multiprocessor OS Kernel.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Håkan Sundell, Chalmers University of Technology 1 NOBLE: A Non-Blocking Inter-Process Communication Library Håkan Sundell Philippas.
November 15, 2007 A Java Implementation of a Lock- Free Concurrent Priority Queue Bart Verzijlenberg.
1 Chapter 2.1 : Processes Process concept Process concept Process scheduling Process scheduling Interprocess communication Interprocess communication Threads.
State Teleportation How Hardware Transactional Memory can Improve Legacy Data Structures Maurice Herlihy and Eli Wald Brown University.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Lecture 8 Page 1 CS 111 Online Other Important Synchronization Primitives Semaphores Mutexes Monitors.
Foundations of Data Structures Practical Session #10 Hash Tables.
A Methodology for Creating Fast Wait-Free Data Structures Alex Koganand Erez Petrank Computer Science Technion, Israel.
Wait-Free Multi-Word Compare- And-Swap using Greedy Helping and Grabbing Håkan Sundell PDPTA 2009.
Darko Makreshanski Department of Computer Science ETH Zurich
Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects Maged M. Michael Presented by Abdulai Sei.
CS510 Concurrent Systems Jonathan Walpole. A Methodology for Implementing Highly Concurrent Data Objects.
Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals Presented by Abdulai Sei.
Distributed Systems 2 Distributed Processing. Process A process is a logical representation of a physical processor that executes program code and has.
CS533 Concepts of Operating Systems Jonathan Walpole.
Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Concurrent Skip Lists.
CPS110: Thread cooperation Landon Cox. Constraining concurrency  Synchronization  Controlling thread interleavings  Some events are independent  No.
Managing Processors Jeff Chase Duke University. The story so far: protected CPU mode user mode kernel mode kernel “top half” kernel “bottom half” (interrupt.
MULTIVIE W Slide 1 (of 21) Software Transactional Memory Should Not Be Obstruction Free Paper: Robert Ennals Presenter: Emerson Murphy-Hill.
1 Why Threads are a Bad Idea (for most purposes) based on a presentation by John Ousterhout Sun Microsystems Laboratories Threads!
Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects MAGED M. MICHAEL PRESENTED BY NURIT MOSCOVICI ADVANCED TOPICS IN CONCURRENT PROGRAMMING,
Unit 4: Processes, Threads & Deadlocks June 2012 Kaplan University 1.
Scalable lock-free Stack Algorithm Wael Yehia York University February 8, 2010.
Critical Section Tools (HW interface) locks implemented in ISA – T&S, CAS (O.S. )Semaphores – Counting and Binary (a.k.a a mutex lock) (Augmented O.S.)
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
Process Synchronization. Concurrency Definition: Two or more processes execute concurrently when they execute different activities on different devices.
Background on the need for Synchronization
Advanced OS Concepts (For OCR)
CS510 Concurrent Systems Jonathan Walpole.
B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M
CS510 Concurrent Systems Jonathan Walpole.
CS 143A Quiz 1 Solution.
Thread Synchronization
CS533 Concepts of Operating Systems Class 12
- When you approach operating system concepts there might be several confusing terms that may look similar but in fact refer to different concepts:  multiprogramming, multiprocessing, multitasking,
CS533 Concepts of Operating Systems Class 14
CS703 – Advanced Operating Systems
Presentation transcript:

CS533 - Concepts of Operating Systems 1 Class Discussion

CS533 - Concepts of Operating Systems 2 Questions  What are the key ideas that improve performance in the Synthesis approach? o Which underlying problems do they address? o How does it address lock contention? o How does it address locality?  Is extensive use of optimistic concurrency control via CAS immune to memory/bus contention problems? o Are there other kinds of contention to worry about?

CS533 - Concepts of Operating Systems 3 Questions  Why do synchronized clocks cause contention if the run queue is protected by a single lock?  How can you “localize” thread switching? o How far can you push this idea in other areas of the OS?  What general approaches can you take to reduce “interference”?  What does it mean for a deleted list element to be “safe” ? o Why might you chose to leave a deleted element in place?

CS533 - Concepts of Operating Systems 4 Questions  Are the lock-free solutions presented in the paper wait-free? o If not, why not?  What problems does the naïve approach to lock-free synchronization suffer from (i.e., copy data structure and flip pointer to it) o How can you overcome these in an optimistic approach?