130 likes | 259 Views
An Analysis of Memory Access in Relation to Operations on Data Structures. An Analysis of Memory Access in Relation to Operations on Data Structures. Ryan Connaughton & Daniel Rinzler CSE 60641 December 13, 2006. Memory latency is a consistent bottleneck
E N D
An Analysis of Memory Access in Relation to Operations on Data Structures An Analysis of Memory Access in Relation to Operations on Data Structures Ryan Connaughton & Daniel RinzlerCSE 60641December 13, 2006
Memory latency is a consistent bottleneck Paging algorithms aim to minimize page faults Generality vs Optimization Suggestion: Optimize paging algorithms at runtime for specific scenarios The Problem
Determine if potentially exploitable relationships between data structure usage and memory access locality exist Three Phases: 1 - Determine virtual memory behavior for benchmarks 2 - Verify that same behavior exists in physical memory 3 - Evaluate potential for optimizations Our Experiment
Goal: To determine memory access behavior for an array Valgrind – Linux program debugger & profiler Scripts to filter for array accesses Phase 1: Virtual Memory Logging
Goal: To verify that the access behavior from Phase 1 is consistent in physical memory Bochs Virtual Machine Modified to log physical memory access Phase 2: Physical Memory Logging
Three benchmarks used to test arrays: 1 - Sequential Access 2 - Bubblesort 3 - Heapsort Executed using Valgrind & Bochs logging, then Analyzed Phase 3: Evaluation
Paging algorithms sacrifice optimization for generality Distinguishable access patterns exist in certain situations Conveying this information to the system could allow for optimizations Conclusions