Dynamically redistribute cache space with min-max technique
AssigneeEMC IP Holding Company LLC
InventorsShuang Liang, Philip Shilane, Grant Wallace
Life of this patent
Estimating the term…
Abstract
One embodiment is related to a method for redistributing cache space, comprising: determining a request by a first client of a plurality of clients for additional cache space, each of the plurality of clients being associated with a guaranteed minimum amount (MIN) and a maximum amount (MAX) of cache space; and fulfilling or denying the request based on an amount of cache space the first client currently occupies, an amount of cache space requested by the first client, and the MIN and the MAX cache space associated with the first client.
Claims21
A method for redistributing cache space, comprising:
- determining a request by a first client of a plurality of clients for additional cache space, each of the plurality of clients being associated with a guaranteed minimum amount (MIN) and a maximum amount (MAX) of cache space;
- and
- fulfilling or denying the request based on an amount of cache space the first client currently occupies, an amount of cache space requested by the first client, and the MIN and the MAX cache space associated with the first client, wherein the request by the first client is fulfilled or denied on a best effort basis in response to a determination that after fulfillment an amount of cache space the first client would occupy is greater than the MIN cache space associated with the first client but is less than or equal to the MAX cache space associated with the first client, wherein fulfilling or denying the request by the first client on a best effort basis comprises fulfilling the request when empty cache space is available to fulfill the request and denying the request when no empty cache space is available to fulfill the request, wherein the request for additional cache space is fulfilled in response to a determination that after fulfillment an amount of cache space the first client would occupy is less than or equal to the MIN cache space associated with the first client, wherein fulfilling the request comprises requiring a second client of the plurality of clients to release an amount of cache space to an extent the second client occupies more cache space than indicated by a MIN cache space associated with the second client, and wherein the second client is forced to release the amount of cache space when not in a cooperative caching mode.
A data processing system, comprising:
- a processor;
- and
- a memory coupled to the processor storing instructions which, when executed by the processor, cause the processor to perform testing operations, the operations including determining a request by a first client of a plurality of clients for additional cache space, each of the plurality of clients being associated with a guaranteed minimum amount (MIN) and a maximum amount (MAX) of cache space;
- and
- fulfilling or denying the request based on an amount of cache space the first client currently occupies, an amount of cache space requested by the first client, and the MIN and the MAX cache space associated with the first client, wherein the request by the first client is fulfilled or denied on a best effort basis in response to a determination that after fulfillment an amount of cache space the first client would occupy is greater than the MIN cache space associated with the first client but is less than or equal to the MAX cache space associated with the first client, wherein fulfilling or denying the request by the first client on a best effort basis comprises fulfilling the request when empty cache space is available to fulfill the request and denying the request when no empty cache space is available to fulfill the request, wherein the request for additional cache space is fulfilled in response to a determination that after fulfillment an amount of cache space the first client would occupy is less than or equal to the MIN cache space associated with the first client, wherein fulfilling the request comprises requiring a second client of the plurality of clients to release an amount of cache space to an extent the second client occupies more cache space than indicated by a MIN cache space associated with the second client, and wherein the second client is forced to release the amount of cache space when not in a cooperative caching mode.
A non-transitory machine-readable medium having instructions stored therein which, when executed by a processor, cause the processor to perform testing operations, the operations comprising:
- determining a request by a first client of a plurality of clients for additional cache space, each of the plurality of clients being associated with a guaranteed minimum amount (MIN) and a maximum amount (MAX) of cache space;
- and
- fulfilling or denying the request based on an amount of cache space the first client currently occupies, an amount of cache space requested by the first client, and the MIN and the MAX cache space associated with the first client, wherein the request by the first client is fulfilled or denied on a best effort basis in response to a determination that after fulfillment an amount of cache space the first client would occupy is greater than the MIN cache space associated with the first client but is less than or equal to the MAX cache space associated with the first client, wherein fulfilling or denying the request by the first client on a best effort basis comprises fulfilling the request when empty cache space is available to fulfill the request and denying the request when no empty cache space is available to fulfill the request, wherein the request for additional cache space is fulfilled in response to a determination that after fulfillment an amount of cache space the first client would occupy is less than or equal to the MIN cache space associated with the first client, wherein fulfilling the request comprises requiring a second client of the plurality of clients to release an amount of cache space to an extent the second client occupies more cache space than indicated by a MIN cache space associated with the second client, and wherein the second client is forced to release the amount of cache space when not in a cooperative caching mode.
Dependencies are inferred from the claim text.