Patent ID: 8161484

Claim:
A system for preventing deadlock in a distributed computing system, the apparatus comprising: a memory; and at least one processor coupled to the memory and programmed to implement the following steps: receiving as input a sorted set of containers defining a unique global sequence of containers for servicing process requests; populating at least one table based at least in part on off-line analysis of call graphs defining corresponding transactions for a given order of the containers in the sorted set, wherein the at least one table comprises a first table for maintaining at least a transaction identifier and a thread identifier for a given allocated thread, a second table for maintaining at least a transaction identifier and a reservation counter for a given reserved thread, and a third table for maintaining at least a transaction type, a portion of the call graph specifying at least one path taken by a given transaction between two or more containers and a number of threads to reserve in each container specified by the given transaction; storing within each container at least a portion of the at least one table; and allocating one or more threads in a given container according to at least a portion of the at least one table stored within the given container.