IP Library › Granted Patent US 9,665,489
Granted Patent B2
US 9,665,489 · App. 14/619,628 · Granted May 30, 2017

Methods of selecting available cache in multiple cluster system

Inventors: Feng Wang (San Diego, CA); Bohuslav Rychlik (San Diego, CA); George Patsilaras (Del Mar, CA); Andrew Edmund Turner (San Diego, CA); Anwar Quinones Rohillah (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06F12/084G06F12/0851G06F12/0875G06F12/0897G06F2212/1021G06F2212/283G06F2212/608Y02B60/1225
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 9,665,489
App. No.
14/619,628
Granted
May 30, 2017
Kind
B2
Abstract

Aspects include computing devices, systems, and methods for implementing selecting an available shared cache memory as a victim cache. The computing device may identify a remote shared cache memory with available shared cache memory space for use as the victim cache. To select the appropriate available shared cache memory, the computing device may retrieve data for the identified remote shared cache memory or a processor cluster associated with the identified remote shared cache memory relating to a metric, such as performance speed, efficiency, or effective victim cache size. Using the retrieved data, the computing device may determine the identified remote shared cache memory to use as the victim cache and select the determined remote shared cache memory to use as the victim cache.

Claims (55)

1. A method of selecting from among a plurality of shared cache memories a remote shared cache memory to use as a victim cache, comprising:

identifying among the plurality of shared cache memories those remote shared cache memories with space available for use as the victim cache;

retrieving, for each of the identified remote shared cache memories or a processor cluster associated with each of the identified remote shared cache memories, data relating to a metric for selecting a remote shared cache memory as the victim cache, wherein the data includes a hit rate of the identified remote shared cache memory, a miss rate for the identified remote shared cache memory, a latency of the processor cluster, and a latency for a main memory;

determining a suitability of each of the identified remote shared cache memories for use as the victim cache based on the metric; and

selecting one of the identified remote shared cache memories to use as the victim cache based on the determination.

2. The method of claim 1 , wherein:

the metric for selecting a remote shared cache memory as the victim cache comprises a performance speed metric;

determining a suitability of each of the identified remote shared cache memories for use as the victim cache based on the metric comprises:

calculating a performance speed indicator for the identified remote shared cache memory; and

comparing the performance speed indicator for the identified remote shared cache memory to a threshold or another performance speed indicator for another identified remote shared cache memory.

3. The method of claim 2 , further comprising interleaving memory addresses of the identified remote shared cache memory selected for use as the victim cache with another remote shared cache memory selected for use as the victim cache based on an address interleaving scheme.

4. The method of claim 2 , wherein calculating a performance speed indicator for the identified remote shared cache memory comprises using the equation: the hit rate of the identified remote shared cache memory times the latency of the processor cluster plus the miss rate of the identified remote shared cache memory times the latency of the main memory.

5. A computing device, comprising:

a plurality of processor clusters communicatively connected to each other;

a first processor cluster of the plurality of processor clusters assigned an execution process;

a plurality of shared cache memories each communicatively connected to at least one of the plurality of processor clusters;

a main memory communicatively connected to a processor; and

the processor communicatively connected to the plurality of processor clusters and configured with processor-executable instructions to perform operations comprising:

identifying among the plurality of shared cache memories those remote shared cache memories with space available for use as a victim cache;

retrieving, for each of the identified remote shared cache memories or a processor cluster associated with each of the identified remote shared cache memories, data relating to a metric for selecting a remote shared cache memory as the victim cache, wherein the data includes a hit rate of the identified remote shared cache memory, a miss rate for the identified remote shared cache memory, a latency of the processor cluster, and a latency for the main memory;

determining a suitability of each of the identified remote shared cache memories for use as the victim cache based on the metric; and

selecting one of the identified remote shared cache memories to use as the victim cache based on the determination.

6. The computing device of claim 5 , wherein:

the metric for selecting a remote shared cache memory as the victim cache comprises a performance speed metric; and

the processor is further configured with processor-executable instructions to perform operations such that

determining a suitability of each of the identified remote shared cache memories for use as the victim cache based on the metric comprises:

calculating a performance speed indicator for the identified remote shared cache memory; and

comparing the performance speed indicator for the identified remote shared cache memory to a threshold or another performance speed indicator for another identified remote shared cache memory.

7. The computing device of claim 6 , wherein the processor is further configured with processor-executable instructions to perform operations comprising interleaving memory addresses of the identified remote shared cache memory selected for use as the victim cache with another remote shared cache memory selected for use as the victim cache based on an address interleaving scheme.

8. The computing device of claim 6 , wherein the processor is further configured with processor-executable instructions to perform operations such that calculating a performance speed indicator for the identified remote shared cache memory comprises using the equation: the hit rate of the identified remote shared cache memory times the latency of the processor cluster plus the miss rate of the identified remote shared cache memory times the latency of the main memory.

9. A computing device, comprising:

means for identifying among a plurality of shared cache memories those remote shared cache memories with space available for use as a victim cache;

means for retrieving, for each of the identified remote shared cache memories or a processor cluster associated with each of the identified remote shared cache memories, data relating to a metric for selecting a remote shared cache memory as the victim cache, wherein the data includes a hit rate of the identified remote shared cache memory, a miss rate for the identified remote shared cache memory, a latency of the processor cluster, and a latency for a main memory;

means for determining a suitability of each of the identified remote shared cache memories for use as the victim cache based on the metric; and

means for selecting one of the identified remote shared cache memories to use as the victim cache based on the determination.

10. The computing device of claim 9 , wherein:

the metric for selecting a remote shared cache memory as the victim cache comprises a performance speed metric; and

means for determining a suitability of each of the identified remote shared cache memories for use as the victim cache based on the metric comprises:

means for calculating a performance speed indicator for the identified remote shared cache memory; and

means for comparing the performance speed indicator for the identified remote shared cache memory to a threshold or another performance speed indicator for another identified remote shared cache memory.

11. The computing device of claim 10 , further comprising means for interleaving memory addresses of the identified remote shared cache memory selected for use as the victim cache with another remote shared cache memory selected for use as the victim cache based on an address interleaving scheme.

12. The computing device of claim 10 , wherein means for calculating a performance speed indicator for the identified remote shared cache memory comprises means for using the equation: the hit rate of the identified remote shared cache memory times the latency of the processor cluster plus the miss rate of the identified remote shared cache memory times the latency of the main memory.

13. A non-transitory processor-readable medium having stored thereon processor-executable instructions configured to cause a processor to perform operations comprising:

identifying among a plurality of shared cache memories those remote shared cache memories with space available for use as a victim cache;

retrieving, for each of the identified remote shared cache memories or a processor cluster associated with each of the identified remote shared cache memories, data relating to a metric for selecting a remote shared cache memory as the victim cache, wherein the data includes a hit rate of the identified remote shared cache memory, a miss rate for the identified remote shared cache memory, a latency of the processor cluster, and a latency for a main memory;

determining a suitability of each of the identified remote shared cache memories for use as the victim cache based on the metric; and

selecting one of the identified remote shared cache memories to use as the victim cache based on the determination.

14. The non-transitory processor-readable medium of claim 13 , wherein:

the metric for selecting a remote shared cache memory as the victim cache comprises a performance speed metric; and

the stored processor-executable instructions are configured to cause the processor to perform operations such that

determining a suitability of each of the identified remote shared cache memories for use as the victim cache based on the metric comprises:

calculating a performance speed indicator for the identified remote shared cache memory; and

comparing the performance speed indicator for the identified remote shared cache memory to a threshold or another performance speed indicator for another identified remote shared cache memory.

15. The non-transitory processor-readable medium of claim 14 , wherein the stored processor-executable instructions are configured to cause the processor to perform operations such that calculating a performance speed indicator for the identified remote shared cache memory comprises using the equation: the hit rate of the identified remote shared cache memory times the latency of the processor cluster plus the miss rate of the identified remote shared cache memory times the latency of the main memory.

16. The non-transitory processor-readable medium of claim 14 , wherein the stored processor-executable instructions are configured to cause the processor to perform operations further comprising interleaving memory addresses of the identified remote shared cache memory selected for use as the victim cache with another remote shared cache memory selected for use as the victim cache based on an address interleaving scheme.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2015
From: WANG, FENG; RYCHLIK, BOHUSLAV; PATSILARAS, GEORGE; TURNER, ANDREW EDMUND; ROHILLAH, ANWAR QUINONES
To: QUALCOMM INCORPORATED
Reel/Frame 035003/0224 →
Continuity (1)
Related Publication 20160232091A1 · Aug 11, 2016