DYNAMIC CACHING TECHNIQUE FOR ADAPTIVELY CONTROLLING DATA BLOCK COPIES IN A DISTRIBUTED DATA PROCESSING SYSTEM
First Claim
1. A system comprising:
- a plurality of servers including storage devices, each server embodied as a computer having a processor;
a statistics manager configured to maintain statistics pertaining to data blocks stored on the storage devices of the servers; and
a cache coordinator configured to utilize the statistics to implement one of a replication phase and a consolidation phase of a dynamic caching technique that adaptively controls a number of copies of a data block stored on one or more of the storage devices, the cache coordinator further configured to cooperate with the processor to execute the replication phase of the dynamic caching technique to increase the number of copies of the data block stored on the one or more storage devices, the replication phase when executed operable to;
determine that a number of data block requests assigned to a source server of the plurality of servers exceeds a total number of data block requests that can be processed by the source server, the number of data block requests assigned to the source server including one or more data block requests directed to the data block;
determine that a number of data block requests assigned to a target server of the plurality of servers is less than or equal to a total number of data block requests that can be processed by the target server;
copy the data block to the storage device of the target server; and
redirect the one or more data block requests directed to the copied data block at the source server to the target server to alleviate congestion in the system.
1 Assignment
0 Petitions
Accused Products
Abstract
A dynamic caching technique adaptively controls copies of data blocks stored within caches (“cached copies”) of a caching layer distributed among servers of a distributed data processing system. A cache coordinator of the distributed system implements the dynamic caching technique to increase the cached copies of the data blocks to improve processing performance of the servers. Alternatively, the technique may decrease the cached copies to reduce storage capacity of the servers. The technique may increase the cached copies when it detects local and/or remote cache bottleneck conditions at the servers, a data popularity condition at the servers, or a shared storage bottleneck condition at the storage system. Otherwise, the technique may decrease the cached copies at the servers.
-
Citations
20 Claims
-
1. A system comprising:
-
a plurality of servers including storage devices, each server embodied as a computer having a processor; a statistics manager configured to maintain statistics pertaining to data blocks stored on the storage devices of the servers; and a cache coordinator configured to utilize the statistics to implement one of a replication phase and a consolidation phase of a dynamic caching technique that adaptively controls a number of copies of a data block stored on one or more of the storage devices, the cache coordinator further configured to cooperate with the processor to execute the replication phase of the dynamic caching technique to increase the number of copies of the data block stored on the one or more storage devices, the replication phase when executed operable to; determine that a number of data block requests assigned to a source server of the plurality of servers exceeds a total number of data block requests that can be processed by the source server, the number of data block requests assigned to the source server including one or more data block requests directed to the data block; determine that a number of data block requests assigned to a target server of the plurality of servers is less than or equal to a total number of data block requests that can be processed by the target server; copy the data block to the storage device of the target server; and redirect the one or more data block requests directed to the copied data block at the source server to the target server to alleviate congestion in the system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
maintaining statistics pertaining to data blocks stored on servers of a distributed processing system, each server including a processor configured to execute a dynamic caching technique that adaptively controls a number of copies of a data block stored on the servers; utilizing the statistics to implement one of a replication phase and a consolidation phase of the dynamic caching technique; and executing the replication phase of the dynamic caching technique to increase the number of copies of the data block, the replication phase when executed operable to; determine that a number of data block requests assigned to a source server of the distributed processing system exceeds a total number of data block requests that can be processed by the source server, the number of data block requests assigned to the source server including one or more data block requests directed to the data block; determine that a number of data block requests assigned to a target server of the distributed processing system is less than or equal to a total number of data block requests that can be processed by the target server; copy the data block to the target server; and redirect the one or more data block requests directed to the copied data block from the source server to the target server to alleviate congestion in the distributed processing system. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A distributed data processing system comprising:
-
a plurality of servers including storage devices embodied as caches configured to provide a caching layer of the distributed data processing system, each server embodied as a computer having a processor; a storage system connected to the servers and configured to cooperate with the caches of the caching layer to provide a shared storage infrastructure of the distributed data processing system; a statistics manager configured to maintain statistics pertaining to data blocks stored on the caches of the caching layer; and a cache coordinator configured to utilize the statistics to implement one of a replication phase and a consolidation phase of a dynamic caching technique that adaptively controls a number of copies of a data block stored on one or more of the caches of the caching layer, the cache coordinator further configured to cooperate with the processor to execute the replication phase of the dynamic caching technique to increase the number of copies of the data block stored on the one or more caches, the replication phase when executed operable to; determine that a number of data block requests assigned to a source server of the plurality of servers exceeds a total number of data block requests that can be processed by the source server, the number of data block requests assigned to the source server including one or more data block requests directed to the data block; determine that a number of data block requests assigned to a target server of the plurality of servers is less than or equal to a total number of data block requests that can be processed by the target server; copy the data block to the cache of the target server; and redirect the one or more data block requests directed to the copied data block at the source server to the target server to alleviate congestion in the distributed data processing system. - View Dependent Claims (19, 20)
-
Specification