An Analysis of Memory Access in Relation to Operations on Data Structures Ryan Connaughton & Daniel Rinzler CSE 60641 December 13, 2006 An Analysis of.

Slides:



Advertisements
Similar presentations
An Implementation of Mostly- Copying GC on Ruby VM Tomoharu Ugawa The University of Electro-Communications, Japan.
Advertisements

Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Web Mining.
Chapter 11 – Virtual Memory Management
External Sorting The slides for this text are organized into chapters. This lecture covers Chapter 11. Chapter 1: Introduction to Database Systems Chapter.
Towards Elastic Operating Systems Amit Gupta Ehab Ababneh Richard Han Eric Keller University of Colorado, Boulder.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 External Sorting Chapter 11.
Extensible Networking Platform 1 Liquid Architecture Cycle Accurate Performance Measurement Richard Hough Phillip Jones, Scott Friedman, Roger Chamberlain,
1 External Sorting Chapter Why Sort?  A classic problem in computer science!  Data requested in sorted order  e.g., find students in increasing.
Day 23 Virtual Memory. Operating system’s role in VM Hardware-support Use VM or not Use paging or segmentation or both Software domain Algorithms for.
CSE451 Section 7: Virtual memory. Table of content Real address space Process creation optimization Debugging: watch point.
Exploring Latency Constraints of Co-Processing Boards Grant Jenks UCLA.
Chapter 11 – Virtual Memory Management Outline 11.1 Introduction 11.2Locality 11.3Demand Paging 11.4Anticipatory Paging 11.5Page Replacement 11.6Page Replacement.
1 External Sorting Chapter Why Sort?  A classic problem in computer science!  Data requested in sorted order  e.g., find students in increasing.
1 Usual stuff Project 2 back today Average: 66.8/80 Today: Project 3 A few project 2 comments.
Resource Fabrics: The Next Level of Grids and Clouds Lei Shi.
QTIP Version 0.2 4th August 2015.
1 ProActive performance evaluation with NAS benchmarks and optimization of OO SPMD Brian AmedroVladimir Bodnartchouk.
Windows Debugging Demystified
1 Performance Analysis with Vampir DKRZ Tutorial – 7 August, Hamburg Matthias Weber, Frank Winkler, Andreas Knüpfer ZIH, Technische Universität.
Predictive Runtime Code Scheduling for Heterogeneous Architectures 1.
Bottlenecks: Automated Design Configuration Evaluation and Tune.
Allen Michalski CSE Department – Reconfigurable Computing Lab University of South Carolina Microprocessors with FPGAs: Implementation and Workload Partitioning.
Parallelizing Security Checks on Commodity Hardware E.B. Nightingale, D. Peek, P.M. Chen and J. Flinn U Michigan.
The HipHop Compiler from Facebook By Megha Gupta & Nikhil Kapoor.
Dynamic Resource Monitoring and Allocation in a virtualized environment.
Sorting.
Replay Compilation: Improving Debuggability of a Just-in Time Complier Presenter: Jun Tao.
Jess: A Rule-Based Programming Environment Reporter: Yu Lun Kuo Date: April 10, 2006 Expert System.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
Resource Predictors in HEP Applications John Huth, Harvard Sebastian Grinstein, Harvard Peter Hurst, Harvard Jennifer M. Schopf, ANL/NeSC.
Virtual Memory. Background Virtual memory is a technique that allows execution of processes that may not be completely in the physical memory. Virtual.
Understanding the Behavior of Java Programs Tarja Systa Software Systems Lab. Tampere Univ. Sookmyung Women’s Univ. PSLAB Choi, yoon jeong.
Exploiting Group Recommendation Functions for Flexible Preferences.
Kristopher Blair Jason Duo Li Daniel Moberly Michael Sedillo Profiling performance of a Web Proxy on a multi-core platform.
Project Presentation By: Dean Morrison 12/6/2006 Dynamically Adaptive Prepaging for Effective Virtual Memory Management.
Search Engine using Web Mining COMS E Web Enhanced Information Mgmt Prof. Gail Kaiser Presented By: Rupal Shah (UNI: rrs2146)
Sorting 1. Insertion Sort
Circuit Placement w/ Multi-core Processors May Mike Drob Grant Furgiuele Ben Winters Advisor: Dr. Chris Chu Client: IBM Design Presentation.
Storage Systems CSE 598d, Spring 2007 OS Support for DB Management DB File System April 3, 2007 Mark Johnson.
Sunpyo Hong, Hyesoon Kim
QEMU, a Fast and Portable Dynamic Translator Fabrice Bellard (affiliation?) CMSC 691 talk by Charles Nicholas.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 External Sorting Chapter 11.
External Sorting. Why Sort? A classic problem in computer science! Data requested in sorted order –e.g., find students in increasing gpa order Sorting.
Thesis Proposal Template Recognition of Bytecodes and Execution using Hardware Architecture. (Vectorization of Java) by Ian Reddy.
Theme Guidance - Network Traffic Proposed NMLRG IETF 95, April 2016 Sheng Jiang (Speaker, Co-chair) Page 1/6.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java Author: Fridtjof Siebert, CASES 2000 Michael Sallas Object-Oriented Languages.
Profiling: What is it? Notes and reflections on profiling and how it could be used in process mining.
Breakout Session 3 Alex, Mirco, Vojtech, Juraj, Christoph
Day 22 Virtual Memory.
Kristopher Blair Jason Duo Li Daniel Moberly Michael Sedillo
Jiang Zhou, Wei Xie, Dong Dai, and Yong Chen
GSP 215 RANK Perfect Education/ gsp215rank.com.
A Cloud System for Machine Learning Exploiting a Parallel Array DBMS
Background Energy efficiency is a critical issue for mobile device.
COS 518: Advanced Computer Systems Lecture 11 Daniel Suo
External Sorting The slides for this text are organized into chapters. This lecture covers Chapter 11. Chapter 1: Introduction to Database Systems Chapter.
Dynamic Program Analysis
External Sorting.
Exercise (10).
Ho-Ramamoorthy 2-Phase Deadlock Detection Algorithm
Module IV Memory Organization.
Implementation of a De-blocking Filter and Optimization in PLX
Interpreting Java Program Runtimes
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Clock Algorithm Example
GSP 215 RANK best future education / gsp215rank.com.
Presentation transcript:

An Analysis of Memory Access in Relation to Operations on Data Structures Ryan Connaughton & Daniel Rinzler CSE December 13, 2006 An Analysis of Memory Access in Relation to Operations on Data Structures

● 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

Results: Sequential Access... Valgrind

Results: Sequential Access... Bochs

Results: Bubblesort... Valgrind

Results: Bubblesort... Bochs

Results: Heapsort... Valgrind

Results: Heapsort... Bochs

● Paging algorithms sacrifice optimization for generality ● Distinguishable access patterns exist in certain situations ● Conveying this information to the system could allow for optimizations Conclusions