Hardware/Software Deadlock Avoidance for Multiprocessor Multiresource System-on-a-Chip

Size: px
Start display at page:

Download "Hardware/Software Deadlock Avoidance for Multiprocessor Multiresource System-on-a-Chip"

Transcription

1 P1 Q1 Hardware/Software Deadlock Avoidance for Multiprocessor Multiresource System-on-a-Chip Q2 P2 Dissertation Defense By Jaehwan Lee Advisor: Vincent J. Mooney III School of Electrical and Computer Engineering Georgia Institute of Technology Atlanta, GA USA Georgia Institute of Technology

2 P1 Q1 Outline Q2 P2 Motivation and Objective Background and Prior Work Proofs about Deadlock Detection Unit Deadlock Avoidance Unit Parallel Banker s s Algorithm Unit Integration into δ hardware/software RTOS framework Conclusion Georgia Institute of Technology

3 Motivation - Technology Trends Future SoC s Multiple heterogeneous processors (tens of processes) Multiple on-chip hardware resources DSP, FFT, MPEG, GPS, Shared Memory, etc Examples Xilinx Virtex-II Pro FPGA includes multiple PowerPC Broadcom BCM1400 includes multiple MIPS64 Processes in such an SoC Dynamically request and use resources May end up in deadlock Current embedded system or single processor system Typically ignored today HW SW RTOS SoC: System on Chip Georgia Institute of Technology

4 Motivation - Does deadlock really matter? Examples of future real-time systems Human-like robot with multiple processes In case of deadlock Damage People get injured Law-suits Mars Rover In case of deadlock Money loss Time loss Industrial control Cars Even if low probability of deadlock, prefer no deadlock whatsoever Georgia Institute of Technology

5 Objective - Problem, Solution and Goal Problem How to deal with deadlock? Goal Allow software to make requests in any order Grant as many resources as possible Avoid deadlock correctly and quickly Solution A hardware/software mechanism of deadlock avoidance, easily applicable to Real-Time Multiprocessor System-on on-a-chip (SoC) design Georgia Institute of Technology

6 Background: Definitions Definition of Deadlock A system has a deadlock iff the system has a set of processes, each of which is blocked, waiting for requirements that can never be satisfied P1 Q1 Q2 P Georgia Institute of Technology

7 Background: Definitions Definition of Livelock Livelock is a situation where a request for a resource is repeatedly denied and possibly never accepted because of the unavailability of the resource, resulting in a stalled process, while the resource is made available for other process(es) which make progress Georgia Institute of Technology

8 Background: Definitions Definition of Deadlock Avoidance A way of dealing with deadlock where resource usage is dynamically controlled not to reach deadlock (i.e., on the fly, resource usage is controlled to ensure that there can never be deadlock) Georgia Institute of Technology

9 Background: Definitions Definition of a Safe Sequence A safe sequence is an enumeration p 1, p 2,, p n of all processes in the system, such that for each i=1, 2,,, n, the resources that p i may request are a subset of the union of resources currently available plus resources currently held by p 1, p 2,,, p i Georgia Institute of Technology

10 Background: Terms Request deadlock (R-dl) A deadlock situation directly caused by a request Assumptions: No restriction on resource usage (i) P1 requires either Q1, Q2, or both depending on software flow (ii) P2 also requires either Q1, Q2, or both (iii) We don t t know in advance When P1 and P2 take flows that they require both Q1 and Q2 P1 t1 Q1 Request edge t3 Q2 t2 P2 t4 Grant edge P1, P2: processes Q1, Q2: resources Georgia Institute of Technology

11 Background: Terms Grant deadlock (G-dl) A deadlock situation directly caused by a grant The same assumptions with the previous P1 P2 P3 P1 P2 P3 t1 t3 t2 t4 t5 Q1 Q2 Q3 Q1 Q2 Q3 Request edge Grant edge Assumption (iv): Priorities P1 > P2 > P Georgia Institute of Technology

12 Differentiation between R-dl and G-dl Reason Some actions can only be taken for either R-dl R or G-dl. G (E.g., G-dl G could have been avoided by granting Q2 to P3 instead of P2 in the previous G-dl G example.) P1 Q1 P1 P2 P3 Q2 P2 Q1 Q2 Q Georgia Institute of Technology

13 Why does deadlock occur? - Four Deadlock Conditions Properties of Resources Mutual Exclusion No simultaneous sharing of a resource No Preemption A resource can be released only by the process holding the resource. Behavior of Processes Hold and Wait A process may hold some resources while the process requests additional resources. Circular Wait A process must wait for unavailable resources to become available Georgia Institute of Technology

14 Background: Terms Single vs. Multiple Instance Resources Single instance resources A resource that can support one process at a time E.g., a printer Multiple instance resources A resource that can support a certain number of multiple processes simultaneously E.g., a counting semaphore associated with allocable memory Georgia Institute of Technology

15 Background: Terms Resource Allocation Graph (RAG) A Set of Nodes V = P U Q P i : processes, Q j : resources A Set of Edges E = (P( i Q j ) U ( U (Q j P i ) P 1 P 2 P 3 P 4 Request edge Grant edge Q 1 Q 2 Q 3 Q 4 Bipartite Graph Georgia Institute of Technology

16 Terms RAG and Corresponding Matrix Representation M Used in Deadlock Detection Unit (DDU) RAG Allocation matrix processes resources Georgia Institute of Technology

17 Terms RAG and Corresponding Matrix Representation M RAG request edges Allocation matrix grant edges Georgia Institute of Technology

18 Terms RAG and Corresponding Matrix Representation M Connect nodes Terminal nodes Terminal row Terminal column RAG Allocation matrix Incoming edge Outgoing edge Terminal edges Georgia Institute of Technology

19 Prior Work by Shiu, Tan and Mooney Deadlock Detection Hardware Unit (DDU) Matrix based parallel operation approach Terminal edge reduction technique to reveal cycles (i.e., deadlock) Terminal (i.e., removable) edge*: not related to deadlock Simple bit-wise Boolean operations Implementation easier Operation faster, O(min(m,n)) 2~3 orders of magnitude faster than software Novelty from previous algorithms Does NOT trace exact cycles Does NOT require linked lists P. Shiu, Y. Tan and V. Mooney, "A Novel Parallel Deadlock Detection Algorithm and Architecture," 9th International Workshop on Hardware/Software Codesign (CODES'01), pp , April P1 * Q1 P2 Q2 P3 Q Georgia Institute of Technology

20 Abstraction of DDU Check the reducibility of an allocation matrix Remove all terminal edges currently revealed at each step in matrix M If (either R s R s or G) in column i (terminal( column) remove all entries in column i If (either R s R s or G s) G in row j (terminal( row) Remove all entries in row j Iterate until (reducible) or empty Determine deadlock If empty (no edges), no deadlock If (empty), deadlock Terminal edges Iterations Georgia Institute of Technology Not empty Deadlock

21 Prior Work in Deadlock Avoidance Traditional Methods Require some knowledge of future requests Declare maximum claims (each process) Give a grant only if remaining in a safe state Advantages No deadlock No preemption Disadvantages Low resource utilization Worse for single unit resources Performance degradation Due to dynamic avoidance decision Practical issues long software run-time Georgia Institute of Technology

22 Prior Work in Deadlock Avoidance Dijkstra: : Banker s s Algorithm (1968) For a single multiple-instance instance resource Maximum claims strategy Habermann: : O(nm 2 ) (1969) For multiple-instance instance multiple resources Livelock problem Holt: O(mn) ) (1972) Solved livelock problem using wait-time time counters For general resource systems Belik (1990) Path matrix representation Resource allocation Changing an acyclic digraph while keeping it acyclic For multiple single-instance instance resources O(mn) ) in general, O(1) in the best case No prior work in hardware implementation of a deadlock avoidance approach Georgia Institute of Technology

23 P1 Q1 Outline Q2 P2 Motivation and Objective Background and Prior Work Proofs about Deadlock Detection Unit Deadlock Avoidance Unit Parallel Banker s s Algorithm Unit Integration into δ hardware/software RTOS framework Conclusion Georgia Institute of Technology

24 Proofs of the Correctness of and run-time complexity of DDU Why do proofs matter? Authenticity No false alarm To avoid any damages or liability To ensure timeliness in a real-time SoC Within a certain amount of time for a robot not to fall over in a deadlock * Additional details can be found in a journal submission and a technical report [3, 7] Georgia Institute of Technology

25 Proof of the Correctness of DDU Deadlock vs. Cycle Relation Deadlock Cycle(s) in an RAG Cycle(s) Deadlock P1 Q1 P1 P2 P3 Q2 P2 Q1 Q2 Q3 DDU detects deadlock iff there exists a cycle in an RAG Georgia Institute of Technology

26 Proof of the Correctness of DDU - Intuition behind proofs Remove edges in columns and rows with only G s or only R s Operations performed in parallel throughout the matrix at each iteration A cycle: a circular pairs of R-G edges in rows and in columns Step 0 Step 1 Step 2 Step 3 Step 4 Step 5 Completely reducible Iterations No deadlock Georgia Institute of Technology

27 Proof of the Run-time Complexity of DDU An upper bound on the number of edges in a path (not a cycle or RAG) = 2*min(m,n min(m,n) Due to the bipartite property DDU, implemented in hardware, completes its computation in at most 2*min(m,n min(m,n) - 3 steps O(min(m,n)) P1 P2 P3 P4 P5 P6 Q1 Q2 Q3 2*min(6,3)=6 * Additional details in a journal submission and a technical report [3, 7] Georgia Institute of Technology

28 P1 Q1 Outline Q2 P2 Motivation and Objective Background and Prior Work Proofs about Deadlock Detection Unit Deadlock Avoidance Unit Parallel Banker s s Algorithm Unit Integration into δ hardware/software RTOS framework Conclusion Georgia Institute of Technology

29 Deadlock Avoidance Unit (DAU) No declaration of maximum claims No restriction on resource usage Advantages Higher resource utilization Fast avoidance due to hardware implementation Disadvantages Somewhat unfairness on a special occasion When avoiding G-dl G (a lower priority process could proceed before a higher priority process, which would end up in deadlock) -- Similar concept to priority inheritance But, resulting in higher resource utilization Possibility of resource preemption When avoiding R-dlR Assumption: all resources single-instance instance Georgia Institute of Technology

30 Deadlock Avoidance Algorithm (DAA) An n event of a request Is the resource available? Y N Would cause R-dl? R Y N Resolve livelock as well as deadlock Grant it to the requester * No deadlock here Priority of requester > Priority of owner Y N Mark the request pending Mark the request pending Ask the current owner to release the resource Ask the requester to give up resource(s) return Georgia Institute of Technology

31 Deadlock Avoidance Algorithm (DAA) An n event of a release Any process is waiting? N Mark the resource available Y Granting it to the highest priority process causes G-dl? G Y Grant it to a process causing no deadlock after finding such a process Improve resource utilization N Grant it to the highest priority process waiting return Georgia Institute of Technology

32 Proof of the Correctness of DAA Proof with lemmas and theorems Theorem 1 (R-dl case) Denying the request in the case of R-dl results in livelock unless a process involved in the deadlock releases a resource involved in the deadlock Theorem 2 (G-dl case) For a given system, not currently deadlocked, where a grant of a resource occurs, there must exist at least one process to which the resource can be granted without deadlock Georgia Institute of Technology * Additional details in a technical report

33 Architecture of the DAU DDU Address decoder Address control (matrix) Start Cell access DAA Command registers Data Reset Logic Done Deadlock w/ FSM Status registers Georgia Institute of Technology DDU: Deadlock Detection Unit FSM: finite state machine

34 State Transition Diagram - DAA Logic FSM request available? n release y R-dl? y idle grant waiting? n n make pending find owner y R>O search next pending owner give up compare priorities temporary grant requester give up O>R y G-dl? grant FSM: finite state machine n Georgia Institute of Technology

35 DAU Experimentation - Target System-on-a-Chip Four MPC755 s Each CPU has 32KB I-Cache I and 32KB D-CacheD 100MHz external clock, 16MB shared memory HW SW RTOS Four resources Q1: Video Interface (VI) Q2: Inverse Discrete Cosine Transform (IDCT) Q3: Fast Fourier Transform (FFT) Q4: Network Interface (NI) Georgia Institute of Technology

36 DAU Experimentation - RTOS, Application, Environment Atalanta RTOS 0.3 By Sun, Blough and Mooney at Georgia Tech Each process requires two resources except P4 P1: processing a video stream (needs VI + IDCT) P2: separating/enhancing frames (needs IDCT + FFT) P3: extracting special images (needs FFT + VI) P4: transferring images (needs NI) One active process for each processing element (PE) Seamless CVE from Mentor Graphics Instruction accurate simulation VCS (Synopsys( Synopsys) ) and XRAY (Mentor) Georgia Institute of Technology

37 Experimental Results of DAU G-dl avoidance simulation: Two kinds DAU: Synopsys VCS runs compiled Verilog code DAA in software: MPC755 runs compiled C code in Seamless CVE Example application invokes deadlock avoidance 12 times P1 P2 P3 P1 P2 P3 t1 t3 t2 t4 t5 Q1 Q2 Q3 Q1 Q2 Q Georgia Institute of Technology

38 Experimental Results of DAU (cont d) G-dl avoidance simulation result Time line with resource usage Q 1 and Q and Q 2 P 1 t =801 1 t = Q 2 and Q and Q 3 P 2 t = t = t =24888 t 7 8 =34791 Q 2 and Q and Q 3 P 3 t = t =16809 t 6 6 =24885 bus clock cycles Georgia Institute of Technology

39 Experimental Results of DAU (cont d) G-dl avoidance simulation result Performance improvement 99% algorithm execution time reduction 37% reduction in an application execution time Method of Deadlock Avoidance Algorithm Exe. Time (cycles) Normalized Exe. Time Application Exe. Time (cycles) DAU Hardware 7 (average) 1X DAA in Software 2188 (average) 312X Georgia Institute of Technology

40 Experimental Results of DAU (cont d) R-dl avoidance simulation: Two kinds DAU: Synopsys VCS runs compiled Verilog code DAA in software: MPC755 runs compiled C code in Seamless CVE Example application invokes deadlock avoidance 14 times P1 P2 P3 t4 t1 t2 t3 P1 t6 P2 t5 P3 Q1 Q2 Q3 Q1 Q2 Q Georgia Institute of Technology

41 Experimental Results of DAU (cont d) R-dl avoidance simulation result Performance improvement 99% algorithm execution time reduction 44% reduction in an application execution time Method of Deadlock Avoidance Algorithm Exe. Time (cycles) Normalized Exe. Time Application Exe. Time (cycles) DAU Hardware 7.13 (average) 1X DAA in Software 2102 (average) 294X Georgia Institute of Technology

42 Synthesis Results of DAU Synopsys Design Compiler TSMC.25µm m technology library from Qualcore Logic 0.05% of the total SoC area with four PEs and memory Module Name DAU 5x5 7x7 10x10 15x15 20x20 MPSoC Total Area in terms of two-input NAND gates Million Clock period used: 4 ns Lines of Verilog HDL Code Georgia Institute of Technology TSMC: Taiwan Semiconductor Manufacturing Company PE: Processing Element

43 P1 Q1 Outline Q2 P2 Motivation and Objective Background and Prior Work Proofs about Deadlock Detection Unit Deadlock Avoidance Unit Parallel Banker s s Algorithm Unit Integration into δ hardware/software RTOS framework Conclusion Georgia Institute of Technology

44 Parallel Banker s Algorithm (PBA) Parallelized Version of the Banker s s Algorithm For multiple-instance instance resources Advantages Guarantee deadlock avoidance Support multiple instance resources Provide O(n) ) run-time complexity Reduced from the original O(mn 2 ) O(1) in the best case Disadvantages Require hardware Require maximum claim declaration May under-utilize utilize resources Georgia Institute of Technology

45 PBAU Architecture (3x3) Georgia Institute of Technology

46 Parallel Banker s Algorithm (PBA) An n event of a request Is the request valid? Y Are the resources available? N N Y Pretend allocation Safe check (next slide) Safe? Y Grant it N Undo alloc Deny the request Georgia Institute of Technology return

47 Parallel Banker s Algorithm (PBA) Safety check Work[j]:= ]:=Available[j]] for all j Finish[i] ] := false for all i Find all able-to to-finish processes i in parallel (i.e., Finish[i] ] == false and Need[i][j] Work[j] ] for all j) Does any such process still exist? N Decision Y For all such able-to to-finish processes i { Finish[i] ] := true Work[j] ] = Work[j] ] + Allocation[i][j] ] for all j } return Georgia Institute of Technology

48 Resource Allocation by PBA q 1 Initial state resources q 2 instances for resources available allocated p 1 for processes need p 2 allocated p 3 (Legend) Georgia Institute of Technology

49 Resource Allocation by PBA Current safe state q 1 resources q 2 instances for resources available allocated p 1 for processes need p 2 allocated p Georgia Institute of Technology

50 Resource Allocation by PBA Current safe state q 1 resources q 2 instances for resources available allocated p 1 for processes need p 2 allocated p Georgia Institute of Technology

51 Resource Allocation by PBA Next state, safe? q 1 resources q 2 instances for resources available allocated p 1 for processes need p 2 allocated p Georgia Institute of Technology

52 Resource Allocation by PBA instances q 1 resources q 2 for resources available Finish allocated p 1 p 2 for processes need allocated p Georgia Institute of Technology

53 Resource Allocation by PBA instances q 1 resources q 2 for resources available Finish allocated p 1 p 2 for processes need allocated p Georgia Institute of Technology

54 Resource Allocation by PBA instances q 1 resources q 2 for resources available Finish allocated p 1 p 2 for processes need allocated p Georgia Institute of Technology

55 Resource Allocation by PBA instances q 1 resources q 2 for resources available Finish allocated p 1 p 2 for processes need allocated p Georgia Institute of Technology

56 Resource Allocation by PBA instances q 1 resources q 2 for resources available Finish allocated p 1 p 2 for processes need allocated p 3 A safe sequence: p 2 p 1 p Georgia Institute of Technology

57 Resource Allocation by PBA instances q 1 resources q 2 for resources available Finish allocated p 1 p 2 for processes need allocated p 3 A safe sequence: p 2 p 1 p 3, 3 steps, i.e., O(n) Georgia Institute of Technology

58 Resource Allocation by PBA An example of O(1) run-time instances q 1 resources q 2 for resources available Finish allocated p 1 p 2 for processes need allocated p Georgia Institute of Technology

59 Resource Allocation by PBA An example of O(1) run-time instances q 1 resources q 2 for resources available Finish allocated p 1 p 2 for processes need allocated p 3 A safe sequence: any combination Georgia Institute of Technology

60 PBAU Experimentation - System and Application Five processors Four resources Q1: Multiple DSPs Q2: Hardware semaphores Q3: I/O buffers Q4: A memory allocator PBAU 5x5 A robotic application Five processes Requires multiple instances 22 times of service requests to PBAU Requests, releases and claim settings HW SW RTOS Georgia Institute of Technology

61 Experimental Results of PBAU Performance improvement 99% algorithm execution time reduction 19% reduction in an application execution time Method of Deadlock Avoidance Algorithm Exe. Time (cycles) Normalized Exe. Time Application Exe. Time (cycles) PBAU Hardware 3.32 (average) 1X BA in Software 5398 (average) 1625X Georgia Institute of Technology

62 Synthesis Results of PBAU Synopsys Design Compiler TSMC.25µm m technology library from Qualcore Logic 0.05% of the total SoC area with five PEs and memory All PBAUs able to handle up to 16 instances for each resource Module Name PBAU 5x5 8x8 10x10 15x15 20x20 MPSoC Georgia Institute of Technology Total Area in terms of two-input NAND gates Million Clock period used: 4 ns TSMC: Taiwan Semiconductor Manufacturing Company PE: Processing Element Lines of Verilog HDL Code

63 P1 Q1 Outline Q2 P2 Motivation and Objective Background and Prior Work Proofs about Deadlock Detection Unit Deadlock Avoidance Unit Parallel Banker s s Algorithm Unit Integration into the δ hardware/software RTOS framework Conclusion Georgia Institute of Technology

64 δ framework Hardware/Software RTOS/MPSoC Configuration Framework Enables automatic generation of different mixes of the HW/SW RTOS Can be generalized to instantiate additional HW or SW RTOS components Integrates parameterized IP Generators such as DDU, DAU and PBAU generators Designed by Mooney and Lee RTOS Components: designed by B. Akgul, P. Kuarchroen, J. Lee, K. Ryu, M. Shalan and E. Shin Georgia Institute of Technology

65 δ framework - Methodology δ Framework DDU User Input Hardware Description Library GUI Tool DAU PBAU Top.v User.h HW Compile HW Library Executable HW Compiled Hardware Library Modelsim Simulation in Seamless CVE Result and Feedback Makefile SW Compile Executable SW HW RTOS Info. SW RTOS Info. Application SW Library XRAY Georgia Institute of Technology

66 δ framework - Methodology GUI Bus: designed by K. Ryu SoCLC: designed by B.Akgul SoCDMMU: designed by M. Shalan Georgia Institute of Technology

67 δ framework - Methodology GUIs for a custom bus generation Georgia Institute of Technology

68 Deadlock IP generator GUI Georgia Institute of Technology

69 δ framework -Implementation Verilog top file generation example Start with PBAU description Generate instantiation code multiple instantiation code if needed (e.g., PEs) IP Library Desc PBAU ~~~ enddesc (i) Generate code clock clock_gen (SYSCLK); cpu_mpc750 cpu1 ( ); bpau pbau5x5 (addr, data, ); arbiter arb (br_bar, bg_bar ); Add wires and initial statements PEs 1,2,3, Memory 1,2, PBAU Clock Arbiter (iii) After Instantiation wire addr; wire data; wire br_bar; wire bg_bar; wire SYSCLK; initial begin end; (ii) Add wires and initial states Georgia Institute of Technology

70 Conclusion with Contribution Proofs of Deadlock Detection Unit (DDU) Correctness and run-time complexity Deadlock Avoidance Unit (DAU) Faster Deadlock Avoidance (312X) No prior knowledge about resource requirements No restrictions on resource usage Higher resource utilization Solution to livelock Parallel Banker s s Algorithm Unit (PBAU) Faster deadlock avoidance for multiple instance multiple resource systems (1600X) Small area (less than 0.1% in our example SoC) δ Hardware/Software RTOS partitioning framework With custom deadlock IP generator for a specific target Georgia Institute of Technology

71 Publications [1] ] J. Lee and V. Mooney An O(n) Parallel Banker s s Algorithm for System-on on-a-chip, Chip, submitted to Design, Automation and Test in Europe (DATE( DATE 05), under review. [2] ] J. Lee and V. Mooney Hardware/Software Partitioning of Operating Systems: Focus on Deadlock Detection and Avoidance, to be appeared in IEE Computer & Digital Techniques (IEE CDT), January [3] ] J. Lee and V. Mooney An O(min(m,n)) Parallel Deadlock Detection Algorithm, resubmitted to ACM Transactions on Design Automation of Electronic Systems (TODAES) on September 2004, under review. [4] ] J. Lee and V. Mooney A A Novel Deadlock k Avoidance Algorithm and Its Hardware Implementation, International Conference on Hardware/Software Codesign and System Synthesis (CODES 04),, pp , 205, September [5] J. Lee, V. Mooney, A. Daleby,, K. Ingstrom,, T. Klevin and L. Lindh, A A comparison of the RTU hardware RTOS with a Hardware/Software RTOS, Proceedings of the Asia South Pacific Design Automation Conference (ASPDAC( 2003), pp , 688, January Best Paper Award Candidate (one of 12 nominees; not selected for Best Paper). [6] J. Lee, K. Ryu and V. Mooney, A A framework for automatic generation of configuration files for a custom RTOS, Proceedings of the Engineering of Reconfigurable Systems and Algorithms (ERSA( 2002), pp , 37, June [7] ] J. Lee and V. Mooney An O(min(m,n)) Parallel Deadlock Detection Algorithm, Tech. Rep. GIT-CC CC-03-41, College of Computing, Georgia Institute of Technology, Atlanta, GA. September [8] ] B. Akgul,, J. Lee and V. Mooney, A System-on on-a-chip Lock Cache with Task Preemption Support, Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES( 2001), pp , 157, November Georgia Institute of Technology

72 Q & A Thank you! Georgia Institute of Technology

73 Deadlock Avoidance Algorithm (DAA) More about R-dl avoidance If f P1>P2 P1 Q2 Q1 P2 Ask P2 to release Q2 Q2 can be granted to P1 If f P2>P1 P1 Q2 Q1 P2 Ask P1 to release Q1 Q1 can be granted to P Georgia Institute of Technology

74 Proof of the Correctness of DDU Algorithm Correctness Not empty cycle(s) deadlock Empty no cycle(s) no deadlock Proof with 5 Lemmas 4 Theorems * Additional detail can be found in a journal submission and a technical report [3, 7] Georgia Institute of Technology

75 Proof of the Correctness of DDU Algorithm (cont d) 5 Lemmas Removing terminal edges will not alter any cycle If a RAG can be completely reduced, the system does not have a deadlock If no cycles in a RAG, the RAG can be completely reduced. A process that is making progress is not involved in deadlock If a system does not have a deadlock, all processes can make progress within a finite time Georgia Institute of Technology

76 Proof of the Correctness of DDU Algorithm (cont d) 4 Theorems If a RAG contains any cycle, the RAG cannot be completely reduced If a RAG cannot be completely reduced, the RAG contains at least a cycle A cycle is a necessary and sufficient condition for deadlock DDU Algorithm detects deadlock iff there exists a cycle in a RAG Georgia Institute of Technology

77 Proof of Run-Time Complexity of DDU Q: How many steps does DDU need to detect deadlock in parallel hardware? Proof with 2 Corollaries 1 Lemma 1 Theorem * Additional detail can be found in a journal submission and a technical report [3, 7] Georgia Institute of Technology

78 Proof of Run-Time Complexity of DDU (cont'd) 2 Corollaries The total number of nodes in the smallest possible cycle = 4 The number of edges in any path (not cycle) using all nodes in the smallest possible cycle = 3 P1 P2 P1 P2 Q1 Q2 Q1 Q Georgia Institute of Technology

79 Comparison: DDU and DAU Method of Deadlock Detection DDU DDU in software Detection Time (average cycles) Normalized Detection Time 1X 1408X Method of Deadlock Avoidance Hardware Software Avoidance Time (average cycles) Normalized Avoidance Time 1X 312X Georgia Institute of Technology

A Novel Deadlock Avoidance Algorithm and Its Hardware Implementation

A Novel Deadlock Avoidance Algorithm and Its Hardware Implementation A ovel Deadlock Avoidance Algorithm and Its Hardware Implementation + Jaehwan Lee and *Vincent* J. Mooney III Hardware/Software RTOS Group Center for Research on Embedded Systems and Technology (CREST)

More information

A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS

A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS Jaehwan Lee* Kyeong Keol Ryu* Vincent J. Mooney III + {jaehwan, kkryu, mooney}@ece.gatech.edu http://codesign.ece.gatech.edu

More information

A Novel Deadlock Avoidance Algorithm and Its Hardware Implementation

A Novel Deadlock Avoidance Algorithm and Its Hardware Implementation A Novel Deadlock Avoidance Algorithm and Its Hardware Implementation Jaehwan Lee Georgia Institute of Technology Atlanta, Georgia, U.S.A. jaehwan@ece.gatech.edu Vincent John Mooney III Georgia Institute

More information

Dynamic Memory Management for Real-Time Multiprocessor System-on-a-Chip

Dynamic Memory Management for Real-Time Multiprocessor System-on-a-Chip Dynamic Memory Management for Real-Time Multiprocessor System-on-a-Chip Mohamed A. Shalan Dissertation Advisor Vincent J. Mooney III School of Electrical and Computer Engineering Agenda Introduction &

More information

Interconnect Delay Aware RTL Verilog Bus Architecture Generation for an SoC

Interconnect Delay Aware RTL Verilog Bus Architecture Generation for an SoC Interconnect Delay Aware RTL Verilog Bus Architecture Generation for an SoC Kyeong Ryu, Alexandru Talpasanu, Vincent Mooney and Jeffrey Davis School of Electrical and Computer Engineering Georgia Institute

More information

Hardware Support for Priority Inheritance

Hardware Support for Priority Inheritance Hardware Support for Priority Inheritance Bilge. S. Akgul +, Vincent J. Mooney +, Henrik Thane* and Pramote Kuacharoen + + Center for Research on mbedded Systems and Technology (CRST) + School of lectrical

More information

Lecture 7 Deadlocks (chapter 7)

Lecture 7 Deadlocks (chapter 7) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 7 Deadlocks (chapter 7) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides here are

More information

Module 7: Deadlocks. The Deadlock Problem. Bridge Crossing Example. System Model

Module 7: Deadlocks. The Deadlock Problem. Bridge Crossing Example. System Model Module 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined

More information

Module 7: Deadlocks. The Deadlock Problem

Module 7: Deadlocks. The Deadlock Problem Module 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined Approach to Deadlock

More information

System Model. Types of resources Reusable Resources Consumable Resources

System Model. Types of resources Reusable Resources Consumable Resources Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock System Model Types

More information

The Deadlock Problem

The Deadlock Problem The Deadlock Problem A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 disk drives. P 1 and P 2 each hold one

More information

COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 7 Deadlocks. Zhi Wang Florida State University

COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 7 Deadlocks. Zhi Wang Florida State University COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 7 Deadlocks Zhi Wang Florida State University Contents Deadlock problem System model Handling deadlocks deadlock prevention deadlock avoidance

More information

Chapter 7: Deadlocks

Chapter 7: Deadlocks Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Chapter

More information

CS420: Operating Systems. Deadlocks & Deadlock Prevention

CS420: Operating Systems. Deadlocks & Deadlock Prevention Deadlocks & Deadlock Prevention James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne The Deadlock Problem

More information

Chapter 8: Deadlocks

Chapter 8: Deadlocks Chapter 8: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined Approach to Deadlock

More information

Chapter 8: Deadlocks. The Deadlock Problem. System Model. Bridge Crossing Example. Resource-Allocation Graph. Deadlock Characterization

Chapter 8: Deadlocks. The Deadlock Problem. System Model. Bridge Crossing Example. Resource-Allocation Graph. Deadlock Characterization Chapter 8: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined

More information

CSE Opera+ng System Principles

CSE Opera+ng System Principles CSE 30341 Opera+ng System Principles Deadlocks Overview System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock

More information

CS307 Operating Systems Deadlocks

CS307 Operating Systems Deadlocks CS307 Deadlocks Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2016 Bridge Crossing Example Traffic only in one direction Each section of a bridge can be viewed

More information

Deadlocks. Bridge Crossing Example. The Problem of Deadlock. Deadlock Characterization. Resource-Allocation Graph. System Model

Deadlocks. Bridge Crossing Example. The Problem of Deadlock. Deadlock Characterization. Resource-Allocation Graph. System Model CS07 Bridge Crossing Example Deadlocks Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2016 Traffic only in one direction Each section of a bridge can be viewed

More information

Deadlock. Concepts to discuss. A System Model. Deadlock Characterization. Deadlock: Dining-Philosophers Example. Deadlock: Bridge Crossing Example

Deadlock. Concepts to discuss. A System Model. Deadlock Characterization. Deadlock: Dining-Philosophers Example. Deadlock: Bridge Crossing Example Concepts to discuss Deadlock CSCI 315 Operating Systems Design Department of Computer Science Deadlock Livelock Spinlock vs. Blocking Notice: The slides for this lecture have been largely based on those

More information

Principles of Operating Systems

Principles of Operating Systems Principles of Operating Systems Lecture 11 - Deadlocks Ardalan Amiri Sani (ardalan@uci.edu) [lecture slides contains some content adapted from previous slides by Prof. Nalini Venkatasubramanian, and course

More information

Deadlocks. Operating System Concepts - 7 th Edition, Feb 14, 2005

Deadlocks. Operating System Concepts - 7 th Edition, Feb 14, 2005 Deadlocks Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock 7.2 Silberschatz,

More information

Chapter 7 : 7: Deadlocks Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8th Edition, Chapter 7: Deadlocks

Chapter 7 : 7: Deadlocks Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8th Edition, Chapter 7: Deadlocks Chapter 7: Deadlocks, Silberschatz, Galvin and Gagne 2009 Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance

More information

Deadlocks. Dr. Yingwu Zhu

Deadlocks. Dr. Yingwu Zhu Deadlocks Dr. Yingwu Zhu Deadlocks Synchronization is a live gun we can easily shoot ourselves in the foot Incorrect use of synchronization can block all processes You have likely been intuitively avoiding

More information

A Dynamic Memory Management Unit for Embedded Real-Time System-on-a-Chip

A Dynamic Memory Management Unit for Embedded Real-Time System-on-a-Chip A Dynamic Memory Management Unit for Embedded Real-Time System-on-a-Chip Mohamed Shalan Georgia Institute of Technology School of Electrical and Computer Engineering 801 Atlantic Drive Atlanta, GA 30332-0250

More information

Module 7: Deadlocks. System Model. Deadlock Characterization. Methods for Handling Deadlocks. Deadlock Prevention. Deadlock Avoidance

Module 7: Deadlocks. System Model. Deadlock Characterization. Methods for Handling Deadlocks. Deadlock Prevention. Deadlock Avoidance Module 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined Approach to Deadlock

More information

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition,

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition, Chapter 7: Deadlocks, Silberschatz, Galvin and Gagne 2009 Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance

More information

Chapter 7: Deadlocks. Operating System Concepts 9 th Edition

Chapter 7: Deadlocks. Operating System Concepts 9 th Edition Chapter 7: Deadlocks Silberschatz, Galvin and Gagne 2013 Chapter 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection

More information

Chapter 7: Deadlocks

Chapter 7: Deadlocks Chapter 7: Deadlocks Chapter 7: Deadlocks 7.1 System Model 7.2 Deadlock Characterization 7.3 Methods for Handling Deadlocks 7.4 Deadlock Prevention 7.5 Deadlock Avoidance 7.6 Deadlock Detection 7.7 Recovery

More information

Chapter 7: Deadlocks. Chapter 7: Deadlocks. The Deadlock Problem. Chapter Objectives. System Model. Bridge Crossing Example

Chapter 7: Deadlocks. Chapter 7: Deadlocks. The Deadlock Problem. Chapter Objectives. System Model. Bridge Crossing Example Silberschatz, Galvin and Gagne 2009 Chapter 7: Deadlocks Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance

More information

ICS Principles of Operating Systems. Lectures Set 5- Deadlocks Prof. Nalini Venkatasubramanian

ICS Principles of Operating Systems. Lectures Set 5- Deadlocks Prof. Nalini Venkatasubramanian ICS 143 - Principles of Operating Systems Lectures Set 5- Deadlocks Prof. Nalini Venkatasubramanian nalini@ics.uci.edu Outline System Model Deadlock Characterization Methods for handling deadlocks Deadlock

More information

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition,! Silberschatz, Galvin and Gagne 2009!

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition,! Silberschatz, Galvin and Gagne 2009! Chapter 7: Deadlocks Operating System Concepts 8 th Edition,! Silberschatz, Galvin and Gagne 2009! Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling

More information

Deadlocks. Deadlock Overview

Deadlocks. Deadlock Overview Deadlocks Gordon College Stephen Brinton Deadlock Overview The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection

More information

The Deadlock Problem

The Deadlock Problem Deadlocks The Deadlock Problem A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 disk drives. P1 and P2 each

More information

Hardware Support for Priority Inheritance

Hardware Support for Priority Inheritance Hardware Support for Priority Inheritance Bilge E. S. Akgul, Vincent J. Mooney III, Henrik Thane, Pramote Kuacharoen Center for Research on Embedded Systems and Technology School of Electrical and Computer

More information

Chapter 8: Deadlocks. The Deadlock Problem

Chapter 8: Deadlocks. The Deadlock Problem Chapter 8: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined Approach to Deadlock

More information

Deadlocks. Prepared By: Kaushik Vaghani

Deadlocks. Prepared By: Kaushik Vaghani Deadlocks Prepared By : Kaushik Vaghani Outline System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection & Recovery The Deadlock Problem

More information

Chapter 7: Deadlocks

Chapter 7: Deadlocks Chapter 7: Deadlocks Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from

More information

Chapter 7: Deadlocks

Chapter 7: Deadlocks Chapter 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined Approach to Deadlock

More information

Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking

Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking Di-Shi Sun and Douglas M. Blough School of Electrical and Computer Engineering Georgia Institute of Technology Atlanta, GA

More information

Principles of Operating Systems

Principles of Operating Systems Principles of Operating Systems Lecture 16-17 - Deadlocks Ardalan Amiri Sani (ardalan@uci.edu) [lecture slides contains some content adapted from previous slides by Prof. Nalini Venkatasubramanian, and

More information

Hardware Support for Real-Time Embedded Multiprocessor System-on-a-Chip Memory Management

Hardware Support for Real-Time Embedded Multiprocessor System-on-a-Chip Memory Management Hardware Support for Real-Time Embedded Multiprocessor System-on-a-Chip Memory Management Mohamed Shalan Georgia Institute of Technology School of Electrical and Computer Engineering 801 Atlantic Drive

More information

Chapter 7: Deadlocks. Operating System Concepts with Java 8 th Edition

Chapter 7: Deadlocks. Operating System Concepts with Java 8 th Edition Chapter 7: Deadlocks 7.1 Silberschatz, Galvin and Gagne 2009 Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock

More information

Chapter 8: Deadlocks. Operating System Concepts with Java

Chapter 8: Deadlocks. Operating System Concepts with Java Chapter 8: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined Approach to Deadlock

More information

TDDB68 + TDDD82. Lecture: Deadlocks

TDDB68 + TDDD82. Lecture: Deadlocks TDDB68 + TDDD82 Lecture: Deadlocks Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science Thanks to Simin Nadjm-Tehrani and Christoph Kessler for much

More information

CMSC 412. Announcements

CMSC 412. Announcements CMSC 412 Deadlock Reading Announcements Chapter 7 Midterm next Monday In class Will have a review on Wednesday Project 3 due Friday Project 4 will be posted the same day 1 1 The Deadlock Problem A set

More information

DX-Gt: Memory Management and Crossbar Switch Generator for Multiprocessor System-on-a-Chip

DX-Gt: Memory Management and Crossbar Switch Generator for Multiprocessor System-on-a-Chip DX-Gt: Memory Management and Crossbar Switch Generator for Multiprocessor System-on-a-Chip Mohamed A Shalan, Eung S Shin and Vincent J Mooney III Georgia Institute of Technology School of Electrical and

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 1019 L14 Deadlocks Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Creating threads without using

More information

Deadlock. A Bit More on Synchronization. The Deadlock Problem. Deadlock Characterization. Operating Systems 2/7/2005. CSC 256/456 - Spring

Deadlock. A Bit More on Synchronization. The Deadlock Problem. Deadlock Characterization. Operating Systems 2/7/2005. CSC 256/456 - Spring A Bit More on Synchronization Deadlock CS 256/456 Dept. of Computer Science, University of Rochester Synchronizing interrupt handlers: Interrupt handlers run at highest priority and they must not block.

More information

Module 6: Deadlocks. Reading: Chapter 7

Module 6: Deadlocks. Reading: Chapter 7 Module 6: Deadlocks Reading: Chapter 7 Objective: To develop a description of deadlocks, which prevent sets of concurrent processes from completing their tasks To present a number of different methods

More information

Deadlock Prevention. Restrain the ways request can be made. Mutual Exclusion not required for sharable resources; must hold for nonsharable resources.

Deadlock Prevention. Restrain the ways request can be made. Mutual Exclusion not required for sharable resources; must hold for nonsharable resources. Deadlock Prevention Restrain the ways request can be made. Mutual Exclusion not required for sharable resources; must hold for nonsharable resources. Hold and Wait must guarantee that whenever a process

More information

Deadlocks. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University.

Deadlocks. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University. Deadlocks Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention

More information

Fall 2015 COMP Operating Systems. Lab 06

Fall 2015 COMP Operating Systems. Lab 06 Fall 2015 COMP 3511 Operating Systems Lab 06 Outline Monitor Deadlocks Logical vs. Physical Address Space Segmentation Example of segmentation scheme Paging Example of paging scheme Paging-Segmentation

More information

Bridge Crossing Example

Bridge Crossing Example CSCI 4401 Principles of Operating Systems I Deadlocks Vassil Roussev vassil@cs.uno.edu Bridge Crossing Example 2 Traffic only in one direction. Each section of a bridge can be viewed as a resource. If

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 17 Deadlock Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Claim edge may request- request

More information

Chapter 7: Deadlocks. Operating System Concepts 8th Edition, modified by Stewart Weiss

Chapter 7: Deadlocks. Operating System Concepts 8th Edition, modified by Stewart Weiss Chapter 7: Deadlocks, Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance (briefly) Deadlock Detection

More information

Deadlock Risk Management

Deadlock Risk Management Lecture 5: Deadlocks, Deadlock Risk Management Contents The Concept of Deadlock Resource Allocation Graph Approaches to Handling Deadlocks Deadlock Avoidance Deadlock Detection Recovery from Deadlock AE3B33OSD

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L16 Deadlocks, Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Where we are: Deadlocks

More information

Cache Design and Timing Analysis for Preemptive Multi- tasking Real-Time Uniprocessor Systems

Cache Design and Timing Analysis for Preemptive Multi- tasking Real-Time Uniprocessor Systems Cache Design and Timing Analysis for Preemptive Multi- tasking Real-Time Uniprocessor Systems PhD Defense by Yudong Tan Advisor: Vincent J. Mooney III Center for Research on Embedded Systems and Technology

More information

Chapter - 4. Deadlocks Important Questions

Chapter - 4. Deadlocks Important Questions Chapter - 4 Deadlocks Important Questions 1 1.What do you mean by Deadlocks? A process request for some resources. If the resources are not available at that time, the process enters a waiting state. The

More information

UNIT-5 Q1. What is deadlock problem? Explain the system model of deadlock.

UNIT-5 Q1. What is deadlock problem? Explain the system model of deadlock. UNIT-5 Q1. What is deadlock problem? Explain the system model of deadlock. The Deadlock Problem A set of blocked processes each holding a resource and waiting to acquire a resource held by another process

More information

CS307: Operating Systems

CS307: Operating Systems CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn

More information

Deadlocks. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Deadlocks. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University Deadlocks Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics What is deadlock? Deadlock characterization Four conditions for deadlock

More information

Introduction to Deadlocks

Introduction to Deadlocks Unit 5 Introduction to Deadlocks Structure 5.1 Introduction Objectives 5.2 System Model 5.3 Deadlock Characterization Necessary Conditions for Deadlock Resource-Allocation Graph. 5.4 Deadlock Handling

More information

Operating Systems. Deadlocks. Stephan Sigg. November 30, Distributed and Ubiquitous Systems Technische Universität Braunschweig

Operating Systems. Deadlocks. Stephan Sigg. November 30, Distributed and Ubiquitous Systems Technische Universität Braunschweig Operating Systems Deadlocks Stephan Sigg Distributed and Ubiquitous Systems Technische Universität Braunschweig November 30, 2010 Stephan Sigg Operating Systems 1/86 Overview and Structure Introduction

More information

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition,

Chapter 7: Deadlocks. Operating System Concepts 8 th Edition, Chapter 7: Deadlocks, Silberschatz, Galvin and Gagne 2009 Chapter Objectives To develop a description of deadlocks, which prevent sets of concurrent processes from completing their tasks To present a number

More information

Deadlocks. Mehdi Kargahi School of ECE University of Tehran Spring 2008

Deadlocks. Mehdi Kargahi School of ECE University of Tehran Spring 2008 Deadlocks Mehdi Kargahi School of ECE University of Tehran Spring 2008 What is a Deadlock Processes use resources in the following sequence: Request Use Release A number of processes may participate in

More information

Resource Management and Deadlocks 43

Resource Management and Deadlocks 43 Resource Management and Deadlocks 43 The Deadlock Problem Law passed by the Kansas Legislature in early 20th century: When two trains approach each other at a crossing, both shall come to a full stop and

More information

The Deadlock Problem. A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set.

The Deadlock Problem. A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Deadlock The Deadlock Problem A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set Example semaphores A and B, initialized to 1 P 0 P

More information

CHAPTER 7: DEADLOCKS. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 7: DEADLOCKS. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 7: DEADLOCKS By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention

More information

Roadmap. Deadlock Prevention. Deadlock Prevention (Cont.) Deadlock Detection. Exercise. Tevfik Koşar. CSE 421/521 - Operating Systems Fall 2012

Roadmap. Deadlock Prevention. Deadlock Prevention (Cont.) Deadlock Detection. Exercise. Tevfik Koşar. CSE 421/521 - Operating Systems Fall 2012 CSE 421/521 - Operating Systems Fall 2012 Roadmap Lecture - XI Deadlocks - II Deadlocks Deadlock Prevention Deadlock Detection Deadlock Recovery Deadlock Avoidance Tevfik Koşar University at Buffalo October

More information

CSC Operating Systems Fall Lecture - XII Deadlocks - III. Tevfik Ko!ar. Louisiana State University. October 6 th, 2009

CSC Operating Systems Fall Lecture - XII Deadlocks - III. Tevfik Ko!ar. Louisiana State University. October 6 th, 2009 CSC 4103 - Operating Systems Fall 2009 Lecture - XII Deadlocks - III Tevfik Ko!ar Louisiana State University October 6 th, 2009 1 Deadlock Detection Allow system to enter deadlock state Detection algorithm

More information

Basics of Deadlock Theory. Deadlocks

Basics of Deadlock Theory. Deadlocks CMSC 621, Advanced Operating Systems. Fall 2003 Basics of Deadlock Theory Dr. Kalpakis Deadlocks deadlock occurs when there is a set of processes which have outstanding requests for resources that can

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 1018 L14 Deadlocks Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Mutex vs Semaphore 2 2 FAQ Does

More information

Chapter 7: Deadlocks. Operating System Concepts 9 th Edition

Chapter 7: Deadlocks. Operating System Concepts 9 th Edition Chapter 7: Deadlocks Silberschatz, Galvin and Gagne 2013 Chapter 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection

More information

Fall COMP3511 Review

Fall COMP3511 Review Outline Fall 2015 - COMP3511 Review Monitor Deadlock and Banker Algorithm Paging and Segmentation Page Replacement Algorithms and Working-set Model File Allocation Disk Scheduling Review.2 Monitors Condition

More information

University of Babylon / College of Information Technology / Network Department. Operating System / Dr. Mahdi S. Almhanna & Dr. Rafah M.

University of Babylon / College of Information Technology / Network Department. Operating System / Dr. Mahdi S. Almhanna & Dr. Rafah M. Chapter 6 Methods for Handling Deadlocks Generally speaking, we can deal with the deadlock problem in one of three ways: We can use a protocol to prevent or avoid deadlocks, ensuring that the system will

More information

Potential Deadlock Example

Potential Deadlock Example Deadlock Handling Notice: The slides for this lecture have been largely based on those accompanying an earlier edition of the course text Operating Systems Concepts, 9th ed., by Silberschatz, Galvin, and

More information

Operating System: Chap7 Deadlocks. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap7 Deadlocks. National Tsing-Hua University 2016, Fall Semester Operating System: Chap7 Deadlocks National Tsing-Hua University 2016, Fall Semester Overview System Model Deadlock Characterization Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from

More information

Deadlocks. System Model

Deadlocks. System Model Deadlocks System Model Several processes competing for resources. A process may wait for resources. If another waiting process holds resources, possible deadlock. NB: this is a process-coordination problem

More information

CHAPTER 7 - DEADLOCKS

CHAPTER 7 - DEADLOCKS CHAPTER 7 - DEADLOCKS 1 OBJECTIVES To develop a description of deadlocks, which prevent sets of concurrent processes from completing their tasks To present a number of different methods for preventing

More information

Operating Systems. Deadlock. Lecture 7 Michael O Boyle

Operating Systems. Deadlock. Lecture 7 Michael O Boyle Operating Systems Deadlock Lecture 7 Michael O Boyle 1 2 Definition A thread is deadlocked when it s waiting for an event that can never occur I m waiting for you to clear the intersection, so I can proceed

More information

Resource Management and Deadlocks 1

Resource Management and Deadlocks 1 Resource Management and Deadlocks 1 The Deadlock Problem Law passed by the Kansas Legislature in early 20th century: When two trains approach each other at a crossing, both shall come to a full stop and

More information

Final Exam Review. CPSC 457, Spring 2016 June 29-30, M. Reza Zakerinasab Department of Computer Science, University of Calgary

Final Exam Review. CPSC 457, Spring 2016 June 29-30, M. Reza Zakerinasab Department of Computer Science, University of Calgary Final Exam Review CPSC 457, Spring 2016 June 29-30, 2015 M. Reza Zakerinasab Department of Computer Science, University of Calgary Final Exam Components Final Exam: Monday July 4, 2016 @ 8 am in ICT 121

More information

The Deadlock Problem (1)

The Deadlock Problem (1) Deadlocks The Deadlock Problem (1) A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 disk drives. P 1 and P 2

More information

Operating systems. Lecture 5. Deadlock: System Model. Deadlock: System Model. Process synchronization Deadlocks. Deadlock: System Model

Operating systems. Lecture 5. Deadlock: System Model. Deadlock: System Model. Process synchronization Deadlocks. Deadlock: System Model Lecture 5 Operating systems Process synchronization Deadlocks Deadlock: System Model Computer system: Processes (program in execution); Resources (CPU, memory space, files, I/O devices, on so on). Deadlock:

More information

CSC 539: Operating Systems Structure and Design. Spring 2005

CSC 539: Operating Systems Structure and Design. Spring 2005 CSC 539: Operating Systems Structure and Design Spring 2005 Process deadlock deadlock prevention deadlock avoidance deadlock detection recovery from deadlock 1 Process deadlock in general, can partition

More information

A Novel Parallel Deadlock Detection Algorithm and Architecture

A Novel Parallel Deadlock Detection Algorithm and Architecture A Novel Paallel Deadlock Detection Aloithm and Achitectue Pun H. Shiu 2, Yudon Tan 2, Vincent J. Mooney III {ship, ydtan, mooney}@ece.atech.ed }@ece.atech.edu http://codesin codesin.ece.atech.eduedu,2

More information

Lecture 7: Introduction to Co-synthesis Algorithms

Lecture 7: Introduction to Co-synthesis Algorithms Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today

More information

! What is a deadlock? ! What causes a deadlock? ! How do you deal with (potential) deadlocks? Maria Hybinette, UGA

! What is a deadlock? ! What causes a deadlock? ! How do you deal with (potential) deadlocks? Maria Hybinette, UGA Chapter 8: Deadlock Questions? CSCI 4730 Operating Systems! What is a deadlock?! What causes a deadlock?! How do you deal with (potential) deadlocks? Deadlock Deadlock: What is a deadlock? Example: Two

More information

Unit-03 Deadlock and Memory Management Unit-03/Lecture-01

Unit-03 Deadlock and Memory Management Unit-03/Lecture-01 1 Unit-03 Deadlock and Memory Management Unit-03/Lecture-01 The Deadlock Problem 1. A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set.

More information

The Deadlock Problem

The Deadlock Problem Chapter 7: Deadlocks The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock The Deadlock

More information

A More Sophisticated Snooping-Based Multi-Processor

A More Sophisticated Snooping-Based Multi-Processor Lecture 16: A More Sophisticated Snooping-Based Multi-Processor Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2014 Tunes The Projects Handsome Boy Modeling School (So... How

More information

Chapter 7: Deadlocks CS370 Operating Systems

Chapter 7: Deadlocks CS370 Operating Systems Chapter 7: Deadlocks CS370 Operating Systems Objectives: Description of deadlocks, which prevent sets of concurrent processes from completing their tasks Different methods for preventing or avoiding deadlocks

More information

Operating Systems 2015 Spring by Euiseong Seo DEAD LOCK

Operating Systems 2015 Spring by Euiseong Seo DEAD LOCK Operating Systems 2015 Spring by Euiseong Seo DEAD LOCK Chapter 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 16 Deadlock Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Does a cycle in a resource

More information

Deadlock. CS 450 : Operating Systems Michael Lee

Deadlock. CS 450 : Operating Systems Michael Lee Deadlock CS 450 : Operating Systems Michael Lee deadlock noun 1 [in sing. ] a situation, typically one involving opposing parties, in which no progress can be made : an attempt to break the

More information

CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems CSE 380 Computer Operating Systems Instructor: Insup Lee and Dianna Xu University of Pennsylvania, Fall 2003 Lecture Note: Deadlocks 1 Resource Allocation q Examples of computer resources printers tape

More information

Chapter 7: Deadlocks. Operating System Concepts 9th Edition DM510-14

Chapter 7: Deadlocks. Operating System Concepts 9th Edition DM510-14 Chapter 7: Deadlocks Chapter 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock 7.2 Chapter

More information

Deadlock. Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1

Deadlock. Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1 Deadlock Disclaimer: some slides are adopted from Dr. Kulkarni s and book authors slides with permission 1 Recap: Synchronization Race condition A situation when two or more threads read and write shared

More information