Understanding Object-Level Memory Access Patterns Across
the Spectrum
SessionHierarchical Memory Usage
Authors
Event Type
Paper
Applications
Performance
TimeWednesday, November 15th10:30am -
11am
Location301-302-303
DescriptionMemory accesses limit the performance and scalability
of countless applications. Many design and optimization
efforts would benefit from an in-depth understanding of
memory access behavior, which existing access tracing
and profiling methods do not offer.
In this paper, we adopt a holistic memory access profiling approach to enable a better understanding of program-system memory interactions. We developed a two-pass tool adopting fast online and slow offline profiling, with which we profiled at the variable/object level a collection of 38 representative applications spanning major domains (HPC, personal computing, data analytics, AI, graph processing, and datacenter workloads), at varying problem sizes. We performed detailed result analysis and code examination. Our findings provide new insights into application memory behavior, including insights on per-object access patterns, adoption of data structures, and memory-access changes at different problem-sizes. We find that scientific computation applications exhibit distinct behaviors compared to datacenter workloads, motivating separate memory system design/optimizations.
In this paper, we adopt a holistic memory access profiling approach to enable a better understanding of program-system memory interactions. We developed a two-pass tool adopting fast online and slow offline profiling, with which we profiled at the variable/object level a collection of 38 representative applications spanning major domains (HPC, personal computing, data analytics, AI, graph processing, and datacenter workloads), at varying problem sizes. We performed detailed result analysis and code examination. Our findings provide new insights into application memory behavior, including insights on per-object access patterns, adoption of data structures, and memory-access changes at different problem-sizes. We find that scientific computation applications exhibit distinct behaviors compared to datacenter workloads, motivating separate memory system design/optimizations.
Download PDF:
here
Authors




