- Seattle WA, US William Homer - Eagan MN, US David W. Oehmke - Northfield MN, US Luiz DeRose - Rosemount MN, US Clayton D. Andreasen - Rosemount MN, US Sanyam Mehta - Minneapolis MN, US
International Classification:
G06F 12/0871 G06F 12/02
Abstract:
A system is provided for allocating memory for data of a program for execution by a computer system with a multi-tier memory that includes LBM and HBM. The system accesses a data structure map that maps data structures of the program to the memory addresses within an address space of the program to which the data structures are initially allocated. The system executes the program to collect statistics relating to memory requests and memory bandwidth utilization of the program. The system determines an extent to which each data structure is used by a high memory utilization portion of the program based on the data structure map and the collected statistics. The system generates a memory allocation plan that favors allocating data structures in HBM based on the extent to which the data structures are used by a high memory utilization portion of the program.
- Seattle WA, US William Homer - Eagan MN, US David W. Oehmke - Northfield MN, US Luiz DeRose - Rosemount MN, US Clayton D. Andreasen - Rosemount MN, US Sanyam Mehta - Minneapolis MN, US
International Classification:
G06F 12/0871 G06F 12/02
Abstract:
A system is provided for allocating memory for data of a program for execution by a computer system with a multi-tier memory that includes LBM and HBM. The system accesses a data structure map that maps data structures of the program to the memory addresses within an address space of the program to which the data structures are initially allocated. The system executes the program to collect statistics relating to memory requests and memory bandwidth utilization of the program. The system determines an extent to which each data structure is used by a high memory utilization portion of the program based on the data structure map and the collected statistics. The system generates a memory allocation plan that favors allocating data structures in HBM based on the extent to which the data structures are used by a high memory utilization portion of the program.