IP Library Granted Patent US 10,592,118
Granted Patent B2
US 10,592,118 · App. 16/281,211 · Granted Mar 17, 2020

Hierarchical pre-fetch pipelining in a hybrid memory server

Inventors: Yuk Lung Chan (Poughkeepsie, NY); Rajaram B. Krishnamurthy (Poughkeepsie, NY); Carl Joseph Parris (Poughkeepsie, NY)
Assignee: International Business Machines Corporation
G06F3/061G06F3/065G06F3/067G06F3/0608G06F3/0644G06F3/0653G06F3/0685G06F3/0688G06F12/0862G06F12/0868G06F15/177G06F16/172G06F16/182G06F21/602H04L29/08729H04L41/5054H04L47/24G06F2212/264G06F2212/602
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,592,118
App. No.
16/281,211
Granted
Mar 17, 2020
Kind
B2
Abstract

A method, hybrid server system, and computer program product, prefetch data. A set of prefetch requests associated with one or more given datasets residing on the server system are received from a set of accelerator systems. A set of data is prefetched from a memory system residing at the server system for at least one prefetch request in the set of prefetch requests. The set of data satisfies the at least one prefetch request. The set of data that has been prefetched is sent to at least one accelerator system, in the set of accelerator systems, associated with the at least one prefetch request.

Claims (45)

1. A method, with a server system in an out-of-core processing environment, comprising:

partitioning memory within the server system into a first set of memory managed by a plurality of accelerator systems and a second set of memory managed by the server system;

assigning different portions of memory within the server system to a plurality of accelerator systems, wherein the different portions of memory are to be managed by the plurality of accelerator systems; and

receiving data within the first set of memory, wherein the data is directly written into the first set of memory by at least one of the accelerator systems of the plurality of accelerator systems.

2. The method of claim 1 , wherein the first set of memory is private to the plurality of accelerator systems.

3. The method of claim 1 , further comprising:

releasing at least a portion of the second memory to one or more accelerator systems of the plurality of accelerator systems.

4. The method of claim 1 , further comprising:

determining that an accelerator system of the plurality of accelerator systems has released a portion memory residing at the accelerator system; and

accessing, based on the determining, the portion of memory residing at the accelerator system.

5. The method of claim 1 , further comprising:

disallowing access to the second set of memory by the plurality of accelerator systems.

6. The method of claim 1 , wherein the partitioning comprises:

assigning, to each accelerator system of the plurality of accelerator systems, a portion of the first set of memory as private memory that is only accessible by the accelerator system.

7. The method of claim 6 , wherein a remaining portion of the first of memory is accessible by all the accelerator systems of the plurality of accelerator systems.

8. A server system in an out-of-core processing environment, the server system comprising:

a memory;

a processor communicatively coupled to the memory; and

a data manager communicatively coupled to the memory and the processor, wherein the data manager is configured to perform:

partitioning memory within the server system into a first set of memory managed by a plurality of accelerator systems and a second set of memory managed by the server system;

assigning different portions of memory within the server system to a plurality of accelerator systems, wherein the different portions of memory are to be managed by the plurality of accelerator systems; and

receiving data within the first set of memory, wherein the data is directly written into the first set of memory by at least one of the accelerator systems of the plurality of accelerator systems.

9. The server system of claim 8 , wherein the first set of memory is private to the plurality of accelerator systems.

10. The server system of claim 8 , wherein the data manager is further configured to perform:

releasing at least a portion of the second memory to one or more accelerator systems of the plurality of accelerator systems.

11. The server system of claim 8 , wherein the data manager is further configured to perform: determining that an accelerator system of the plurality of accelerator systems has released a portion memory residing at the accelerator system; and

accessing, based on the determining, the portion of memory residing at the accelerator system.

12. The server system of claim 8 , wherein the data manager is further configured to perform: disallowing access to the second set of memory by the plurality of accelerator systems.

13. The server system of claim 8 , wherein the partitioning comprises:

assigning, to each accelerator system of the plurality of accelerator systems, a portion of the first set of memory as private memory that is only accessible by the accelerator system, wherein a remaining portion of the first of memory is accessible by all the accelerator systems of the plurality of accelerator systems.

14. A computer program product for managing accelerator system access to data, the computer program product comprising a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

partitioning memory within the server system into a first set of memory managed by a plurality of accelerator systems and a second set of memory managed by the server system;

assigning different portions of memory within the server system to a plurality of accelerator systems, wherein the different portions of memory are to be managed by the plurality of accelerator systems; and

receiving data within the first set of memory, wherein the data is directly written into the first set of memory by at least one of the accelerator systems of the plurality of accelerator systems.

15. The computer program product of claim 14 , wherein the first set of memory is private to the plurality of accelerator systems.

16. The computer program product of claim 14 , wherein the method further comprises:

releasing at least a portion of the second memory to one or more accelerator systems of the plurality of accelerator systems.

17. The computer program product of claim 14 , wherein the method further comprises:

determining that an accelerator system of the plurality of accelerator systems has released a portion memory residing at the accelerator system; and

accessing, based on the determining, the portion of memory residing at the accelerator system.

18. The computer program product of claim 14 , wherein the method further comprises:

disallowing access to the second set of memory by the plurality of accelerator systems.

19. The computer program product of claim 14 , wherein the partitioning comprises:

assigning, to each accelerator system of the plurality of accelerator systems, a portion of the first set of memory as private memory that is only accessible by the accelerator system.

20. The computer program product of claim 19 , wherein a remaining portion of the first of memory is accessible by all the accelerator systems of the plurality of accelerator systems.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2025
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: BLUE HERON DEVELOPMENT LLC
Reel/Frame 070130/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2019
From: CHAN, YUK LUNG; KRISHNAMURTHY, RAJARAM B.; PARRIS, CARL JOSEPH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048391/0828 →
Continuity (5)
Continuation 15813354 · Nov 15, 2017
Continuation 15139405 · Apr 27, 2016
Division 13337704 · Dec 27, 2011
Continuation 12822760 · Jun 24, 2010
Related Publication 20190187895A1 · Jun 20, 2019