US 12,292,822 B1
Optimizing memory access for system with memory expander
Gabriel Zvi BenHanokh, Tel Aviv (IL); Brett Niver, Whitinsville, MA (US); Yuval Lifshitz, Kfar HaOranim (IL); and Yehoshua Salomon, Kfar Saba (IL)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Jan. 11, 2024, as Appl. No. 18/409,867.
Int. Cl. G06F 12/02 (2006.01)
CPC G06F 12/023 (2013.01) 20 Claims
OG exemplary drawing
 
1. A method for optimizing memory access for systems with memory expanders, the method comprising:
analyzing a source code of a program to identify each data structure that will be accessed by the program during execution of the program;
determining a predicted access pattern for each data structure;
determining a type of each data structure;
calculating a data access score for each data structure based at least in part on the predicted access pattern and the type;
creating an executable code of the program based on the source code,
wherein the executable code includes a memory allocation value for each data structure,
wherein the memory allocation value for each data structure is determined based on the data access score for each data structure, and
wherein the memory allocation value is utilized by a processor to determine a memory location for allocating memory requested during execution of the program.