1 / 18

Deadlock Detection for Distributed Process Networks

Deadlock Detection for Distributed Process Networks. Alex Olson Embedded Software Spring 2004. Problem Statement. Implement deadlock detection in a distributed process network (DPN) Deadlock detection required for PN scheduling algorithms Deadlock not statically predictable

luke-foley
Download Presentation

Deadlock Detection for Distributed Process Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. 1,1 5,5 4,4 3,3 1,1 5,5 4,4 3,3 Mitchell-Merritt Example pub priv

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

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

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

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

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

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

  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

More Related