US2023244530A1PendingUtilityA1

Flexible optimized data handling in systems with multiple memories

73
Assignee: IBMPriority: Jun 13, 2016Filed: Apr 5, 2023Published: Aug 3, 2023
Est. expiryJun 13, 2036(~9.9 yrs left)· nominal 20-yr term from priority
G06F 9/5016Y02D10/00
73
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and systems for optimizing an application for a computing system having multiple distinct memory locations that are interconnected by one or more communication channels include determining one or more data handling properties for a data region in an application. One or more data handling policies for the data region are determined based on the one or more data handling properties. Data setup costs are determined for a scope in the application that uses the data region in different memory locations based on the one or more data handling properties. The application is optimized in accordance with the one or more data handling policies and the data setup costs for the different memory locations.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method comprising:
 selecting a scope from a plurality of scopes in the application, each scope of the plurality of scopes being defined by a section of application code;   determining, by a compiler, one or more data handling properties of a data region accessed in a selected scope;   determining, by the compiler at compile time, one or more data handling policies for the data region based on the one or more data handling properties, wherein the data handling policies perform data transfers implemented by software libraries pushing and pulling the data; and   optimizing, by the compiler, the application by selecting one or memory locations in which to store the data region in accordance with at least the determined one or more data handling properties.   
     
     
         2 . The computer-implemented method of  claim 1 , wherein the section of application code is demarcated by syntactic structures in the application code. 
     
     
         3 . The computer-implemented method of  claim 1 , wherein the software libraries include a first software library and a second software library. 
     
     
         4 . The computer-implemented method of  claim 3 , wherein the first software library includes a policy to at least push data to a next location if the data is written exactly once in the selected scope. 
     
     
         5 . The computer-implemented method of  claim 4 , wherein the first software library pushes the data to other locations after a write access by copying the data. 
     
     
         6 . The computer-implemented method of  claim 3 , wherein the second software library pulls the data from the location where the data was last updated on a read access. 
     
     
         7 . The computer-implemented method of  claim 1 , further comprising determining, at compile time, one or more data handling policies for the data region based on the one or more data handling properties. 
     
     
         8 . The computer-implemented method of  claim 1 , further comprising determining data setup costs for a plurality of scopes in the application. 
     
     
         9 . The computer-implemented method of  claim 8 , wherein the plurality of scopes use the data region in different memory locations based on the one or more data handling properties. 
     
     
         10 . The computer-implemented method of  claim 1 , wherein optimizing the application includes selecting one or memory locations in which to store the data region. 
     
     
         11 . The computer-implemented method of  claim 1 , further comprising selecting one or more communications channels by which the data region is transferred between memory locations. 
     
     
         12 . The computer-implemented method of  claim 1 , wherein the one or more data handling properties further include coverage information. 
     
     
         13 . A computer program product for optimizing an application for a computing system having multiple distinct memory locations, the program instructions executable by a computer to cause the computer to:
 select a scope from a plurality of scopes in the application, each scope of the plurality of scopes being defined by a section of application code;   determine, by a compiler, one or more data handling properties of a data region accessed in a selected scope;   determine, by the compiler at compile time, one or more data handling policies for the data region based on the one or more data handling properties, wherein the data handling policies perform data transfers implemented by software libraries pushing and pulling the data; and   optimize, by the compiler, the application by selecting one or memory locations in which to store the data region in accordance with the determined one or more data handling properties.   
     
     
         14 . The computer program product of  claim 13 , wherein the section of application code is demarcated by syntactic structures in the application code. 
     
     
         15 . The computer program product of  claim 13 , wherein the software libraries include a first software library and a second software library. 
     
     
         16 . The computer program product of  claim 15 , wherein the first software library includes a policy to at least push data to a next location if the data is written exactly once in the selected scope. 
     
     
         17 . The computer program product of  claim 16 , wherein the first software library pushes the data to other locations after a write access by copying the data. 
     
     
         18 . The computer program product of  claim 15 , wherein the second software library pulls the data from the location where the data was last updated on a read access. 
     
     
         19 . The computer program product of  claim 13 , wherein the one or more data handling properties further include access frequency information. 
     
     
         20 . The computer program product of  claim 13 , wherein the one or more data handling properties further include data layout information.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.