Hit or Miss ? !!!.  Small size.  Simple and fast.  Implementable with hardware.  Does not need too much power.  Does not predict miss if we have.

Slides:



Advertisements
Similar presentations
Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol Li Fan, Pei Cao and Jussara Almeida University of Wisconsin-Madison Andrei Broder Compaq/DEC.
Advertisements

Singly linked lists Doubly linked lists
Yannis Smaragdakis / 11-Jun-14 General Adaptive Replacement Policies Yannis Smaragdakis Georgia Tech.
SE-292 High Performance Computing Memory Hierarchy R. Govindarajan
Why Simple Hash Functions Work : Exploiting the Entropy in a Data Stream Michael Mitzenmacher Salil Vadhan.
Indian Statistical Institute Kolkata
CSC 4250 Computer Architectures December 8, 2006 Chapter 5. Memory Hierarchy.
SIGMOD 2006University of Alberta1 Approximately Detecting Duplicates for Streaming Data using Stable Bloom Filters Presented by Fan Deng Joint work with.
Hit or Miss ? !!!.  Cache RAM is high-speed memory (usually SRAM).  The Cache stores frequently requested data.  If the CPU needs data, it will check.
CSC1016 Coursework Clarification Derek Mortimer March 2010.
Bloom Filters Kira Radinsky Slides based on material from:
1 Virtual Memory in the Real World Implementing exact LRU Approximating LRU Hardware Support Clock Algorithm Thrashing Cause Working Set.
1 Hashing (Walls & Mirrors - end of Chapter 12). 2 I hate quotations. Tell me what you know. – Ralph Waldo Emerson.
Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol By Abuzafor Rasal and Vinoth Rayappan.
CS 333 Introduction to Operating Systems Class 12 - Virtual Memory (2) Jonathan Walpole Computer Science Portland State University.
Fast Statistical Spam Filter by Approximate Classifications Authors: Kang Li Zhenyu Zhong University of Georgia Reader: Deke Guo.
1 Virtual Memory in the Real World Implementing exact LRU Approximating LRU Hardware Support Clock Algorithm Thrashing Cause Working Set.
Beyond Bloom Filters: From Approximate Membership Checks to Approximate State Machines By F. Bonomi et al. Presented by Kenny Cheng, Tonny Mak Yui Kuen.
Hash Tables1 Part E Hash Tables  
Bloom filters Probability and Computing Randomized algorithms and probabilistic analysis P109~P111 Michael Mitzenmacher Eli Upfal.
Hash Tables1 Part E Hash Tables  
1 COMP 740: Computer Architecture and Implementation Montek Singh Thu, Feb 19, 2009 Topic: Instruction-Level Parallelism III (Dynamic Branch Prediction)
Overview: Memory Memory Organization: General Issues (Hardware) –Objectives in Memory Design –Memory Types –Memory Hierarchies Memory Management (Software.
1Bloom Filters Lookup questions: Does item “ x ” exist in a set or multiset? Data set may be very big or expensive to access. Filter lookup questions with.
Proteus: Power Proportional Memory Cache Cluster in Data Centers Shen Li, Shiguang Wang, Fan Yang, Shaohan Hu, Fatemeh Saremi, Tarek Abdelzaher.
Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University Note to other teachers and users of these.
1 The Mystery of Cooperative Web Caching 2 b b Web caching : is a process implemented by a caching proxy to improve the efficiency of the web. It reduces.
Reducing Cache Misses 5.1 Introduction 5.2 The ABCs of Caches 5.3 Reducing Cache Misses 5.4 Reducing Cache Miss Penalty 5.5 Reducing Hit Time 5.6 Main.
Predictor-Directed Stream Buffers Timothy Sherwood Suleyman Sair Brad Calder.
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Data Structures Hashing Uri Zwick January 2014.
CS2110 Recitation Week 8. Hashing Hashing: An implementation of a set. It provides O(1) expected time for set operations Set operations Make the set empty.
Cloud and Big Data Summer School, Stockholm, Aug., 2015 Jeffrey D. Ullman.
CS333 Intro to Operating Systems Jonathan Walpole.
Hash Tables Universal Families of Hash Functions Bloom Filters Wednesday, July 23 rd 1.
Author : Ozgun Erdogan and Pei Cao Publisher : IEEE Globecom 2005 (IJSN 2007) Presenter : Zong-Lin Sie Date : 2010/12/08 1.
Compact Data Structures and Applications Gil Einziger and Roy Friedman Technion, Haifa.
IT253: Computer Organization
How to Build a CPU Cache COMP25212 – Lecture 2. Learning Objectives To understand: –how cache is logically structured –how cache operates CPU reads CPU.
Software Integrity Monitoring Using Hardware Performance Counters Corey Malone.
Dr. Yingwu Zhu Summary Cache : A Scalable Wide- Area Web Cache Sharing Protocol.
Linked List. Background Arrays has certain disadvantages as data storage structures. ▫In an unordered array, searching is slow ▫In an ordered array, insertion.
Conjunctive Filter: Breaking the Entropy Barrier Daisuke Okanohara *1, *2 Yuichi Yoshida *1*3 *1 Preferred Infrastructure Inc. *2 Dept. of Computer Science,
On Adding Bloom Filters to Longest Prefix Matching Algorithms
Spatial Issues in DBGlobe Dieter Pfoser. Location Parameter in Services Entering the harbor (x,y position)… …triggers information request.
The Bloom Paradox Ori Rottenstreich Joint work with Yossi Kanizo and Isaac Keslassy Technion, Israel.
Efficient Peer-to-Peer Keyword Searching 1 Efficient Peer-to-Peer Keyword Searching Patrick Reynolds and Amin Vahdat presented by Volker Kudelko.
Precomputation- based Prefetching By James Schatz and Bashar Gharaibeh.
The Bloom Paradox Ori Rottenstreich Joint work with Isaac Keslassy Technion, Israel.
COMP SYSTEM ARCHITECTURE HOW TO BUILD A CACHE Antoniu Pop COMP25212 – Lecture 2Jan/Feb 2015.
1 Efficient System-on-Chip Energy Management with a Segmented Counting Bloom Filter Mrinmoy Ghosh- Georgia Tech Emre Özer- ARM Ltd Stuart Biles- ARM Ltd.
HARD: Hardware-Assisted lockset- based Race Detection P.Zhou, R.Teodorescu, Y.Zhou. HPCA’07 Shimin Chen LBA Reading Group Presentation.
Page 1 © Hortonworks Inc – All Rights Reserved Hive: Data Organization for Performance Gopal Vijayaraghavan.
Cuckoo Filter: Practically Better Than Bloom Author: Bin Fan, David G. Andersen, Michael Kaminsky, Michael D. Mitzenmacher Publisher: ACM CoNEXT 2014 Presenter:
Review William Cohen. Sessions Randomized algorithms – The “hash trick” – Bloom filters how would you use it? how and why does it work? – Count-min sketch.
Duplicate Detection in Click Streams(2005) SubtitleAhmed Metwally Divyakant Agrawal Amr El Abbadi Tian Wang.
Theory of Computational Complexity Yusuke FURUKAWA Iwama Ito lab M1.
Page Replacement FIFO, LIFO, LRU, NUR, Second chance
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
Author: Heeyeol Yu; Mahapatra, R.; Publisher: IEEE INFOCOM 2008
Updating SF-Tree Speaker: Ho Wai Shing.
Lower bounds for approximate membership dynamic data structures
The Variable-Increment Counting Bloom Filter
18742 Parallel Computer Architecture Caching in Multi-core Systems
Bloom filters Probability and Computing Michael Mitzenmacher Eli Upfal
Edge computing (1) Content Distribution Networks
Bloom Filters Very fast set membership. Is x in S? False Positive
CS5112: Algorithms and Data Structures for Applications
Bloom filters From Probability and Computing
Presentation transcript:

Hit or Miss ? !!!

 Small size.  Simple and fast.  Implementable with hardware.  Does not need too much power.  Does not predict miss if we have a hit.  Have a high hit rate especially on misses. Hit or Miss ? !!!

 Bloom filter: is a method representing a set of N elements ( a 1,…,a n ) to support membership queries.  The idea is to allocate a vector v of m bits, initially all set to 0.  Choose k independent hash functions, h 1,…, h k,each with range 1… m.  For each element a, the bits at positions h 1 ( a ),..., h k ( a ) in v are set to 1.

 Given a query for b we check the bits at positions h 1 ( b ), h 2 ( b ),..., h k ( b ).  If any of them is 0, then certainly b is not in the set A.  Otherwise we conjecture that b is in the set although there is a certain probability that we are wrong. This is called a “false positive”.  The parameters k and m should be chosen such that the probability of a false positive (and hence a false hit) is acceptable.

 We used a separate predictor for each set in the L2 cache. Set 0 Set 1 Set N Set 0 Set 1 Set N Set 0 Set 1 Set N Set 0 Set 1 Set N Array 0 Array 1 Array N

SSmall size. SSimple and fast. IImplementable with hardware. DDoes not need too much power. DDoes not predict miss if we have a hit.

 If A is a dynamic group, and in our case it is a dynamic one, it will be too hard to update the array when removing an element “e” from A, we can’t simply turn off Bloom[H(e)], to do so we must check that there is no element “e1” in A such that H(e)=H(e1). And this take a lot of time.   If we don’t update the array the hit rate will become low. 