IP Library Granted Patent US 9,857,987
Granted Patent B2
US 9,857,987 · App. 15/139,405 · Granted Jan 2, 2018

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/177G06F17/30132G06F17/30194G06F21/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 9,857,987
App. No.
15/139,405
Granted
Jan 2, 2018
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 (35)

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

partitioning a memory system partitioned into a first set of memory managed by a server, and a second set of memory managed by a set of accelerator systems, the second set of memory being directly writeable to by the set of accelerator systems, and wherein the memory system comprises heterogeneous memory types;

identifying a data set stored within at least one of the first set of memory and the second set of memory that is associated with at least one accelerator system in the set of accelerator systems; and

transforming the data set from a first format to a second format, wherein the second format is a format required by the at least one accelerator system.

2. The method of claim 1 , wherein the transforming is based on at least one of an operation associated with the data set and a type of the at least one processing core of the at least one accelerator system.

3. The method of claim 1 , wherein partitioning the memory system comprises:

releasing the second set of memory to the set of accelerator systems.

4. The method of claim 1 , wherein at least one accelerator system in the set of accelerator systems comprises at least one gated memory, wherein the at least one accelerator system selectively allows the server to access the at least one gate memory.

5. The method of claim 1 , wherein the memory system comprises at least one flash memory module, and wherein the at least one flash memory module is communicatively coupled to an input-output bus of the server, wherein a first accelerator system in the set of accelerator systems communicates at least one data set residing within the flash memory to a second accelerator system in the set of accelerator systems over the input-output bus of the server, and wherein the first and second accelerator systems have direct access to the at least one flash memory module.

6. The method of claim 5 , wherein the at least one flash memory module comprises a network link configured to at least one of send and receive messages from at least the set of accelerators.

7. A hybrid server system in an out-of-core processing environment comprising:

a server comprising

a memory system partitioned into a first set of memory managed by the server, and a second set of memory managed by a set of accelerator systems, the second set of memory being directly writeable to by the set of accelerator systems, and wherein the memory system comprises heterogeneous memory types;

a data access manager communicatively coupled to the memory system; and

a set of accelerator systems communicatively coupled to the server, wherein each accelerator system in the set of accelerator systems comprises at least one processing core,

wherein the data access manager is configured to

identify a data set stored within at least one of the first set of memory and the second set of memory that is associated with at least one accelerator system in the set of accelerator systems; and

transform the data set from a first format to a second format, wherein the second format is a format required by the at least one accelerator system.

8. The hybrid server system of claim 7 , wherein the transforming is based on at least one of an operation associated with the data set and a type of the at least one processing core of the at least one accelerator system.

9. The hybrid server system of claim 7 , wherein partitioning the memory system comprises:

releasing the second set of memory to the set of accelerator systems.

10. The hybrid server system of claim 7 , wherein at least one accelerator system in the set of accelerator systems comprises at least one gated memory, wherein the at least one accelerator system selectively allows the server to access the at least one gate memory.

11. The hybrid server system of claim 7 , wherein the memory system comprises at least one flash memory module, and wherein the at least one flash memory module is communicatively coupled to an input-output bus of the server, wherein a first accelerator system in the set of accelerator systems communicates at least one data set residing within the flash memory to a second accelerator system in the set of accelerator systems over the input-output bus of the server, and wherein the first and second accelerator systems have direct access to the at least one flash memory module.

12. The hybrid server system of claim 11 , wherein the at least one flash memory module comprises a network link configured to at least one of send and receive messages from at least the set of accelerators.

13. A computer program product for managing data access in an out-of-core processing environment, 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 a memory system partitioned into a first set of memory managed by a server, and a second set of memory managed by a set of accelerator systems, the second set of memory being directly writeable to by the set of accelerator systems, and wherein the memory system comprises heterogeneous memory types;

identifying a data set stored within at least one of the first set of memory and the second set of memory that is associated with at least one accelerator system in the set of accelerator systems; and

transforming the data set from a first format to a second format, wherein the second format is a format required by the at least one accelerator system.

14. The computer program product of claim 13 , wherein the transforming is based on at least one of an operation associated with the data set and a type of the at least one processing core of the at least one accelerator system.

15. The computer program product of claim 13 , wherein partitioning the memory system comprises:

releasing the second set of memory to the set of accelerator systems.

16. The computer program product of claim 13 , wherein at least one accelerator system in the set of accelerator systems comprises at least one gated memory, wherein the at least one accelerator system selectively allows the server to access the at least one gate memory.

17. The computer program product of claim 13 , wherein the memory system comprises at least one flash memory module, and wherein the at least one flash memory module is communicatively coupled to an input-output bus of the server, wherein a first accelerator system in the set of accelerator systems communicates at least one data set residing within the flash memory to a second accelerator system in the set of accelerator systems over the input-output bus of the server, and wherein the first and second accelerator systems have direct access to the at least one flash memory module.

18. The computer program product of claim 17 , wherein the at least one flash memory module comprises a network link configured to at least one of send and receive messages from at least the set of accelerators.

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 Apr 27, 2016
From: CHAN, YUK LUNG; KRISHNAMURTHY, RAJARAM B.; PARRIS, CARL JOSEPH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038390/0594 →
Continuity (4)
Division 13337704 · Dec 27, 2011
Continuation 12822760 · Jun 24, 2010
Continuation 12822790 · Jun 24, 2010
Related Publication 20160239425A1 · Aug 18, 2016