Download presentation
Presentation is loading. Please wait.
Published byAllison Young Modified over 9 years ago
1
An Analysis of Memory Access in Relation to Operations on Data Structures Ryan Connaughton & Daniel Rinzler CSE 60641 December 13, 2006 An Analysis of Memory Access in Relation to Operations on Data Structures
2
● 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
3
● 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
4
● 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
5
● 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
6
● Three benchmarks used to test arrays: 1 - Sequential Access 2 - Bubblesort 3 - Heapsort ● Executed using Valgrind & Bochs logging, then Analyzed Phase 3: Evaluation
7
Results: Sequential Access... Valgrind
8
Results: Sequential Access... Bochs
9
Results: Bubblesort... Valgrind
10
Results: Bubblesort... Bochs
11
Results: Heapsort... Valgrind
12
Results: Heapsort... Bochs
13
● Paging algorithms sacrifice optimization for generality ● Distinguishable access patterns exist in certain situations ● Conveying this information to the system could allow for optimizations Conclusions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.