IP Library Granted Patent US 8,694,584
Granted Patent B2
US 8,694,584 · App. 13/675,270 · Granted Apr 8, 2014

Speculative and coordinated data access 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
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 8,694,584
App. No.
13/675,270
Granted
Apr 8, 2014
Kind
B2
Abstract

A method, accelerator system, and computer program product, for prefetching data from a server system in an out-of-order processing environment. A plurality of prefetch requests associated with one or more given data sets residing on the server system are received from an application on the server system. Each prefetch request is stored in a prefetch request queue. A score is assigned to each prefetch request. A set of the prefetch requests are selected from the prefetch queue that comprise a score above a given threshold. A set of data, for each prefetch request in the set of prefetch requests, is prefetched from the server system that satisfies each prefetch request, respectively.

Claims (41)

1. A method, with an accelerator system in an out-of-order processing environment, for prefetching data from a server system in the out-of-order processing environment, the method comprising:

receiving, from an application on at least one of the server system and a user client, a plurality of prefetch requests associated with one or more given data sets residing on the server system, wherein the plurality of prefetch requests is associated with a plurality of actions selectable by a user of the user client corresponding to a given state of the application;

storing each prefetch request in a prefetch request queue;

assigning a score to each prefetch request;

selecting a set of the prefetch requests from the prefetch queue that comprise a score above a given threshold; and

prefetching, for each prefetch request in the set of prefetch requests, a set of data from the server system that satisfies each prefetch request, respectively.

2. The method of claim 1 , further comprising:

storing the set of data in a portion of memory that is separate from non-prefetched data.

3. The method of claim 1 , wherein assigning a score is based at least on determining a set of resources required by the prefetch request.

4. The method of claim 1 , further comprising:

determining, based on selecting the set of prefetch requests, that at least two prefetch requests in the set of prefetch requests are requesting substantially similar data; and

aggregating the at least two prefetch requests into a single prefetch request.

5. The method of claim 1 , wherein selecting the set of prefetch requests further comprises:

identifying a current state of the application; and

selecting at least one prefetch request based on the current state of the application that has been identified.

6. An accelerator system in an out-of-order processing environment for prefetching data from a server system in the out-of-order processing environment, the accelerator system comprising:

a memory;

a processor communicatively coupled to the memory; and

a data access manager communicatively coupled to the memory and the processor, the data access manager configured to perform a method comprising:

receiving, from an application on at least one of the server system and a user client, a plurality of prefetch requests associated with one or more given data sets residing on the server system;

storing each prefetch request in a prefetch request queue;

assigning a score to each prefetch request;

selecting a set of the prefetch requests from the prefetch queue that comprise a score above a given threshold;

determining, based on selecting the set of prefetch requests, that at least two prefetch requests in the set of prefetch requests are requesting substantially similar data;

aggregating the at least two prefetch requests into a single prefetch request; and

prefetching, for each prefetch request in the set of prefetch requests, a set of data from the server system that satisfies each prefetch request, respectively.

7. The accelerator system of claim 6 , wherein assigning a score is based at least on determining a set of resources required by the prefetch request.

8. A computer program product for prefetching data from a server system in the out-of-order 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:

receiving, from an application on at least one of the server system and a user client, a plurality of prefetch requests associated with one or more given data sets residing on the server system, wherein the plurality of prefetch requests is associated with a plurality of actions selectable by a user of the user client corresponding to a given state of the application;

storing each prefetch request in a prefetch request queue;

assigning a score to each prefetch request;

selecting a set of the prefetch requests from the prefetch queue that comprise a score above a given threshold; and

prefetching, for each prefetch request in the set of prefetch requests, a set of data from the server system that satisfies each prefetch request, respectively.

9. The computer program product of claim 8 , wherein assigning a score is based at least on determining a set of resources required by the prefetch request.

10. The computer program product of claim 8 , wherein the method further comprises:

determining, based on selecting the set of prefetch requests, that at least two prefetch requests in the set of prefetch requests are requesting substantially similar data; and

aggregating the at least two prefetch requests into a single prefetch request.

11. The computer program product of claim 8 , wherein selecting the set of prefetch requests further comprises:

identifying a current state of the application; and

selecting at least one prefetch request based on the current state of the application that has been identified.

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 Nov 13, 2012
From: CHAN, YUK LUNG; KRISHNAMURTHY, RAJARAM B.; PARRIS, CARL JOSEPH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029287/0163 →
Continuity (2)
Division 12822790 · Jun 24, 2010
Related Publication 20130073668A1 · Mar 21, 2013