IP Library › Granted Patent US 10,102,147
Granted Patent B1
US 10,102,147 · App. 15/188,006 · Granted Oct 16, 2018

Phased based distributed LRU for shared cache systems

Inventors: Gabriel BenHanokh (Tel Aviv, IL); Andrew Chanler (Berlin, MA); Felix Shvaiger (Brighton, MA); Hongliang Tang (Hopkinton, MA); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F12/123G06F12/084G06F2212/1041G06F2212/281G06F2212/69
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,102,147
App. No.
15/188,006
Filed
Jun 21, 2016
Granted
Oct 16, 2018
Kind
B1
Art Unit
2139
USPC
711/130
Abstract

In a system in which a plurality of computing elements share a cache, each computing element owns a stripe of the cache. Each stripe contains cache objects that are accessible to all computing elements but managed only by the owning computing element. Each computing element maintains an LRU FIFO queue in local memory for the cache objects owned by that computing element. Each computing element also maintains a separate hash table in local memory for each other computing element. The hash tables indicate access to cache objects that are owned by those other computing elements. Each computing element updates its LRU FIFO queue when it accesses cache objects that it owns. The hash tables are periodically distributed by all computing elements via RDMA so that the LRU FIFO queues of all computing elements can be updated based on accesses to owned cache objects by other non-owner computing elements.

Claims (31)

1. An apparatus comprising:

a plurality of computing nodes, each computing node comprising a processor and a local cache;

a shared cache that is accessible to the computing nodes, the shared cache having a plurality of ownership areas, each ownership area comprising cache objects owned by one of the computing nodes;

each computing node comprising, in the local cache, a first data record indicative of relative temporal proximity of most recent access of each cache object owned by that computing node;

each computing node comprising, in the local cache, a second data record indicative of access by that computing node to cache objects owned by others of the computing nodes;

each computing node comprising logic that distributes at least some access information from the second data record to the other computing nodes; and

each computing node comprising logic that updates the first data record based on access information from second data records received from the other computing nodes.

2. The apparatus of claim 1 wherein the logic that distributes access information from the second data record to the other computing nodes performs distribution once per a temporal phase.

3. The apparatus of claim 2 wherein the temporal phase has a duration that is less than a fall-through time of the shared cache.

4. The apparatus of claim 2 wherein each computing node clears the second data record in local cache after distribution to the other computing nodes.

5. The apparatus of claim 1 wherein the first data record comprises a least recently used first-in-first-out queue.

6. The apparatus of claim 1 wherein the second data record comprises a separate hash table for each of the other computing nodes.

7. The apparatus of claim 6 wherein each hash table is hashed on cache object ID.

8. The apparatus of claim 1 wherein ownership of the cache objects is determined using modulo arithmetic.

9. The apparatus of claim 1 wherein the ownership areas comprise stripes.

10. The apparatus of claim 1 wherein the shared cache comprises allocated portions of the local caches of the computing nodes, and wherein the ownership areas are the allocated portions.

11. A method comprising:

in a system comprising a plurality of computing nodes, each computing node comprising a processor and a local cache, and a shared cache that is accessible to the computing nodes, the shared cache having a plurality of ownership areas, each ownership area comprising cache objects owned by one of the computing nodes:

each computing node generating, in the local cache, a first data record indicative of relative temporal proximity of most recent access of each cache object owned by that computing node;

each computing node generating, in the local cache, a second data record indicative of access by that computing node to cache objects owned by others of the computing nodes;

each computing node distributing at least some access information from the second data record to the other computing nodes; and

each computing node updating the first data record based on access information from second data records received from the other computing nodes.

12. The method of claim 11 comprising distributing the access information from the second data record to the other computing nodes once per a temporal phase.

13. The method of claim 12 comprising setting a duration of the temporal phase to be less than a fall-through time of the shared cache.

14. The method of claim 12 comprising each computing node clearing the second data record in local cache after distribution to the other computing nodes.

15. The method of claim 11 comprising generating the first data record as a least recently used first-in-first-out queue.

16. The method of claim 11 comprising generating the second data record as a separate hash table for each of the other computing nodes.

17. The method of claim 16 comprising hashing each hash table on cache object ID.

18. The method of claim 11 comprising determining ownership of the cache objects using modulo arithmetic.

19. The method of claim 11 comprising generating the ownership areas as stripes.

20. The method of claim 11 wherein the shared cache comprises allocated portions of the local caches of the computing nodes, and comprising forming the ownership areas as the allocated portions.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2016
From: BENHANOKH, GABRIEL; CHANLER, ANDREW; SHVAIGER, FELIX; TANG, HONGLIANG; DON, ARIEH
To: EMC CORPORATION
Reel/Frame 038971/0334 →
Cited By (2)
US 12,346,266 US 12,524,359