摘要:
A method and system are provided for performing anticipatory changes to a resource governed by a locking mechanism. Entities (such as transactions in a database system) that want to modify a resource request permission to modify the resource. However, prior to receiving permission, they make anticipatory changes to a private version of the resource. The entities are prevented from making the anticipatory changes permanent until they receive permission to make the changes. Because they can make the changes, and proceed to other operations, before receiving permission, any delay in receiving permission has less adverse effect on their performance.
摘要:
Techniques are provided for mastering resources by assigning resources to mastery-eligible-sets. The resources that are assigned to a mastery-eligible-set may be mastered only at nodes that belong to the mastery-eligible-set. The membership of a mastery-eligible-set for a given set of related resources may be established based on which nodes have the highest affinity for the given set of related resources. Resource usage may be monitored, and the system may be periodically reconfigured, by changing membership of the mastery-eligible-sets, based on the usage information.
摘要:
Techniques are provided for remastering resources based on node utilization. According to one such technique, resources are remastered in response to the over-utilization of the node that currently masters those resources. The utilization of each node is tracked, and when a particular node's utilization exceeds a specified threshold, selected resources that are currently mastered by that node are remastered so that nodes other than the particular node become the new masters for the selected resources. Each node's utilization is based on that node's capacity, and each node's capacity may differ. According to an aspect of one technique, each node's capacity is based on that node's processing resources and memory resources. Remastering resources in this manner tends to reduce the average amount of time taken for nodes to handle requests for the resources that they master.
摘要:
Techniques are disclosed for managing resources that are accessible to a plurality of entities. In one embodiment, shared locks on a resource are granted more efficiently by maintaining data that is local to (e.g. on the same node as) each entity to indicate whether an exclusive lock has been granted on the resource to any entity of the plurality of entities. Data that (15) is maintained local to an entity, and that (16) indicates whether any entity has an exclusive lock on a particular resource is referred to herein as a “local exclusive lock flag” for that particular resource. When an entity of the plurality of entities seeks to acquire a shared lock for a particular resource, that entity checks the local exclusive lock flag for that particular resource. If the local exclusive lock flag indicates that no entity holds an exclusive lock on the resource, then the entity seeking the shared lock acquires the shared lock without first receiving a lock grant from the resource manager that manages the resource. In many cases, the resource manager that manages the resource is remotely located relative to the entity that desires the shared lock. Because the local exclusive lock flag is local, the act of checking it does not incur the overhead associated with communicating with a remotely located resource manager. Thus, obtaining a shared lock based on the state of a local exclusive lock flag significantly increases the efficiency of managing access to the resource, particularly for resources for which entities do not frequently require exclusive access.
摘要:
Described herein are techniques for time limited lock ownership. In one embodiment, in response to receiving a request for a lock on a shared resource, the lock is granted and a lock lease period associated with the lock is established. Then, in response to determining that the lock lease period has expired, one or more lock lease expiration procedures are performed. In many cases, the time limited lock ownership may prevent system hanging, timely detect system deadlocks, and/or improve overall performance of the database.
摘要:
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.
摘要:
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.
摘要:
Described herein are techniques for using super masters to coordinate accesses by nodes in a database server cluster to data stored in a database. In many cases, the number of inter-nodal messages is reduced, thereby saving the overheads attendant to coordinating accesses in such a system.
摘要:
A method and system are provided for performing anticipatory changes to a resource governed by a locking mechanism. Entities (such as transactions in a database system) that want to modify a resource request permission to modify the resource. However, prior to receiving permission, they make anticipatory changes to a private version of the resource. The entities are prevented from making the anticipatory changes permanent until they receive permission to make the changes. Because they can make the changes, and proceed to other operations, before receiving permission, any delay in receiving permission has less adverse effect on their performance.
摘要:
A method and apparatus is provided for determining the most probable cause of a problem observed in a complex multi-host system. The approach relies on a probabilistic model to represent causes and effects in a complex computing system. However, complex systems include a multitude of independently operating components that can cause temporary anomalous states. To reduce the resources required to perform root cause analysis on each transient failure, as well as to raise the confidence in the most probable cause of a failure that is identified by the model, inputs to the probabilistic model are aggregated over a sliding window of values from the recent past.