Global avoidance of hang states in multi-node computing system
First Claim
1. A computer-implemented method for a clustered computing system, the method comprising:
- determining that a first process is waiting for a resource and is in a blocked state;
identifying the resource that the first process is waiting for;
identifying a blocking process that is holding the resource;
comparing a priority of the blocking process with a priority the first process; and
increasing the priority of the blocking process if the priority of the blocking process is lower than the priority of the first process.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and other embodiments associated with avoiding resource blockages and hang states are described. One example computer-implemented method for a clustered computing system includes determining that a first process is waiting for a resource and is in a blocked state. The resource that the first process is waiting for is identified. A blocking process that is holding the resource is then identified. A priority of the blocking process is compared with a priority the first process. If the priority of the blocking process is lower than the priority of the first process, the priority of the blocking process is increase. In this manner the blocking process can be scheduled for execution sooner and thus release the resource.
23 Citations
21 Claims
-
1. A computer-implemented method for a clustered computing system, the method comprising:
-
determining that a first process is waiting for a resource and is in a blocked state; identifying the resource that the first process is waiting for; identifying a blocking process that is holding the resource; comparing a priority of the blocking process with a priority the first process; and increasing the priority of the blocking process if the priority of the blocking process is lower than the priority of the first process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A clustered computing system, comprising:
-
a plurality of computing nodes for executing processes, each of the computing nodes including a processor, an operating system, and a database instance that is configured as part of a clustered database system; a blocking avoidance logic embodied in one or more of the plurality of nodes and when executed is configured to; determine when a process in a first node of the computing nodes is in a wait state that is waiting for a resource, the process being a waiting process; determine an identity of a blocking process, which is part of a second node of the computing nodes, to which the resource is allocated; and causing an operating system local to the blocking process to increase an execution priority of the blocking process if the execution priority is lower than an execution priority of the waiting process. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:
-
searching process state information of a distributed computing system having a plurality of computing nodes to identify a waiting process from a first computing node, where the waiting process is in a blocked state and waiting for a resource; searching resource state information of the distributed computing system to identify a blocking process from a different computing node in the distributing computing system using an identifier of the resource, where the blocking process is holding the resource; generating a message that includes instructions and data with at least a priority of the waiting process, an identifier of the blocking process, and the identifier of the resource; and transmitting the message to the second node to cause an execution priority of the blocking process to be increased if the execution priority is lower than the waiting process. - View Dependent Claims (20, 21)
-
Specification