This Article 
 Bibliographic References 
 Add to: 
A True O(1) Parallel Deadlock Detection Algorithm for Single-Unit Resource Systems and Its Hardware Implementation
January 2010 (vol. 21 no. 1)
pp. 4-19
Xiang Xiao, Indiana University—Purdue University Indianapolis, Indianapolis
Jaehwan John Lee, Indiana University—Purdue University Indianapolis, Indianapolis
Due to rapid technology advance, Multiprocessor System-on-Chips (MPSoCs) are likely to become commodity computing platforms for embedded applications. In the future, it is possible that an MPSoC is equipped with a large number of processing elements as well as on-chip resources. The management of these faces many challenges, among which deadlock is one of the most crucial issues. This paper presents a novel hardware-oriented deadlock detection algorithm suitable for current and future MPSoCs. Unlike previously published methods whose runtime complexities are often affected by the number of processing elements and resources in the system, the proposed algorithm leverages specialized hardware to guarantee O(1) overall runtime complexity. Such complexity is achieved by: 1) classifying resource allocation events; 2) for each type of events, using hardware to perform a set of specific detection and/or preparation operations that only takes constant runtime; and 3) updating necessary information for multiple resources in parallel in hardware. We implement the algorithm in Verilog HDL and demonstrate through simulation that each algorithm invocation takes at most four clock cycles.

[1] B. Claude, The Theory of Graphs. John Wiley & Sons, 1962.
[2] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, second ed., ch. 22, The MIT Press, 2001.
[3] S. Dutta, R. Jensen, and A. Rieckmann, “Viper: A Multiprocessor SoC for Advanced Set-Top Box and Digital TV Systems,” IEEE Design and Test of Computers, vol. 18, no. 5, pp. 21-31, Sept./Oct. 2001.
[4] R. Holt, “Some Deadlock Properties of Computer Systems,” ACM Computing Surveys, vol. 4, no. 3, pp. 179-196, 1972.
[5] Intel. Product Brief: Intel IXP2850 Network Processor, 25213601.pdf, Jan. 2009.
[6] J. Kim and K. Koh, “An O(1) Time Deadlock Detection Scheme in Single Unit and Single Request Multiprocess System,” Proc. IEEE Ann. Technology, Education, and Networking Conf. (TENCON '91), pp. 219-223, 1991.
[7] T. Leibfried, “A Deadlock Detection and Recovery Algorithm Using the Formalism of a Directed Graph Matrix,” Operating Systems Rev., vol. 23, no. 2, pp. 45-55, 1989.
[8] M. Maekawa, A. Oldehoeft, and R. Oldehoeft, Operating Systems: Advanced Concepts. Benjamin/Cummings Publishing Company, 1987.
[9] Mentor Graphics Corp. ASIC Design Kit, http://www.mentor. com/company/higher_ed/ asicindex.cfm, Jan. 2009.
[10] Mentor Graphics Corp. Hardware/Software Co-Verification: Seamless, http://www.mentor.comseamless/, Jan. 2009.
[11] P. Shiu, Y. Tan, and V. Mooney, “A Novel Parallel Deadlock Detection Algorithm and Architecture,” Proc. Int'l Symp. Hardware/Software Codesign (CODES '01), pp. 73-78, 2001.
[12] A. Shoshani and E. Coffman, “Detection, Prevention and Recovery from Deadlocks in Multiprocess, Multiple Resource Systems,” Proc. Fourth Ann. Princeton Conf. Information Sciences and System, Mar. 1969.
[13] A. Silberschatz and P. Galvin, Operating System Concepts. John Wiley & Sons, 1999.
[14] STMicroelectronics, Nomadik Open Multimedia Platform for Next-Generation Mobile Devices, 9306.htm, Jan. 2009.
[15] D. Sun, D. Blough, and V. Mooney, “Atalanta: A New Multiprocessor RTOS Kernel for System-on-a-Chip Applications,” Technical Report GIT-CC-02-19, College of Computing, 2002.
[16] Taiwan Semiconductor Manufacturing Company, http:/, Jan. 2009.
[17] Texas Instruments OMAP, http:/, Jan. 2009.
[18] Tilera Corp. TILE64 Processor Family, , Jan. 2009.
[19] VPP, , Jan. 2009.
[20] X. Xiao and J. Lee, “A Novel Parallel Deadlock Detection Algorithm and Hardware for Multiprocessor System-on-a-Chip,” IEEE Computer Architecture Letters, vol. 6, no. 2, pp. 41-44, July-Dec. 2007.

Index Terms:
Deadlock detection in hardware, single-unit resource systems, resource allocation graph, system-on-chips.
Xiang Xiao, Jaehwan John Lee, "A True O(1) Parallel Deadlock Detection Algorithm for Single-Unit Resource Systems and Its Hardware Implementation," IEEE Transactions on Parallel and Distributed Systems, vol. 21, no. 1, pp. 4-19, Jan. 2010, doi:10.1109/TPDS.2009.38
Usage of this product signifies your acceptance of the Terms of Use.