Graybox NFS Caching Proxy By: Paul Cychosz and Garrett Kolpin.

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

Memory.
Operating Systems Lecture 10 Issues in Paging and Virtual Memory Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing.
Application-Controlled File Caching Policies Pei Cao, Edward W. Felten and Kai Li Presented By: Mazen Daaibes Gurpreet Mavi ECE 7995 Presentation.
Information and Control in Gray-Box Systems Arpaci-Dusseau and Arpaci-Dusseau SOSP 18, 2001 John Otto Wi06 CS 395/495 Autonomic Computing Systems.
The Zebra Striped Network Filesystem. Approach Increase throughput, reliability by striping file data across multiple servers Data from each client is.
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
ICDCS’07, Toronto, Canada1 SCAP: Smart Caching in Wireless Access Points to Improve P2P Streaming Enhua Tan 1, Lei Guo 1, Songqing Chen 2, Xiaodong Zhang.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Threads Section 2.2. Introduction to threads A thread (of execution) is a light-weight process –Threads reside within processes. –They share one address.
NFS Tricks and Benchmarking Traps Daniel Ellard and Margo Seltzer FREENIX June 12, 2003.
Large Scale Sharing GFS and PAST Mahesh Balakrishnan.
Internet Cache Pollution Attacks and Countermeasures Yan Gao, Leiwen Deng, Aleksandar Kuzmanovic, and Yan Chen Electrical Engineering and Computer Science.
Caching. Andrew Security Andrew Scale and Performance Sprite Performance.
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.
An Intelligent Cache System with Hardware Prefetching for High Performance Jung-Hoon Lee; Seh-woong Jeong; Shin-Dug Kim; Weems, C.C. IEEE Transactions.
Secure File Storage Nathanael Paul CRyptography Applications Bistro March 25, 2004.
File Systems (2). Readings r Silbershatz et al: 11.8.
CS 241 Section Week #12 (04/22/10).
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
DESIGN AND IMPLEMENTATION OF THE SUN NETWORK FILESYSTEM R. Sandberg, D. Goldberg S. Kleinman, D. Walsh, R. Lyon Sun Microsystems.
Lecture 23 The Andrew File System. NFS Architecture client File Server Local FS RPC.
Almaden Rice University Nache: Design and Implementation of a Caching Proxy for NFSv4 Ajay Gulati, Rice University Manoj Naik, IBM Almaden Renu Tewari,
Networked File System CS Introduction to Operating Systems.
1 Design and Performance of a Web Server Accelerator Eric Levy-Abegnoli, Arun Iyengar, Junehwa Song, and Daniel Dias INFOCOM ‘99.
CS 346 – Chapter 12 File systems –Structure –Information to maintain –How to access a file –Directory implementation –Disk allocation methods  efficient.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Distributed File Systems
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
July 30, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 8: Exploiting Memory Hierarchy: Virtual Memory * Jeremy R. Johnson Monday.
1 University of Maryland Linger-Longer: Fine-Grain Cycle Stealing in Networks of Workstations Kyung Dong Ryu © Copyright 2000, Kyung Dong Ryu, All Rights.
A Measurement Based Memory Performance Evaluation of High Throughput Servers Garba Isa Yau Department of Computer Engineering King Fahd University of Petroleum.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
8.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Paging Physical address space of a process can be noncontiguous Avoids.
Author : Guangdeng Liao, Heeyeol Yu, Laxmi Bhuyan Publisher : Publisher : DAC'10 Presenter : Jo-Ning Yu Date : 2010/10/06.
Exploiting Gray-Box Knowledge of Buffer Cache Management Nathan C. Burnett, John Bent, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau University of.
SPECULATIVE EXECUTION IN A DISTRIBUTED FILE SYSTEM E. B. Nightingale P. M. Chen J. Flint University of Michigan.
A Low-bandwidth Network File System Athicha Muthitacharoen et al. Presented by Matt Miller September 12, 2002.
1 Some Real Problem  What if a program needs more memory than the machine has? —even if individual programs fit in memory, how can we run multiple programs?
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 12: File System Implementation File System Structure File System Implementation.
Latency Reduction Techniques for Remote Memory Access in ANEMONE Mark Lewandowski Department of Computer Science Florida State University.
Exploiting Cache-Timing in AES: Attacks and Countermeasures Ivo Pooters March 17, 2008 Seminar Information Security Technology.
Improving Disk Throughput in Data-Intensive Servers Enrique V. Carrera and Ricardo Bianchini Department of Computer Science Rutgers University.
ENERGY-EFFICIENCY AND STORAGE FLEXIBILITY IN THE BLUE FILE SYSTEM E. B. Nightingale and J. Flinn University of Michigan.
A BRIEF INTRODUCTION TO CACHE LOCALITY YIN WEI DONG 14 SS.
Lecture 24 Sun’s Network File System. PA3 In clkinit.c.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J.
Lecture 25 The Andrew File System. NFS Architecture client File Server Local FS RPC.
8.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Fragmentation External Fragmentation – total memory space exists to satisfy.
Kernel Modules – Introduction CSC/ECE 573, Sections 001 Fall, 2012.
Chapter 9 Memory Organization. 9.1 Hierarchical Memory Systems Figure 9.1.
Taeho Kgil, Trevor Mudge Advanced Computer Architecture Laboratory The University of Michigan Ann Arbor, USA CASES’06.
Distributed Caching and Adaptive Search in Multilayer P2P Networks Chen Wang, Li Xiao, Yunhao Liu, Pei Zheng The 24th International Conference on Distributed.
Improving Cache Performance using Victim Tag Stores
File System Implementation
Some Real Problem What if a program needs more memory than the machine has? even if individual programs fit in memory, how can we run multiple programs?
Morgan Kaufmann Publishers
Page Replacement.
Distributed Systems CS
Andy Wang Operating Systems COP 4610 / CGS 5765
DESIGN AND IMPLEMENTATION OF THE SUN NETWORK FILESYSTEM
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Distributed Systems CS
CS703 - Advanced Operating Systems
COMP755 Advanced Operating Systems
Sarah Diesburg Operating Systems CS 3430
Sarah Diesburg Operating Systems COP 4610
Presentation transcript:

Graybox NFS Caching Proxy By: Paul Cychosz and Garrett Kolpin

First we need to know a little about how the “graybox” works. Inference by observation No server or client-side modifications necessary What are Graybox Techniques?

Figure out what the client is caching Maintain low overlap between client and proxy caches Our Problem

Treat the client as a graybox Monitor NFS traffic Infer from NFS traffic the contents of client cache Our Solution

Cache overlap decreased by 5% to 50% when using graybox techniques Conclusions

Approach Results Conclusions Outline

Approach NFS specifics:  Implemented in kernel as another FS type  Replaces “file_operations” with its own functions for read, write, open, etc.  Uses VFS abstraction VFS NFS kernel code RPC / XDR TCP / UDP retrans., data wrapping

Approach Client cache / Replacement Caches on page level Not much NFS specific code – Uses global Linux page cache Not a static size, no upper-bound Timestamps: “jiffies”, per page.

Approach Reads typically > ~85% of traffic NFS / RPC “read” structure RPC Packets sent out: access to dir, getattr to file, access to file, then read, read, read, … Client use of getattr to revalidate cached copies  Exploit this, proxy explicitly look for these to determine client cache contents

Approach Proxy Sees:  File handle  Offset  size --becomes our “cache element”  Store in hash table  Cache on reads, run our cache element replacement policy on getattr (proof of cached client copy)

Approach Read system call Cache lookup Revalidate data Read setup OR Replacement (possible force-out) Lookup Return dataAdd OR NFS ClientProxy hit miss hit miss getattr read Data Forward req. to server Typical read()

Disable swap space Use mincore() to view pages that client has cached Use “balloon” program to keep client cache contents manageable Viewing Client Cache Contents Test Environment:

Approach  Logistics: Initial setup, client/server/proxy all on same PC – doesn’t work  Client cache size changes -solved: compare percentages, normalize  Repeated RPC calls not idempotent Difficulties  Not a significant problem, proxy efficiency degrades linearly with NFS performance if network traffic is bad

Approach  Ambiguities:  Different FS activities DON’T generate unique RPC patterns  getattr used for a few things besides reads -- Null RPC packets Cannot tell exact blocks client caching, only which files Need second, local replacement policy on proxy! Difficulties

Approach Global Policies LRU MRU Local Policies Forcing entire file MRU Cache Replacement

Approach Results Conclusions Outline

Control Experiments –Global LRU, no local force-out –Global MRU, no local force-out Combinations –Global LRU, whole file force-out –Global LRU, block-level local MRU –Global MRU, whole file force-out –Global MRU, block-level local MRU What We Tested

Used Postmark benchmark 12 files with sizes randomly selected between 4 and 50 kilobytes Gives us more of a “real-world” workload How We Tested

Results

Approach Results Conclusions Outline

Decrease in overlap by between 5 and 50 percent as compared to control tests MRU global file replacement is good by itself MRU global policy with whole-file local policy gives highest cache fill and lowest overlap Conclusions

Questions? Feedback? ? ? ?