US10831375B2ActiveUtilityA1

Hierarchical pre-fetch pipelining in a hybrid memory server

74
Assignee: IBMPriority: Jun 24, 2010Filed: Sep 20, 2019Granted: Nov 10, 2020
Est. expiryJun 24, 2030(~4 yrs left)· nominal 20-yr term from priority
G06F 12/0868H04L 67/568G06F 16/172G06F 3/0685G06F 21/602H04L 41/5054G06F 16/182G06F 3/061H04L 47/24G06F 2212/264G06F 12/0862G06F 3/0608G06F 15/177G06F 2212/602G06F 3/067G06F 3/0653G06F 3/0644G06F 3/065G06F 3/0688H04L 29/08729
74
PatentIndex Score
0
Cited by
78
References
20
Claims

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

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method, on a server system in an out-of-core processing environment, for managing access to data stored thereon, the method comprising:
 establishing a communication tunnel between at least one user client and at least one accelerator system, wherein the at least one accelerator system is external to the server system; 
 monitoring a first set of data requests being transmitted from the at least one user client to the at least one accelerator system through the communication tunnel; and 
 pushing, based on the monitoring, data requested by the at least one user client to the at least one accelerator system. 
 
     
     
       2. The method of  claim 1 , wherein the data pushed to the at least one accelerator system is stored on the server system. 
     
     
       3. The method of  claim 1 , further comprising:
 monitoring a second set of data requests being transmitted from the at least one user client to the at least one accelerator system; and 
 determining that the second set of data requests is related to the first set of data requests and is for a different set of data than the first set of data. 
 
     
     
       4. The method of  claim 3 , wherein the method further comprises:
 monitoring a third set of data requests being transmitted from at least one additional user client to the at least one accelerator system; 
 determining that the third set of data requests corresponds to the first set of data requests; and 
 pushing data associated with the second set of data requests to the at least one accelerator system to satisfy the third set of data requests. 
 
     
     
       5. The method of  claim 1 , wherein at least one of the first set of data requests comprises an indicator that notifies the at least one accelerator system that data associated with the at least one of the first set of data requests server system is to be pushed to the accelerator system by the server system. 
     
     
       6. The method of  claim 1 , wherein the first set of data requests pass through the server system to the accelerator system via the communication tunnel. 
     
     
       7. The method of  claim 1 , further comprising:
 receiving the first set of data requests using a first network port; and 
 transmitting the first set of data requests to the at least one accelerator system using a second network port that is different than the first network port. 
 
     
     
       8. The method of  claim 1 , wherein the first set of data requests is monitored using one or more data snooping mechanisms. 
     
     
       9. A method, on a server system in an out-of-core processing environment, for managing access to data stored thereon, the method comprising:
 monitoring at least a first set of data being pulled by at least one accelerator system from the server system, wherein the at least one accelerator system is external to the server system; 
 determining that at least a second set of data is related to the at least first set of data; and 
 pushing the at least second set of data to the at least one accelerator system. 
 
     
     
       10. The method of  claim 9 , wherein determining that the at least second set of data is related to the first set of data comprises:
 determining that the at least first set of data is part of a dataset that is stored in a hierarchical configuration; and 
 identifying that the at least second data is stored at a lower level of the hierarchical configuration than a level of the hierarchical configuration at which the at least first set of data is stored, 
 wherein the at least second set of data is pushed to the at least one accelerator system based on the at least second data being stored at the level of the hierarchical configuration that is lower than the lower level of the hierarchical configuration. 
 
     
     
       11. The method of  claim 9 , wherein the at least second set of data is pushed to the at least one accelerator system while the at least one accelerator system is pulling data from the server system. 
     
     
       12. The method of  claim 9 , further comprising:
 receiving at least one data request from a user client; and 
 transmitting the at least one data request to the at least one accelerating system, wherein the at least first set of data being pulled by at least one accelerator system satisfies the at least one data request. 
 
     
     
       13. The method of  claim 9 , wherein determining that the at least second set of data is related to the at least first set of data comprises:
 semantically parsing the at least first set of data to determine a current state of an application being executed by a user client; and 
 determining, based on semantically parsing the at least first set of data, that the at least second set of data comprises locality and affinity to the current state of the application. 
 
     
     
       14. A computer program product for managing access to data stored on a server system in an out-of-core processing environment, the computer program product comprising a non-transitory storage medium readable by a processing circuit of the server system and storing instructions for execution by the processing circuit for performing a method comprising:
 establishing a communication tunnel between at least one user client and at least one accelerator system, wherein the at least one accelerator system is external to the server system; 
 monitoring a first set of data requests of being transmitted from the at least one user client to the at least one accelerator system through the communication tunnel; and 
 pushing, based on the monitoring, data requested by the at least one user client to the at least one accelerator system. 
 
     
     
       15. The computer program product of  claim 14 , wherein the data pushed to the at least one accelerator system is stored on the server system. 
     
     
       16. The computer program product of  claim 14 , wherein the method further comprises:
 monitoring a second set of data requests being transmitted from the at least one user client to the at least one accelerator system; and 
 determining that the second set of data requests is related to the first set of data requests and is for a different set of data than the first set of data. 
 
     
     
       17. The computer program product of  claim 16 , wherein the method further comprises:
 monitoring a third set of data requests being transmitted from at least one additional user client to the at least one accelerator system; 
 determining that the third set of data requests corresponds to the first set of data requests; and 
 pushing data associated with the second set of data requests to the at least one accelerator system to satisfy the third set of data requests. 
 
     
     
       18. The computer program product of  claim 14 , wherein at least one of the first set of data requests comprises an indicator that notifies the at least one accelerator system that data associated with the at least one of the first set of data requests server system is to be pushed to the accelerator system by the server system. 
     
     
       19. The computer program product of  claim 14 , wherein the first set of data requests passes through the server system to the accelerator system via the communication tunnel. 
     
     
       20. The computer program product of  claim 14 , wherein the method further comprises:
 receiving the first set of data requests using a first network port; and 
 transmitting the first set of data requests to the at least one accelerator system using a second network port that is different than the first network port.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.