Using Multiple Predictors to Improve the Accuracy of File Access Predictions Gary A. S. Whittle, U of Houston Jehan-François Pâris, U of Houston Ahmed.

Slides:



Advertisements
Similar presentations
Background Virtual memory – separation of user logical memory from physical memory. Only part of the program needs to be in memory for execution. Logical.
Advertisements

A Survey of Web Cache Replacement Strategies Stefan Podlipnig, Laszlo Boszormenyl University Klagenfurt ACM Computing Surveys, December 2003 Presenter:
Branch prediction Titov Alexander MDSP November, 2009.
1 Optimizing compilers Managing Cache Bercovici Sivan.
ARC: A SELF-TUNING, LOW OVERHEAD REPLACEMENT CACHE
Part II – TIME SERIES ANALYSIS C3 Exponential Smoothing Methods © Angel A. Juan & Carles Serrat - UPC 2007/2008.
1 A Hybrid Adaptive Feedback Based Prefetcher Santhosh Verma, David Koppelman and Lu Peng Louisiana State University.
1 Improving Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers By Sreemukha Kandlakunta Phani Shashank.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
an incremental version of A*
Computer Organization and Architecture
MASSIVE ARRAYS OF IDLE DISKS FOR STORAGE ARCHIVES D. Colarelli D. Grunwald U. Colorado, Boulder.
Chapter 8. Pipelining. Instruction Hazards Overview Whenever the stream of instructions supplied by the instruction fetch unit is interrupted, the pipeline.
Segmentation (2): edge detection
Online Performance Auditing Using Hot Optimizations Without Getting Burned Jeremy Lau (UCSD, IBM) Matthew Arnold (IBM) Michael Hind (IBM) Brad Calder (UCSD)
Multiple Criteria for Evaluating Land Cover Classification Algorithms Summary of a paper by R.S. DeFries and Jonathan Cheung-Wai Chan April, 2000 Remote.
Optimatization of a New Score Function for the Detection of Remote Homologs Kann et al.
Perceptron-based Global Confidence Estimation for Value Prediction Master’s Thesis Michael Black June 26, 2003.
1 Lecture 7: Out-of-Order Processors Today: out-of-order pipeline, memory disambiguation, basic branch prediction (Sections 3.4, 3.5, 3.7)
Lecture 17 I/O Optimization. Disk Organization Tracks: concentric rings around disk surface Sectors: arc of track, minimum unit of transfer Cylinder:
Locality Optimizations in OceanStore Patrick R. Eaton Dennis Geels An introduction to introspective techniques for exploiting locality in wide area storage.
Csci4203/ece43631 Review Quiz. 1)It is less expensive 2)It is usually faster 3)Its average CPI is smaller 4)It allows a faster clock rate 5)It has a simpler.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
COMP381 by M. Hamdi 1 (Recap) Control Hazards. COMP381 by M. Hamdi 2 Control (Branch) Hazard A: beqz r2, label B: label: P: Problem: The outcome.
Adaptive Cache Compression for High-Performance Processors Alaa R. Alameldeen and David A.Wood Computer Sciences Department, University of Wisconsin- Madison.
15-1 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall Forecasting Chapter 15.
An Intelligent Cache System with Hardware Prefetching for High Performance Jung-Hoon Lee; Seh-woong Jeong; Shin-Dug Kim; Weems, C.C. IEEE Transactions.
University of California San Diego Locality Phase Prediction Xipeng Shen, Yutao Zhong, Chen Ding Computer Science Department, University of Rochester Class.
4/29/09Prof. Hilfinger CS164 Lecture 381 Register Allocation Lecture 28 (from notes by G. Necula and R. Bodik)
Dyer Rolan, Basilio B. Fraguela, and Ramon Doallo Proceedings of the International Symposium on Microarchitecture (MICRO’09) Dec /7/14.
THE DESIGN AND IMPLEMENTATION OF A LOG-STRUCTURED FILE SYSTEM M. Rosenblum and J. K. Ousterhout University of California, Berkeley.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
By Ravi Shankar Dubasi Sivani Kavuri A Popularity-Based Prediction Model for Web Prefetching.
Revisiting Load Value Speculation:
Introduction to Management Science
Analysis of Branch Predictors
« Performance of Compressed Inverted List Caching in Search Engines » Proceedings of the International World Wide Web Conference Commitee, Beijing 2008)
Operating Systems Lecture 02: Computer System Overview Anda Iamnitchi
THE DESIGN AND IMPLEMENTATION OF A LOG-STRUCTURED FILE SYSTEM M. Rosenblum and J. K. Ousterhout University of California, Berkeley.
A STUDY OF BRANCH PREDICTION STRATEGIES JAMES E.SMITH Presented By: Prasanth Kanakadandi.
A Dynamic Data Grid Replication Strategy to Minimize the Data Missed Ming Lei, Susan Vrbsky, Xiaoyan Hong University of Alabama.
TinyLFU: A Highly Efficient Cache Admission Policy
Operations Research II Course,, September Part 6: Forecasting Operations Research II Dr. Aref Rashad.
Chapter 21 Virtual Memoey: Policies Chien-Chung Shen CIS, UD
Implicitly-Multithreaded Processors Il Park and Babak Falsafi and T. N. Vijaykumar Presented by: Ashay Rane Published in: SIGARCH Computer Architecture.
SW388R6 Data Analysis and Computers I Slide 1 Multiple Regression Key Points about Multiple Regression Sample Homework Problem Solving the Problem with.
15-1 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall Forecasting Chapter 15.
CPSC 404, Laks V.S. Lakshmanan1 External Sorting Chapter 13: Ramakrishnan & Gherke and Chapter 2.3: Garcia-Molina et al.
Tivoli Software © 2010 IBM Corporation 1 Using Machine Learning Techniques to Enhance The Performance of an Automatic Backup and Recovery System Amir Ronen,
Buffer-pool aware Query Optimization Ravishankar Ramamurthy David DeWitt University of Wisconsin, Madison.
Pipelining and Parallelism Mark Staveley
Project Presentation By: Dean Morrison 12/6/2006 Dynamically Adaptive Prepaging for Effective Virtual Memory Management.
A BRIEF INTRODUCTION TO CACHE LOCALITY YIN WEI DONG 14 SS.
An Overview of Proxy Caching Algorithms Haifeng Wang.
Energy Efficient Prefetching and Caching Athanasios E. Papathanasiou and Michael L. Scott. University of Rochester Proceedings of 2004 USENIX Annual Technical.
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
CS-ROSETTA Yang Shen et al. Presented by Jonathan Jou.
Prophet/Critic Hybrid Branch Prediction B B B
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
Instruction Prefetching Smruti R. Sarangi. Contents  Motivation for Prefetching  Simple Schemes  Recent Work  Proactive Instruction Fetching  Return.
Virtual Memory.
Computer Architecture Chapter (14): Processor Structure and Function
Improving Memory Access 1/3 The Cache and Virtual Memory
Cache Memory Presentation I
The Von Neumann Model Basic components Instruction processing
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler
Speculative execution and storage
Virtual Memory: Working Sets
Phase based adaptive Branch predictor: Seeing the forest for the trees
Presentation transcript:

Using Multiple Predictors to Improve the Accuracy of File Access Predictions Gary A. S. Whittle, U of Houston Jehan-François Pâris, U of Houston Ahmed Amer, U of Pittsburgh Darrell D. E. Long, UC Santa Cruz Randal Burns, Johns Hopkins U

THE PROBLEM Disk drive capacities double every year Better than the 60% per year growth rate of semiconductor memories Access times have decreased by a factor of 3 over the last 25 years Cannot keep up with increased I/O traffic resulting from faster CPUs Problem is likely to become worse

Possible Solutions (I) “Gap filling” technologies Bubble memories (70’s) Micro electro-mechanical systems (MEMS) These devices must be at the same time Much faster than disk drives Much cheaper than main memory Hard to predict which technology will win

Possible Solutions (II) Software Solutions Aim at masking disk access delays Long successful history Two main techniques Caching Prefetching

Caching Keeps in memory recently accessed data Used by nearly all systems Scale boosted by availability of cheaper RAM Should cache entire small files Small penalty for keeping in a cache data that will not be reused Only reduces cache effectiveness

Prefetching Anticipates user needs by loading into cache data before they are needed Made more attractive by availability of cheaper RAM Hefty penalty for bringing into main memory data that will not be used Results in additional I/O traffic Most systems err on the side of caution

OUR APPROACH We want to improve the performance of prefetching by improving the accuracy of our file access predictions We need better file access predictors These better predictors could be used To reduce the number of incorrect prefetches To group together on disk data that are needed at the same time

Our Criteria A good file predictor should Have reasonable space and time requirements Cannot keep a long file access history Make as many successful predictions as possible Make as few bad predictions as feasible

PREVIOUS WORK Two major approaches: Complex predictors Very simple predictors

Complex Predictors Collect data from a long file access history and store them in a compressed form Fido (Palmer et al., 1991) Graph-based relationships (Griffioen and Appleton, 1994) Detecting file access patterns (Tait et al., 1991 and Lei and Duchamp, 1997) Context modeling and data compression (Kroeger and Long, 2001)

Simple Predictors Last Successor: If file B was preceded by file A the last time B was accessed, predict that B will will be the successor of A ( Lei and Duchamp, 1997) Stable Successor (Amer and Long, 2001) Recent Popularity (Amer et al., 2002)

Stable Successor (Noah) Maintains a current prediction for the successor of every file Changes current prediction to last successor if last successor was repeated for S subsequent accesse s S (stability) is a parameter, default = 1 NOAH File (i+1) ?File (i) File (i+1)

Example Assume sequence of file accesses A B C E A B A F D A G A G A ? and S = 1 Stable successor will predict B as the successor of A and not update this prediction until it has observed two consecutive instances of G following A

Recent Popularity Also known as Best j-out-of-k Maintains a list of the k most recently observed successors of each file Searches for the most popular successor from the list Predict that file if it occurred at least j times in the list Uses recency to break possible ties

OUR PREDICTOR Combines several simple heuristics Can include specialized heuristics that Can make very accurate predictions But only in some specific case More accurate predictions No significant additional overhead All our predictors base their prediction on the same data

Performance Criteria (I) Two traditional metrics success-per-reference success-per-prediction Neither of them is satisfactory success-per-reference favors heuristics that always make a prediction success-per-prediction favors heuristics that are exceedingly cautious

Performance Criteria (II) Our new performance criterion: effective-miss-ratio where 0   1  is a coefficient representing the cost of an incorrect prediction

Performance Criteria (III)  means that we can always preempt the fetch of a file that was incorrectly predicted  means that we can never do that

Experimental Setup We selected four basic heuristics and simulated their application to two sets of traces Four traces collected at CMU: mozart, ives, dvorak and barber Three traces collected at UC Berkeley: instruct, research and web

The Four Base Heuristics Most Recent Consecutive Successor Predecessor Position Pre-Predecessor Position j-out-of-k Ratio for Most Frequent Successor

Most Recent Consecutive Successor If we encounter the file reference sequence A B C B C B C B ? we predict C Success-per-prediction increases linearly as the number of consecutive successors increases from one through three More than six most recent consecutive successors are a strong indicator that this successor will be referenced next

Predecessor Position If the file reference sequence ABC occurred in the recent past, we predict C whenever the sequence AB is present Can yield prediction accuracies between 55 and 90 percent

Pre-Predecessor Position Extension of previous heuristics If the file reference sequence ABCD occurred in the recent past, we predict D when the sequence ABC reappears Can yield prediction accuracies between 65 percent and 95 percent.

j-out-of-k Ratio for Most Frequent Successor Similar to Recent Popularity Mostly used when none of the previous predictors works

Combining the Four Heuristics Assign empirical weights to the four heuristics Weights are fairly independent of specific access patterns Can use the Berkeley trace to compute weights and use any of the CMU traces in our simulation and vice versa Empirical weights are used to select the most trustworthy prediction

Avoiding False Predictions (I) Our composite predictor includes a probability threshold whose purpose is to reduce the number of bad predictions Only used when  > 0 Threshold increases with value of  and reaches  0.5 when 

Avoiding False Predictions (II) We added to our predictor a confidence measure 0.0 to 1.0 saturating counter Maintained for each file Initialized to 0.5 Incremented by 0.1 after a successful prediction Decremented by 0.05 after an incorrect prediction.

Avoiding False Predictions (III) We decline to make a prediction whenever confidence measure < threshold

Cost Reduction We compared using A successor history length of 9 file identifiers A successor history length of 20 file identifiers Effective-miss-ratios were within 1% of each other Can safely reduce length of successor history to 9 file identifiers per file

EXPERIMENTAL RESULTS Our composite predictor used All four heuristics Mean heuristic weights A successor history length of 9 file identifiers A confidence measure Results for the First-Successor predictor were not included Much worse than all other predictors

Comparing the Heuristics (I)

Comparing the Heuristics (II)

Overall Performance (I)

Overall Performance (II)

CONCLUSIONS Our composite predictor provides lower effective miss ratios than other simple predictors More work is needed Find better ways to evaluate the predictions of the four heuristics Eliminate redundant heuristics: Predecessor Position is a good candidate