Speculative and coordinated data access in a hybrid memory server
First Claim
1. A method, on a server system in an out-of-core processing environment comprising the server system, at least one accelerator system, and at least one user client, for speculatively managing data at the server system, the method comprising:
- receiving a request to access a given data set from the at least one user client, wherein the given data set resides on one or more storage devices communicatively coupled to the server system, and wherein the server system manages the given data set;
identify, based on the request, at least a portion of the given data set that satisfies the request;
retrieving at least the portion of the given data set that has been identified; and
passing at least one of the request and at least the portion of the given data set that has been identified to the accelerator system, wherein the accelerator system is configured to generate a resulting data set based on processing the portion of the at least the portion of the given data set, and wherein the accelerator system is separate and distinct from the server system.
1 Assignment
0 Petitions
Accused Products
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.
34 Citations
23 Claims
-
1. A method, on a server system in an out-of-core processing environment comprising the server system, at least one accelerator system, and at least one user client, for speculatively managing data at the server system, the method comprising:
-
receiving a request to access a given data set from the at least one user client, wherein the given data set resides on one or more storage devices communicatively coupled to the server system, and wherein the server system manages the given data set; identify, based on the request, at least a portion of the given data set that satisfies the request; retrieving at least the portion of the given data set that has been identified; and passing at least one of the request and at least the portion of the given data set that has been identified to the accelerator system, wherein the accelerator system is configured to generate a resulting data set based on processing the portion of the at least the portion of the given data set, and wherein the accelerator system is separate and distinct from the server system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A server system in an out-of-core processing environment comprising the server system, at least one accelerator system, and at least one user client for speculatively managing data at the server system, the server 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 a request to access a given data set from the at least one user client, wherein the given data set resides on one or more storage devices communicatively coupled to the server system, and wherein the server system manages the given data set; identify, based on the request, at least a portion of the given data set that satisfies the request; retrieving at least the portion of the given data set that has been identified; and passing at least one of the request and at least the portion of the given data set that has been identified to the accelerator system, wherein the accelerator system is configured to generate a resulting data set based on processing the portion of the at least the portion of the given data set, and wherein the accelerator system is separate and distinct from the server system. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method, on a server system in an out-of-core processing environment comprising the server system, at least one accelerator system, and at least one user client, for speculatively managing data at the server system, the method comprising:
-
receiving a request to access a given data set from the at least one user client, wherein the given data set resides on one or more storage devices communicatively coupled to the server system, and wherein the server system manages the given data set; identifying, based on the request, at least a portion of the given data set that satisfies the request; retrieving at least the portion of the given data set that has been identified; and passing at least the portion of the given data set that has been identified to the user client, wherein the passing further comprises determining that an amount of data to satisfy the request to access is below a given threshold; and passing, based on determining that the amount of data to satisfy the request is below a given threshold, at least the portion of the given data set that has been identified to the user client.
-
-
15. A computer program product for speculatively managing data at a server system in an out-of-core processing environment comprising the server system, at least one accelerator system, and at least one user client, 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 a request to access a given data set from the at least one user client, wherein the given data set resides on one or more storage devices communicatively coupled to the server system, and wherein the server system manages the given data set; identify, based on the request, at least a portion of the given data set that satisfies the request; retrieving at least the portion of the given data set that has been identified; and passing at least one of the request and at least the portion of the given data set that has been identified to the accelerator system, wherein the accelerator system is configured to generate a resulting data set based on processing the portion of the at least the portion of the given data set, and wherein the accelerator system is separate and distinct from the server system. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
22. A server system in an out-of-core processing environment comprising the server system, at least one accelerator system, and at least one user client for speculatively managing data at the server system, the server 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 a request to access a given data set from the at least one user client, wherein the given data set resides on one or more storage devices communicatively coupled to the server system, and wherein the server system manages the given data set; identifying, based on the request, at least a portion of the given data set that satisfies the request; retrieving at least the portion of the given data set that has been identified; and passing at least the portion of the given data set that has been identified to the user client, wherein the passing further comprises determining that an amount of data to satisfy the request to access is below a given threshold; and passing, based on determining that the amount of data to satisfy the request is below a given threshold, at least the portion of the given data set that has been identified to the user client.
-
-
23. A computer program product for speculatively managing data at a server system in an out-of-core processing environment comprising the server system, at least one accelerator system, and at least one user client, 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 a request to access a given data set from the at least one user client, wherein the given data set resides on one or more storage devices communicatively coupled to the server system, and wherein the server system manages the given data set; identifying, based on the request, at least a portion of the given data set that satisfies the request; retrieving at least the portion of the given data set that has been identified; and passing at least the portion of the given data set that has been identified to the user client, wherein the passing further comprises determining that an amount of data to satisfy the request to access is below a given threshold; and passing, based on determining that the amount of data to satisfy the request is below a given threshold, at least the portion of the given data set that has been identified to the user client.
Specification