Bit Contiguous Memory Allocation for Processing In Memory
Author/Presenter
Event Type
Workshop
Compiler Analysis and Optimization
NVRAM
Parallel Programming Languages, Libraries, Models
and Notations
Performance
SIGHPC Workshop
TimeSunday, November 12th11:10am -
11:35am
Location702
DescriptionGiven the recent resurgence of research into processing
in or near memory systems, we find an ever increasing
need to augment traditional system software tools in
order to make efficient use of the PIM hardware
abstractions. One such architecture, the Micron
In-Memory Intelligence (IMI) DRAM, provides a unique
processing capability within the sense amp stride of a
traditional 2D DRAM architecture. This accumulator
processing circuit has the ability to compute both
horizontally and vertically on pitch within the array.
This unique processing capability requires a memory
allocator that provides physical bit locality in order
to ensure numerical consistency.
In this work we introduce a new memory allocation methodology that provides bit contiguous allocation mechanisms for horizontal and vertical memory allocations for the Micron IMI DRAM device architecture. Our methodology drastically reduces the complexity by which to find new, unallocated memory blocks by combining a sparse matrix representation of the array with dense continuity vectors that represent the relative probability of finding candidate free blocks. We demonstrate our methodology using a set of pathological and standard benchmark applications in both horizontal and vertical memory modes.
In this work we introduce a new memory allocation methodology that provides bit contiguous allocation mechanisms for horizontal and vertical memory allocations for the Micron IMI DRAM device architecture. Our methodology drastically reduces the complexity by which to find new, unallocated memory blocks by combining a sparse matrix representation of the array with dense continuity vectors that represent the relative probability of finding candidate free blocks. We demonstrate our methodology using a set of pathological and standard benchmark applications in both horizontal and vertical memory modes.
Author/Presenter




