IP Library › Granted Patent US 9,229,877
Granted Patent B2
US 9,229,877 · App. 13/954,929 · Granted Jan 5, 2016

Method and apparatus for optimal cache sizing and configuration for large memory systems

Inventors: John Alan Bivens (Ossining, NY); Parijat Dube (Yorktown Heights, NY); Michael Mi Tsao (Yorktown Heights, NY); Li Zhang (Yorktown Heights, NY)
G06F12/121G06F11/3409G06F11/3447G06F11/3452G06F11/3471G06F12/0646G06F12/0802G06F11/3428G06F2201/885G06F2212/601
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,229,877
App. No.
13/954,929
Granted
Jan 5, 2016
Kind
B2
Abstract

A method for configuring a large hybrid memory subsystem having a large cache size in a computing system where one or more performance metrics of the computing system are expressed as an explicit function of configuration parameters of the memory subsystem and workload parameters of the memory subsystem. The computing system hosts applications that utilize the memory subsystem, and the performance metrics cover the use of the memory subsystem by the applications. A performance goal containing values for the performance metric is identified for the computing system. These values for the performance metrics are used in the explicit function of performance metrics, configuration parameters and workload parameters to calculate values for the configuration parameters that achieve the identified performance goal. The calculated values of the configuration parameters are implemented in the memory subsystem.

Claims (34)

1. A configurable memory subsystem of a computing system, the configurable memory subsystem comprising:

a memory;

a configurable memory subsystem tool to:

express performance metrics of the computing system hosting applications that utilize the memory as an explicit function of configuration parameters of the memory and workload parameters of the memory by:

collecting histogram data for system performance statistics of the computing system for a plurality of different arrangements of the configuration parameters;

using the histogram data to establish a parametric density function comprising a plurality of density parameters and the plurality of arrangements of the configuration parameters;

using the parametric density function to determine a density function of the performance metrics as a function of the configuration parameters; and

using the density function to determine the explicit function of the performance metrics, configuration parameters and workload parameters;

identify a performance goal for the computing system, the performance goal comprising values for the performance metrics; and

use the values for the performance metrics in the explicit function of performance metrics, configuration parameters and workload parameters to calculate values for the configuration parameters that achieve the identified performance goal; and

a configuration controller in communication with the memory and the configurable memory subsystem tool to implement the calculated values of the configuration parameters in the memory.

2. The configurable memory subsystem of claim 1 , wherein the memory comprises a capacity of at least 10 gigabytes.

3. The configurable memory subsystem of claim 1 , wherein the memory comprises a hybrid memory system.

4. The configurable memory subsystem of claim 3 , wherein the hybrid memory system comprises two distinct types of memory selected from the group consisting of static random access memory, dynamic random access memory, phase change memory, NAND flash memory and NOR flash memory.

5. The configurable memory subsystem of claim 1 , wherein the memory comprises a cache, and the workload parameters comprise load on the cache, temporal correlation within the cache, spatial correlation within the cache or combinations thereof.

6. The configurable memory subsystem of claim 1 , wherein the configuration parameters comprise hardware parameters, software parameters or combinations thereof.

7. The configurable memory subsystem of claim 6 , wherein the memory comprises a cache and a main memory portion separate from the cache, and the hardware parameters comprise cache size, total memory size, line size within the cache, block size within the main memory portion, associativity within the cache or combinations thereof.

8. The configurable memory subsystem of claim 6 , wherein the software parameter comprises a replacement algorithm.

9. The configurable memory subsystem of claim 1 , wherein the configurable memory subsystem tool further comprises an optimization engine to solve the explicit function of performance metrics, configuration parameters and workload parameters.

10. The configurable memory subsystem of claim 1 , wherein the configurable memory subsystem tool further comprises a memory performance engine to connect system performance statistics to the system performance metrics and to use this connection to develop the explicit function.

11. The configurable memory subsystem of claim 10 , wherein the system performance metrics comprise a miss ratio comprising a ratio of misses to a memory cache to hits to the memory cache.

12. The configurable memory subsystem of claim 10 , wherein the memory comprises a cache and the system performance statistics comprise cache performance statistics.

13. The configurable memory subsystem of claim 12 , wherein the cache performance statistics comprise cache residency time, single residency time, inter-hit time or combinations thereof.

14. The configurable memory subsystem of claim 1 , wherein the configurable memory subsystem tool is further configured to:

process the histogram data associated with each arrangement of the configuration parameters to determine an empirical density for each arrangement of the configuration parameters, the empirical density comprising a probability that a value of a given system performance statistic falls between a given set of values; and

use the histogram data to establish the parametric density function further comprising using the empirical density for each arrangement of the configuration parameters to establish the parametric density function.

15. The configurable memory subsystem of claim 14 , wherein the histogram data is collected from the computing system during runtime.

16. The configurable memory subsystem of claim 14 , wherein the histogram data is collected from a memory cache simulation of the computing system.

17. The configurable memory subsystem of claim 14 , wherein the histogram data represent different time ranges and varying granularities.

18. The configurable memory subsystem of claim 14 , wherein configurable memory subsystem tool:

uses the parametric density function for the different arrangements of the configuration parameters to establish a functional dependence between the density parameters and the configuration parameters; and

uses the established functional dependence to determine the density function.

19. The configurable memory subsystem of claim 18 , wherein configurable memory subsystem tool uses the explicit function to determine mean, standard deviation and higher order moments of the performance metrics in terms of the configuration parameters.

20. The configurable memory subsystem of claim 19 , wherein the configurable memory subsystem tool uses the mean, standard deviation and higher order moments to identify a preferred set of configuration parameters for the identified performance goal.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2013
From: BIVENS, ALAN; DUBE, PARIJAT; TSAO, MICHAEL M; ZHANG, LI
To: INTERNATINAL BUSINESS MACHINES CORPORATION
Reel/Frame 030915/0205 →
Continuity (2)
Continuation 12944682 · Nov 11, 2010
Related Publication 20130318305A1 · Nov 28, 2013