# US 2024/0201880 A1 · Resource Allocation Method and Apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2024/0201880 A1
- Document ID: US20240201880A1
- Status: Published application
- Kind: A1
- Application number: 18/419,111
- Filed: 2024-01-22
- Published: 2024-06-20
- Earliest claimed: 2021-07-23
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Zhou Jiang; Zhuo Cheng; Haitao Shi; Yuanyuan Wang; Weijie Xiang
- Web page: https://patentgrep.com/patent/US20240201880A1

## CPC

- G06F 3/0631: {by allocating resources to storage systems}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 12/0871: Allocation or management of cache space
- G06F 12/121: using replacement algorithms
- G06F 2212/1021: Hit rate improvement
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A resource allocation method includes a processor that outputs a first model based on a page resource allocated to each cache object and a data read hit ratio of the cache object, where the page resource allocated to each cache object is from a memory pool provided by a storage system. The first model indicates a page resource to be allocated to the cache object when a specific hit ratio is met. The processor outputs a second model based on the first model corresponding to each cache object, where the second model indicates a target page resource to be allocated to each cache object. The processor adjusts, based on the second model, the page resource allocated to each cache object. The processor adjusts the page resource of the cache object based on the second model.

## Claims

### Claim 1

A method a comprising:
outputting first models based on first page resources allocated to first cache objects of the storage system and data read hit ratios of the first cache objects, wherein the first page resources are from a memory pool of the storage system, and wherein the first models indicate second page resources that needs to be allocated to the first cache objects when the first cache objects meet specific hit ratios;
outputting a second model based on the first models, wherein the second model indicates a target page resource to be allocated to each of the first cache objects; and
adjusting the first page resources based on the second model.

### Claim 2 (depends on 1)

The method of claim 1, wherein each of the first cache objects is a memory space allocated from the memory pool, and wherein the memory space is for a specific type of data.

### Claim 3 (depends on 1)

The method of claim 1, wherein outputting the second model comprises:
obtaining weight values corresponding to the first cache objects; and
outputting the second model based on the weight values.

### Claim 4 (depends on 3)

The method of claim 3, wherein the obtaining weight values comprises:
obtaining statistical information comprising bandwidth and a processing delay of the memory pool; and
obtaining the weight values based on the statistical information.

### Claim 5 (depends on 1)

The method of claim 1, wherein outputting a first model further comprises:
obtaining status informations of the first cache objects, wherein the status informations comprise one or more of a reuse distance, memory eviction information, or historical information, and wherein the historical information comprises a correspondence that is between a third page resource allocated to each of the first cache objects and a second data read hit ratio of each of the first cache objects and that exists in an execution process of a historical service; and
creating the first models based on the status informations.

### Claim 6 (depends on 5)

The method of claim 5, wherein creating each of the creating the first models comprises:
creating a first curve based on the reuse distance, wherein the first curve indicates a second correspondence that is between fourth page resources allocated to the first cache objects and a third data read hit ratio and that is based on a first algorithm;
creating a second curve based on the memory eviction information, wherein the second curve indicates a third correspondence between a fifth page resources of the first cache objects and a fourth data read hit ratio after a part of the fourth page resources are evicted;
creating a third curve based on the historical information; and
creating the first models based on at least one of the first curve, the second curve, and, or the third curve.

### Claim 7 (depends on 1)

The method of claim 1, wherein adjusting the first page resources comprises:
obtaining first informations of each of the first cache objects, wherein the first informations indicates at least one of a priority or a hotspot requirement of each of the first cache objects; and
further adjusting the first page resources based on the first information allocated to each cache object.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
obtaining a service request, wherein a second cache object for the service request comprises a third cache object unavailable in the memory pool; and
writing the third cache object into the memory pool based on the service request.

### Claim 9

(canceled)

### Claim 10

A device comprising:
a memory configured to store instructions; and
one or more processors coupled to the memory and configured to execute the instructions to cause the device to:
output first models based on first page resources allocated to first cache objects of a storage system and data read hit ratios of the first cache objects, wherein the first page resources are from a memory pool of the storage system, and wherein the first models indicate second page resources to be allocated to the first cache objects when the first cache objects meet specific hit ratios;
output a second models based on the first models, wherein the second models indicates a target page resources to be allocated to each of the first cache objects; and
adjust the first page resources based on the second models.

### Claim 11 (depends on 10)

The device of claim 10, wherein each of the first cache objects is a memory space allocated from the memory pool, and the memory space is for a specific type of data.

### Claim 12 (depends on 10)

The device of claim 10, wherein the one or more processors are further configured to execute the instructions to cause the device to:
obtain weight values corresponding to the first cache objects, wherein one weight value corresponds to one first cache object; and
output the second model based on the weight values.

### Claim 13 (depends on 12)

The device of claim 12, wherein the one or more processors are further configured to execute the instructions to cause the device to:
obtain statistical information comprising bandwidth and a processing delay of the memory pool; and
obtain the weight values based on the statistical information.

### Claim 14 (depends on 10)

The device of claim 10, wherein the one or more processors are further configured to execute the instructions to cause the device to:
obtain status informations of each of the first cache objects, wherein the status informations comprise one or more of a reuse distance, memory eviction information, or historical information, and wherein the historical information comprises a first correspondence that is between a third page resources allocated to each of the first cache objects and a second data read hit ratio of each of the first cache objects and that exists in an execution process of a historical service; and
create each of the first models based on the status informations.

### Claim 15 (depends on 14)

The device of claim 14, wherein the one or more processors are further configured to execute the instructions to cause the device to:
create a first curve based on the reuse distance, wherein the first curve indicates a second correspondence that is between a fourth page resources allocated to each of the first cache objects and a third data read hit ratio and that is obtained according to a first algorithm;
create a second curve based on the memory eviction information, wherein the second curve indicates a third correspondence between a fifth page resources of each of the first cache objects and a fourth data read hit ratio after a part of the fourth page resource is evicted;
create a third curve based on the historical information; and
create each of the first models based on at least one of the first curve, the second curve, or the third curve.

### Claim 16 (depends on 10)

The device of claim 10, wherein the one or more processors are further configured to execute the instructions to cause the device to:
obtain first informations of each of the first cache objects, wherein the first informations indicates at least one of a priority or a hotspot requirement of each of the first cache objects; and
further adjust the page resources based on the first information.

### Claim 17 (depends on 10)

The device of claim 10, wherein the one or more processors are further configured to execute the instructions to cause the device to:
obtain a service request, wherein a second cache object for the service request comprises a third cache object unavailable in the memory pool; and
write the third cache object into the memory pool based on the service request.

### Claim 18

A computer program product comprising computer-executable instructions that are stored on a non-transitory computer-readable storage medium and that, when by one or more processors, cause a device to:
output first models based on first page resources allocated to first cache objects of a storage system and data read hit ratios of the first cache objects, wherein the first page resources are from a memory pool of the storage system, and wherein the first models indicate second page resources to be allocated to the first cache objects when the first cache objects meet specific hit ratios;
output a second model based on the first models, wherein the second model indicates a target page resource to be allocated to each of the first cache objects; and
adjust the first page resources based on the second model.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein each of the first cache objects is a memory space allocated from the memory pool, and wherein the memory space is for a specific type of data.

### Claim 20 (depends on 18)

The computer program product of claim 18, wherein the computer-executable instructions further cause the device to:
obtain weight values corresponding to the first cache objects, wherein one weight value corresponds to one first cache object; and
further output the second model based on the weight values.

### Claim 21 (depends on 20)

The computer program product of claim 20, wherein the computer-executable instructions further cause the device to:
obtain statistical information comprising bandwidth and a processing delay of the memory pool; and
obtain the weight values based on the statistical information.
