Memory fragmentation is a widely studied problem of dynamic memory allocators. It is well known that fragmentation can lead to premature out-of-memory errors and poor cache performance.
With the recent emergence of dynamic memory allocators for SIMD accelerators, memory fragmentation is becoming an increasingly important problem on such architectures. Nevertheless, it has received little attention so far. Memory-bound applications on SIMD architectures such as GPUs can experience an additional slowdown due to less efficient vector load/store instructions.
We propose CompactGpu, an incremental, fully-parallel, in-place memory defragmentation system for GPUs. CompactGpu is an extension to the DynaSOAr dynamic memory allocator and defragments the heap in a fully parallel fashion by merging partly occupied memory blocks. We developed several implementation techniques for memory defragmentation that are efficient on SIMD/GPU architectures, such as finding defragmentation block candidates and fast pointer rewriting based on bitmaps.
Benchmarks indicate that our implementation is very fast with typically higher performance gains than compaction overheads. It can also decrease the overall memory usage.
Sun 23 JunDisplayed time zone: Tijuana, Baja California change
09:00 - 11:00 | |||
09:00 5mDay opening | Welcome from the chairs ISMM 2019 | ||
09:05 40mTalk | Keynote 1: Relaxed memory ordering needs a better specification ISMM 2019 Hans-J. Boehm Google | ||
09:45 25mTalk | Automatic GPU Memory Management for Large Neural Models in TensorFlow ISMM 2019 Tung D. Le IBM Research - Tokyo, Haruki Imai IBM Research - Tokyo, Yasushi Negishi IBM Research - Tokyo, Kiyokuni Kawachiya IBM Research - Tokyo | ||
10:10 25mTalk | Massively Parallel GPU Memory Compaction ISMM 2019 | ||
10:35 25mTalk | Scaling Up Parallel GC Work-Stealing in Many-Core Environments ISMM 2019 Michihiro Horie IBM Research - Tokyo, Kazunori Ogata IBM Research, Japan, Mikio Takeuchi IBM Research - Tokyo, Hiroshi Horii IBM Research, Japan |