This Article 
 Bibliographic References 
 Add to: 
A Novel {O(n)} Parallel Banker's Algorithm for System-on-a-Chip
December 2006 (vol. 17 no. 12)
pp. 1377-1389

Abstract—This article proposes a novel O(n) Parallel Banker's Algorithm (PBA), which is a parallelized version of the Banker's Algorithm (BA), a well-known O(m\times n) deadlock avoidance algorithm. We implement the approach in hardware, which we call PBA Unit (PBAU). PBAU is not a mere Verilog HDL translation of BA, but a novel, fully hardware-oriented implementation exploiting maximum hardware parallelism of all computations in BA, resulting in O(1) runtime complexity in the best case and O(n) in the worst. PBAU is an Intellectual Property (IP) block that provides a mechanism of very fast, automatic deadlock avoidance for Multiprocessor System-on-a-Chip (MPSoC), which we predict will be the mainstream of future high performance computing environments. Furthermore, our PBAU supports multiple instance multiple resource systems. We demonstrate that PBAU not only avoids deadlock in a few clock cycles (several orders of magnitude faster than BA in software), but also achieves, in a particular example, a 19 percent speedup of application execution time over avoiding deadlock in software. Lastly, the MPSoC area overhead due to PBAU is small, less than 0.05 percent in our candidate MPSoC example.

[1] Xilinx Virtex 4, solutions/ fpgas/virtex4index.htm, 2006.
[2] Xilinx Broadcast Solutions, 2006, .
[3] F. Belik, “An Efficient Deadlock Avoidance Technique,” IEEE Trans. Computers, vol. 39, no. 7, pp. 882-888, July 1990.
[4] J. Lee and V. Mooney, “A Novel Deadlock Avoidance Algorithm and Its Hardware Implementation,” Proc. Int'l Conf. Hardware/Software Codesign and System Synthesis (CODESISSS '04), pp. 200-205, Sept. 2004.
[5] A. Silberschatz and P. Galvin, Operating System Concepts. John Wiley and Sons, 1999.
[6] E. Dijkstra, “Cooperating Sequential Processes,” Technical Report EWD-123, Technological Univ., Eindhoven, Netherlands, Sept. 1965.
[7] A. Habermann, “Prevention of System Deadlocks,” Comm. ACM, vol. 12, no. 7, pp. 373-377, 385, July 1969.
[8] R. Holt, “Some Deadlock Properties of Computer Systems,” ACM Computing Surveys, pp. 179-196, Sept. 1972.
[9] J. Ezpeleta, F. Tricas, G. Valles, and J. Colom, “A Banker's Solution for Deadlock Avoidance in FMS with Flexible Routing and Multiresource States,” IEEE Trans. Robotics and Automation, vol. 18, no. 4, pp. 621-625, Aug. 2002.
[10] J. Lee and V. Mooney, “Hardware/Software RTOS Partitioning of Operating Systems: Focus on Deadlock Detection and Avoidance,” IEE Computer and Digital Techniques, vol. 152, no. 2, pp. 167-182, Mar. 2005.
[11] J. Lee and V. Mooney, “Hardware/Software RTOS Partitioning of Operating Systems: Focus on Deadlock Avoidance,” System-on-Chip: Next Generation Electronics, chapter 4, pp. 121-160, Inst. of Electronic Eng., Jan. 2006.
[12] M. Shalan and V. Mooney, “Hardware Support for Real-Time Embedded Multiprocessor System-on-a-Chip Memory Management,” Proc. 10th Int'l Symp. Hardware/Software Codesign (CODES'02), pp 79-84, May 2002.
[13] R. Holt, “Comments on Prevention of System Deadlocks,” Comm. ACM, vol. 14, no. 1, pp 36-38, Jan. 1971.
[14] J. Lee and V. Mooney, “A Novel O(n) Parallel Banker's Algorithm for System-on-a-Chip,” Proc. Asia and South Pacific Design Automation Conf. (ASPDAC '05), pp. 1304-1308, Jan. 2005.
[15] J. Lee, “Hardware/Software Deadlock Avoidance for Multiprocessor Multiresource System-on-a-Chip,” PhD thesis, School of Electrical and Computer Eng., Georgia Inst. of Technology, /, Nov. 2004.
[16] Design Compiler, , 2006.
[17] QualCore Logic, http:/, 2006.
[18] MPC755 RISC Microprocessor Hardware Specifications, data_sheetMPC755EC.pdf, 2006.
[19] K. Itoh, VLSI Memory Chip Design. Springer-Verlag, 2001.
[20] “The International Technology Roadmap for Semiconductors 2005,” http:/, 2006.
[21] “Hardware/Software Co-Verification: Seamless,” Mentor Graphics, tion/ seamlessindex.cfm, 2006.
[22] Synopsys, VCS Verilog Simulator, simulation.html, 2006.
[23] Mentor Graphics, XRAY Debugger, http://www.mentor.comxray/, 2005.
[24] 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, Georgia Inst. of Technology, , 2002.
[25] B. Akgul, “The System-on-a-Chip Lock Cache,” PhD thesis, School of Electrical and Computer Eng., Georgia Inst. of Technology, , Apr. 2004.
[26] J. Hennessy and D. Patterson, Computer Architecture—A Quantitative Approach. Morgan Kaufmann, 1996.

Index Terms:
Parallel Banker's Algorithm, deadlock avoidance in hardware, multiprocessor system-on-a-chip.
Jaehwan John Lee, Vincent John Mooney, "A Novel {O(n)} Parallel Banker's Algorithm for System-on-a-Chip," IEEE Transactions on Parallel and Distributed Systems, vol. 17, no. 12, pp. 1377-1389, Dec. 2006, doi:10.1109/TPDS.2006.164
Usage of this product signifies your acceptance of the Terms of Use.