IP Library Granted Patent US 10,452,276
Granted Patent B2
US 10,452,276 · App. 16/281,170 · Granted Oct 22, 2019

Hierarchical pre-fetch pipelining in a hybrid memory server

Inventors: Yuk Lung Chan (Poughkeepsie, NY); Rajaram B. Krishnamurthy (Wappingers Falls, NY); Carl Joseph Parris (Rhinebeck, 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,452,276
App. No.
16/281,170
Granted
Oct 22, 2019
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 (60)

1. A method, on a server system in an out-of-core processing environment, for managing access to data by accelerator systems, the method comprising:

determining a data set to be accessed by at least one accelerator system;

determining one or more characteristics of the data set;

selecting an access configuration from a plurality of different access configurations available for the accelerator system based on the one or more characteristics of the data set, wherein each access configuration of the plurality of different access configurations comprises different parameters indicating how the accelerator system is to access the data set; and

dynamically configuring the accelerator system to access the data set according to the access configuration.

2. The method of claim 1 , wherein the data set to be accessed is determined based on a request received from the accelerator system.

3. The method of 1 , wherein determining the one or more characteristics of the data set comprises:

accessing metadata associated with the data set, wherein the metadata is stored in at least one of the data set itself or in a record that is separate from the data set.

4. The method of claim 1 , wherein different access configurations are selected for different data sets comprising different characteristics.

5. The method of claim 1 , wherein dynamically configuring the accelerator system comprises:

dynamically configuring the accelerator system to one of

access the given data set directly from the server system,

locally store a portion of the given data set in a memory, and

locally store all of the given data set in the memory.

6. The method of claim 5 , further comprising:

instructing, in response to dynamically configuring the accelerator system to locally store one of the portion or all of the given data set, the accelerator system to maintain a security counter for the given data set; and

associating a threshold value with the security counter, wherein the threshold value indicates to the accelerator system when to remove the one of the portion or all of the given data set from the memory.

7. The method of claim 1 , further comprising:

determining a type of processing core associated with the accelerator system; and

transforming the given data set from a first format to a second format that is associated with the type of processing core that has been determined.

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:

determining a data set to be accessed by at least one accelerator system;

determining one or more characteristics of the data set;

selecting an access configuration from a plurality of different access configurations available for the accelerator system based on the one or more characteristics of the data set, wherein each access configuration of the plurality of different access configurations comprises different parameters indicating how the accelerator system is to access the data set; and

dynamically configuring the accelerator system to access the data set according to the access configuration.

9. The server system of claim 8 , wherein the data set to be accessed is determined based on a request received from the accelerator system.

10. The server system of claim 8 , wherein determining the one or more characteristics of the data set comprises:

accessing metadata associated with the data set, wherein the metadata is stored in at least one of the data set itself or in a record that is separate from the data set.

11. The server system of claim 8 , wherein different access configurations are selected for different data sets comprising different characteristics.

12. The server system of claim 8 , wherein dynamically configuring the accelerator system comprises:

dynamically configuring the accelerator system to one of

access the given data set directly from the server system,

locally store a portion of the given data set in a memory, and

locally store all of the given data set in the memory.

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

determining a type of processing core associated with the accelerator system; and

transforming the given data set from a first format to a second format that is associated with the type of processing core that has been determined.

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:

determining a data set to be accessed by at least one accelerator system;

determining one or more characteristics of the data set;

selecting an access configuration from a plurality of different access configurations available for the accelerator system based on the one or more characteristics of the data set, wherein each access configuration of the plurality of different access configurations comprises different parameters indicating how the accelerator system is to access the data set; and

dynamically configuring the accelerator system to access the data set according to the access configuration.

15. The computer program product of claim 14 , wherein the data set to be accessed is determined based on a request received from the accelerator system.

16. The computer program product of claim 14 , wherein determining the one or more characteristics of the data set comprises:

accessing metadata associated with the data set, wherein the metadata is stored in at least one of the data set itself or in a record that is separate from the data set.

17. The computer program product of claim 14 , wherein different access configurations are selected for different data sets comprising different characteristics.

18. The computer program product of claim 14 , wherein dynamically configuring the accelerator system comprises:

dynamically configuring the accelerator system to one of

access the given data set directly from the server system,

locally store a portion of the given data set in a memory, and

locally store all of the given data set in the memory.

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

instructing, in response to dynamically configuring the accelerator system to locally store one of the portion or all of the given data set, the accelerator system to maintain a security counter for the given data set; and

associating a threshold value with the security counter, wherein the threshold value indicates to the accelerator system when to remove the one of the portion or all of the given data set from the memory.

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

determining a type of processing core associated with the accelerator system; and

transforming the given data set from a first format to a second format that is associated with the type of processing core that has been determined.

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/0103 →
Continuity (5)
Continuation 15848365 · Dec 20, 2017
Continuation 15139391 · Apr 27, 2016
Continuation 13337704 · Dec 27, 2011
Continuation 12822760 · Jun 24, 2010
Related Publication 20190258398A1 · Aug 22, 2019