IP Library Granted Patent US 12675339
Granted Patent B2
US 12675339 · App. 17/658,728 · Granted Jul 7, 2026

Workload measures based on access locality

Inventors: Srikant Varadan (San Jose, CA); Alex Veprinsky (San Jose, CA); Anirudha Kumar (San Jose, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F9/5083G06F3/0604G06F3/0635G06F3/067G06F9/5016G06F9/5044
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12675339
App. No.
17/658,728
Granted
Jul 7, 2026
Kind
B2
Abstract

In some examples, a system samples a subset of input/output (I/O) accesses of a storage, the I/O accesses being part of a workload. The system determines, based on the sampled subset of the I/O accesses, a first reuse distance distribution for a first time interval, determines a similarity measure representing a similarity of the first reuse distance distribution and a second reuse distance distribution for a second time interval different from the first time interval, and based on a change in the similarity measure, triggers a workload placement process to determine a placement of the workload on a compute node of a plurality of compute nodes.

Claims (46)

1 . A non-transitory machine-readable storage medium comprising instructions that upon execution cause a system to:

sample a subset of input/output (I/O) accesses of a storage, the I/O accesses being part of a workload;

determine, based on the sampled subset of the I/O accesses, a first reuse distance distribution for a first time interval, the first reuse distance distribution representing an access locality of the workload, the first reuse distance distribution comprising a value representing a quantity of intervening data units accessed between accesses of a given data unit;

determine a similarity measure representing a similarity of the first reuse distance distribution and a second reuse distance distribution for a second time interval different from the first time interval, the second reuse distance distribution comprising a value representing a quantity of intervening data units accessed between accesses of the given data unit;

determine whether a change in the similarity measure satisfies a criterion; and

based on a determining that the change in the similarity measure satisfies the criterion, trigger a workload placement process comprising moving the workload from a first compute node of a plurality of compute nodes that are able to access the storage to a second compute node of the plurality of compute nodes.

2 . The non-transitory machine-readable storage medium of claim 1 , wherein the similarity measure is a first similarity measure, and the instructions upon execution cause the system to:

determine that the change in the first similarity measure satisfies the criterion responsive to the first similarity measure and a second similarity measure satisfying an aggregate criterion.

3 . The non-transitory machine-readable storage medium of claim 2 , wherein the first and second similarity measures are part of a collection of similarity measures.

4 . The non-transitory machine-readable storage medium of claim 3 , wherein the instructions upon execution cause the system to:

determine that the change in the first similarity measure satisfies the criterion responsive to a quantity of consecutive similarity measures in the collection of similarity measures deviating by a specified amount from an aggregate of the similarity measures in the collection of similarity measures.

5 . The non-transitory machine-readable storage medium of claim 4 , wherein the aggregate of the similarity measures in the collection of similarity measures is an average of the similarity measures in the collection of similarity measures.

6 . The non-transitory machine-readable storage medium of claim 4 , wherein the specified amount is a specified number of standard deviations of the aggregate.

7 . The non-transitory machine-readable storage medium of claim 1 , wherein the instructions upon execution cause the system to:

derive a first probability distribution based on the first reuse distance distribution;

derive a second probability distribution based on the second reuse distance distribution,

wherein the similarity measure is determined based on the first probability distribution and the second probability distribution.

8 . The non-transitory machine-readable storage medium of claim 1 , wherein the instructions upon execution cause the system to:

determine the similarity measure based on:

applying an integer arithmetic to compute integers, and

performing lookups of an in-memory table that maps the integers to floating point values.

9 . The non-transitory machine-readable storage medium of claim 8 , wherein the similarity measure comprises a divergence measure.

10 . The non-transitory machine-readable storage medium of claim 9 , wherein the divergence measure comprises a Jensen-Shannon Divergence (JSD) measure.

11 . The non-transitory machine-readable storage medium of claim 1 , wherein the instructions upon execution cause the system to:

derive a resource utility relationship based on the first reuse distance distribution, the resource utility relationship relating resource capacities of a resource to a performance measure.

12 . The non-transitory machine-readable storage medium of claim 11 , wherein the moving of the workload to the second compute node provided by the workload placement process is based on the resource utility relationship and respective resource capacities of the plurality of compute nodes.

13 . The non-transitory machine-readable storage medium of claim 12 , wherein the resource is selected from among a cache memory, a processor, and a network.

14 . A system comprising:

a processor; and

a non-transitory storage medium storing instructions executable on the processor to:

sample a subset of input/output (I/O) accesses of a storage, the I/O accesses being part of a workload;

determine a first reuse distance distribution for a first time interval based on the sampled subset of the I/O accesses, the first reuse distance distribution representing an access locality of the workload, and the first reuse distance distribution comprising reuse distances, wherein a reuse distance of the reuse distances is a value representing a quantity of intervening data units accessed between accesses of a given data unit;

determine a similarity measure representing a similarity of the first reuse distance distribution and a second reuse distance distribution for a second time interval different from the first time interval, the second reuse distance distribution comprising reuse distances, wherein a reuse distance of the reuse distances in the second reuse distance distribution is a value representing a quantity of intervening data units accessed between accesses of the given data unit;

derive, based on the first reuse distance distribution, a performance model that represents a degradation in performance as a function of a resource capacity; and

based on a change in the similarity measure satisfying a criterion and the performance model, perform a workload placement process comprising moving the workload from a first compute node of a plurality of compute nodes that are able to access the storage to a second compute node of the plurality of compute nodes.

15 . The system of claim 14 , wherein the performance model represents the degradation in performance as a function of a size of a cache memory.

16 . The system of claim 15 , wherein the workload placement process comprises selecting the second compute node based on sizes of cache memories in the plurality of compute nodes.

17 . A method performed by a system comprising a hardware processor, comprising:

sample a subset of input/output (I/O) accesses of a storage, the I/O accesses being part of a workload;

determine, based on the sampled subset of the I/O accesses, a first reuse distance distribution for a first time interval, the first reuse distance distribution representing an access locality of the workload;

derive, based on the first reuse distance distribution, a performance model that predicts performance as a function of a resource capacity;

determine a divergence measure representing a similarity of the first reuse distance distribution and a second reuse distance distribution for a second time interval different from the first time interval, wherein the divergence measure is determined based on:

applying an integer arithmetic to compute integers, and

performing lookups of an in-memory table that maps the integers to floating point values that represent log values;

based on a change in the divergence measure, trigger a workload placement process comprising moving the workload from a first compute node of a plurality of compute nodes that are able to access the storage to a second compute node of the plurality of compute nodes; and as part of the workload placement process, select the second compute node from among the plurality of compute nodes using the performance model.

18 . The method of claim 17 , wherein the performance model represents a degradation in performance as a function of the resource capacity.