IP Library Granted Patent US 10,545,871
Granted Patent B2
US 10,545,871 · App. 16/390,334 · Granted Jan 28, 2020

Coordination of cache and memory reservation

Inventors: Robert Birke (Kilchberg, CH); Yiyu Chen (Thalwil, CH); Navaneeth Rameshan (Adliswil, CH); Martin Schmatz (Rueschlikon, CH)
Assignee: International Business Machines Corporation
G06F12/0831G06F9/45533G06F11/34G06F12/0804G06F12/0842G06F12/0868G06F12/0871G06F12/0873G06F12/0877G06F12/084G06F12/0897G06F2009/45583G06F2212/1024G06F2212/152G06F2212/502
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 10,545,871
App. No.
16/390,334
Granted
Jan 28, 2020
Kind
B2
Abstract

A method for coordinating cache and memory reservation in a computerized system includes identifying at least one running application, recognizing the at least one application as a latency-critical application, monitoring information associated with a current cache access rate and a required memory bandwidth of the at least one application, allocating a cache partition, a size of the cache partition corresponds to the cache access rate and the required memory bandwidth of the at least one application, defining a threshold value including a number of cache misses per time unit, determining a reduction of cache misses per time unit, in response to the reduction of cache misses per time unit being above the threshold value, retaining the cache partition, assigning a priority of scheduling memory request including a medium priority level, and assigning a memory channel to the at least one application to avoid memory channel contention.

Claims (15)

1. A computer program product for coordinating cache and memory reservation in a computerized system comprising a cache memory, a memory and a memory controller, the computer program product comprising:

a computer readable non-transitory article of manufacture tangibly embodying computer readable instructions which, when executed, cause a computer to carry out a method comprising:

detecting a first plurality of virtual machines and a second plurality of virtual machines in the computerized system, wherein the first plurality of virtual machines and the second plurality of virtual machines communicate with the memory through the cache memory and a plurality of memory channels, wherein the first plurality of virtual machines runs latency-critical services, and the second plurality of virtual machines runs non-critical services;

based on the second plurality of virtual machines running the non-critical services, assigning a low memory request priority;

based on the first plurality of virtual machines running the latency-critical services, determining a current cache access rate and a required memory bandwidth of the first plurality of virtual machines;

based on the determined current cache access rate and the required memory bandwidth, proportionally allocating a cache partition to the first plurality of virtual machines, wherein a size of the cache partition corresponds to the determined cache access rate and the required memory bandwidth;

defining a threshold value comprising a number of cache misses per time unit, wherein the threshold value helps determining whether an improvement caused by the cache partitioning is significant;

based on the number of cache misses per time unit being above the threshold value, identifying one or more virtual machines in the first plurality of virtual machines as cache-bound and retaining the cache partition;

receiving a memory request;

based on the one or more virtual machines in the first plurality of virtual machines being identified as cache-bound, assigning a medium priority for scheduling the memory request;

based on the number of cache misses per time unit being below the threshold value, identifying one or more virtual machines in the first plurality of virtual machines as bandwidth-bound and removing the cache partition;

based on the one or more virtual machines in the first plurality of virtual machines being identified as bandwidth-bound, assigning a high priority for scheduling the memory request, wherein a bandwidth-bound virtual machine comprises a higher memory bandwidth demand than a cache-bound virtual machine;

determining whether free memory channels are available;

based on determining that a number of free memory channels is less than the first plurality of virtual machines, assigning at least one cache-bound virtual machine and at least one bandwidth bound virtual machine to the same memory channel; and

based on determining that the number of free memory channels exceeds the first plurality of virtual machines, preventing two or more bandwidth-bound virtual machines from being assigned to the same memory channel, and assigning a mixed grouping of bandwidth-bound virtual machines and cache-bound virtual machines to the same memory channel such that an aggregate bandwidth usage of the mixed grouping is the lowest.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2019
From: BIRKE, ROBERT; CHEN, YIYU; RAMESHAN, NAVANEETH; SCHMATZ, MARTIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048955/0376 →
Continuity (2)
Continuation 15647301 · Jul 12, 2017
Related Publication 20190243763A1 · Aug 8, 2019
Cited By (2)
US 12,287,983 US 12,299,453