Using Umpire’s Coalescing Heuristics to Improve Memory Performance
DescriptionMemory management APIs like Umpire were created to solve the memory constraints for applications running on heterogeneous HPC systems. At Lawrence Livermore National Laboratory (LLNL), many application codes utilize the memory management capabilities of Umpire. This study focuses on one such code, a high explosive equation of state chemistry application from LLNL. This code uses Umpire’s memory pools in order to allocate all required memory at once instead of many times throughout the code. The performance of memory pools varies widely and depends upon how the blocks of memory within the pool are managed. We conducted several experiments that tested different strategies to manage allocations within a memory pool in order to study the impact on performance. Our experiments demonstrate how this performance varies, from causing an application to run out of memory prematurely to reducing peak memory usage by 64%, depending upon that management strategy.
TimeThursday, 17 November 20228:30am - 5pm CST