Abstract:
A method and apparatus are provided for improving the performance associated with transferring a data item and obtaining a lock in a multi-node system by interpreting the block transfer message as a lock grant message. Typically when a Holder of a data item transfers a data item (e.g. block) to a Requestor of that data item, the Holder will down-convert its lock for that data item and send a message to the Master of this data item indicating that a down-convert has been performed. Subsequently, the Master sends a lock grant message to the Requestor of the data item to inform the Requestor that it has been granted a lock for the data item. By interpreting the block transfer message as a lock grant message, the down-convert message and the lock grant message can be eliminated, which results in improved performance.
Abstract:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
Abstract:
Approaches are used for efficiently and effectively managing the dynamic allocation of resources of multi-node database systems between services provided by the multi-node database server. A service is a category of work that is hosted on the database server. The approaches manage allocation of resources at different levels. For services that use a particular database, the performance realized by the services is monitored. Resources assigned to the database are allocated between these services to ensure performance goals for each are met. Resources assigned to a cluster of nodes are allocated between the databases to ensure that performance goals for all the services that use the databases are met. Resources assigned to a farm of clusters are assigned amongst clusters based on service level agreements and back-end policies. The approach uses a hierarchy of directors to manage resources at the different levels.
Abstract:
Events of interest are detected in order to manage a high availability framework. In a framework in which a plurality of components are executing, the components are periodically polled to detect occurrence of the event of interest. A monitor is also established for one or more of the components. After the first component causes the event of interest to occur, the monitor communicating the event of interest to the framework without waiting for the framework to poll the first component.
Abstract:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
Abstract:
A method and apparatus are provided for improving the performance associated with transferring a data item and obtaining a lock in a multi-node system by interpreting the block transfer message as a lock grant message. Typically when a Holder of a data item transfers a data item (e.g. block) to a Requestor of that data item, the Holder will down-convert its lock for that data item and send a message to the Master of this data item indicating that a down-convert has been performed. Subsequently, the Master sends a lock grant message to the Requestor of the data item to inform the Requestor that it has been granted a lock for the data item. By interpreting the block transfer message as a lock grant message, the down-convert message and the lock grant message can be eliminated, which results in improved performance.
Abstract:
Caches on nodes in a cluster are globally managed so that a data item may be retained in any of the caches. A replacement policy that governs the replacement of data items stored in the caches selects buffers for replacement according to factors that include the state of the caches of other nodes. Some cached data items are designated as globally shared and assigned a primary cache. If a buffer holds a copy of a data item whose primary cache is another node, then the data item in the buffer is favored for replacement over a local data item or a global data item for which this is the primary cache. Cache retention values of buffers on different nodes may be compared. The buffer with the lowest cache retention value is selected for replacement. The replacement policy may also account for the way other caches in the cluster are configured.
Abstract:
Caches on nodes in a cluster are globally managed so that a data item may be retained in any of the caches. A replacement policy that governs the replacement of data items stored in the caches selects buffers for replacement according to factors that include the state of the caches of other nodes. Some cached data items are designated as globally shared and assigned a primary cache. If a buffer holds a copy of a data item whose primary cache is another node, then the data item in the buffer is favored for replacement over a local data item or a global data item for which this is the primary cache. Cache retention values of buffers on different nodes may be compared. The buffer with the lowest cache retention value is selected for replacement. The replacement policy may also account for the way other caches in the cluster are configured.