A Novel {O(n)} Parallel Banker's Algorithm for System-on-a-Chip

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]  Jaehwan Lee,et al.  Hardware/Software Deadlock Avoidance for Multiprocessor Multiresource System-on-a-Chip , 2004 .

[2]  Kiyoo Itoh,et al.  Vlsi Memory Chip Design , 2006 .

[3]  Jaehwan John Lee,et al.  A novel O(n) parallel banker's algorithm for System-on-a-Chip , 2005, ASP-DAC.

[4]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[5]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[6]  Bashir M. Al-Hashimi System-on-Chip: Next Generation Electronics , 2006 .

[7]  A. Nico Habermann,et al.  Prevention of system deadlocks , 1969, CACM.

[8]  Richard C. Holt,et al.  Comments on prevention of system deadlocks , 1971, Commun. ACM.

[9]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[10]  Joaquín Ezpeleta,et al.  A Banker's solution for deadlock avoidance in FMS with flexible routing and multiresource states , 2002, IEEE Trans. Robotics Autom..

[11]  Jaehwan John Lee,et al.  Hardware/software partitioning of operating systems: focus on deadlock avoidance , 2006 .

[12]  Edsger Wybe Dijkstra,et al.  Cooperating Sequential Processes, Technical Report EWD-123 , 1965 .

[13]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[14]  Vincent J. Mooney,et al.  The System-on-a-Chip Lock Cache , 2004 .

[15]  Mohamed Shalan,et al.  Hardware support for real-time embedded multiprocessor system-on-a-chip memory management , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[16]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[17]  Ference Belik An Efficient Deadlock Avoidance Rechnique , 1990, IEEE Trans. Computers.

[18]  Jaehwan John Lee,et al.  Hardware/software partitioning of operating systems: focus on deadlock detection and avoidance , 2005 .

[19]  Richard C. Holt,et al.  Some deadlock properties of computer systems , 1971, SOSP '71.

[20]  Jaehwan Lee,et al.  A novel deadlock avoidance algorithm and its hardware implementation , 2004, International Conference on Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS 2004..

[21]  Douglas M. Blough,et al.  Atalanta: A New Multiprocessor RTOS Kernel for System-on-a-Chip Applications , 2002 .