Presentation is loading. Please wait.

Presentation is loading. Please wait.

Deadlock Detection for Distributed Process Networks Alex Olson Embedded Software Spring 2004.

Similar presentations


Presentation on theme: "Deadlock Detection for Distributed Process Networks Alex Olson Embedded Software Spring 2004."— Presentation transcript:

1 Deadlock Detection for Distributed Process Networks Alex Olson Embedded Software Spring 2004

2 Problem Statement Implement deadlock detection in a distributed process network (DPN) Deadlock detection required for PN scheduling algorithms Deadlock not statically predictable DPN allows for high performance computations Distributed Process Network Variable channel latency Limited bandwidth No central server

3 Goals Achieve high-performance Deadlock detection should have minimal impact on system performance, resource usage Deadlock detection should support future addition of dynamic process migration.

4 Implementation Distributed Computational Process Network (Allen00) Zero copy queues C++, POSIX Threads Transmit and receive queues TCP socket for communication Simple Deadlock Detection Algorithm

5 Deadlock Detection Mitchell & Merritt’s algorithm (Mitchell84) Single-resource model Detects “local” and “global” deadlocks Each Process has two labels Each label is (count, pid) Guarantees only one process detects deadlock Send tokens and control information on same socket, make use of FIFO guarantee No synchronization mechanism required

6 Mitchell-Merritt Example 1,1 5,5 4,4 3,3 pub priv

7 Mitchell-Merritt Example 4,1 5,5 4,4 3,3 pub priv BLOCK

8 Mitchell-Merritt Example 4,1 6,5 4,4 3,3 pub priv BLOCK

9 Mitchell-Merritt Example 4,1 6,5 4,4 7,3 pub priv BLOCK

10 Mitchell-Merritt Example 7,3 4,1 6,5 4,4 7,3 pub priv Transmit

11 Mitchell-Merritt Example 7,3 4,1 7,3 6,5 4,4 7,3 pub priv Transmit

12 Mitchell-Merritt Example 7,3 4,1 7,3 6,5 4,4 7,3 pub priv DEADLOCK

13 Interface Processes inherit methods from a “Process” class and implement the following: void Init() void Step() int GetPID()

14 Performance Up to 2 Million 1-Byte tokens per second 120 Mbytes/sec (1kb tokens) Verified deadlock detection for a a variety of cases

15 Performance Statistics Token Rate

16 Performance Statistics Data Rate

17 Conclusion Deadlock detection in DPNs can be fairly simple Method can be applied to regular PNs DPNs capable of high performance Future Work Process Migration Load Balancing

18 References Allen00G. Allen and B. Evans, “Real-time sonar beamforming on workstations using process networks and POSIX threads,” in IEEE Trans. Signal Processing, Mar. 2000, pp. 921–926. Mitchell84D. P. Mitchell and M. J. Merritt, “A distributed algorithm for deadlock detection and resolution,” in ACM Symposium on Principles of Distributed Computing, 1984, pp. 282 – 284.


Download ppt "Deadlock Detection for Distributed Process Networks Alex Olson Embedded Software Spring 2004."

Similar presentations


Ads by Google