OpenAFS for Windows Deep Dive: Reparse Points, Path Processing, and Implications for Namespace Design Jeffrey Altman Your File System Inc. 2014 European.

Slides:



Advertisements
Similar presentations
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc
Advertisements

Weed File System Simple and highly scalable distributed file system (NoFS)
Chapter 3 Process Description and Control
Kernel memory allocation
OpenAFS and Large Volumes Mark Vitale European AFS and Kerberos Conference 28 March 2014.
14 Macintosh OS X Internals. © 2005 Pearson Addison-Wesley. All rights reserved The Macintosh Platform 1984 – first affordable GUI Based on Motorola 32-bit.
HEP Data Sharing … … and Web Storage services Alberto Pace Information Technology Division.
OpenAFS for Windows Status Report AFS & Kerberos Best Practice Workshop 2010.
The Road to a Functional Design. The Team  Peter Scott  Principal Consultant and founding partner at Kernel Drivers, LLC  Microsoft MVP  Jeffrey Altman.
Andrew File System (AFS)
File Management Systems
File System Implementation
04/16/2010CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying an earlier edition.
Distributed File System: Design Comparisons II Pei Cao Cisco Systems, Inc.
Chapter 12 File Management Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
To provide the world with a next generation storage platform for unstructured data, enabling deployment of mobile applications, virtualization solutions,
 AFS name space managed as mini-file systems (aka Volumes)  AFS Mount Points are the equivalent of NTFS Junctions and DFS Referrals which are stored.
LIS508 lecture 5: storage devices Thomas Krichel
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 11 Case Study 2: Windows Vista Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
1 Chapter 12 File Management Systems. 2 Systems Architecture Chapter 12.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 10: File-System Interface.
CSC 322 Operating Systems Concepts Lecture - 4: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
OpenAFS on Windows: A Status Report Jeffrey Altman The OpenAFS Project 16 October 2012.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
Chapter 13 Users, Groups Profiles and Policies. Learning Objectives Understand Windows XP Professional user accounts Understand the different types of.
The Native AFS Client on Windows The Road to a Functional Design Jeffrey Altman, President Your File System Inc. 14 September 2010.
Chapter 10: File-System Interface Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 Chapter 10: File-System.
OpenAFS on Windows: A Status Report Jeffrey Altman The OpenAFS Project 26 March 2014.
OpenAFS for Windows Status Report AFS & Kerberos Best Practice Workshop 2008.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Chapter 5 File Management File System Implementation.
Enhanced Storage Architecture
Computer Systems Week 14: Memory Management Amanda Oddie.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
OpenAFS Status Report Cartel 2008 Stanford University.
Unix File Access Unix file access is accomplished via a series of tables Process file table System file table v-nodes (sometimes i-nodes)
NTFS 5.0 By Jeffrey Richter and Luis Felipe Cabrera From the Microsoft Systems Journal Presented by Stylianos Paparizos.
Linux File system Implementations
4P13 Week 12 Talking Points Device Drivers 1.Auto-configuration and initialization routines 2.Routines for servicing I/O requests (the top half)
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
Lecture 19 Linux/Unix – File System
4P13 Week 9 Talking Points
2010 Storage Developer Conference. Kernel Drivers, LLC. All Rights Reserved. Building Windows File Systems: A Look at the OpenAFS Client for Windows Peter.
Introduction to AFS IMSA Intersession 2003 An Overview of AFS Brian Sebby, IMSA ’96 Copyright 2003 by Brian Sebby, Copies of these slides.
Distributed File Systems Questions answered in this lecture: Why are distributed file systems useful? What is difficult about distributed file systems?
A+ Guide to Managing and Maintaining Your PC, 7e Chapter 2 Introducing Operating Systems.
A+ Guide to Managing and Maintaining Your PC, 7e
CENG334 Introduction to Operating Systems
Lecture 1-Part 2: Operating-System Structures
MODERN OPERATING SYSTEMS Third Edition ANDREW S
File System Implementation
Unit OS8: File System 8.6. Quiz
Chapter 4: Threads.
Chapter 12: File System Implementation
CSCI 315 Operating Systems Design
Chapter 9: Virtual-Memory Management
Chapter 2: System Structures
I/O Systems I/O Hardware Application I/O Interface
Overview Continuation from Monday (File system implementation)
Distributed File Systems
Distributed File Systems
Distributed File Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 15: File System Internals
Distributed File Systems
Distributed File Systems
Lecture Topics: 11/20 HW 7 What happens on a memory reference Traps
Presentation transcript:

OpenAFS for Windows Deep Dive: Reparse Points, Path Processing, and Implications for Namespace Design Jeffrey Altman Your File System Inc European AFS and Kerberos Conference

 The Shell caches for each directory object Attributes Volume Information  (AFS Volume ID = Device ID)  The Shell caches entries for directories without attributes or volume information  Shell believes that no Reparse Point has been crossed  Volume Info unknown so queries info for \\afs\cell\

If \\afs\cell\ refers to RO then attempt to write triggers READ ONLY VOLUME or 0 bytes free error If \\afs\cell refers to small RW volume, then insufficient space error is possible

 There are open cases with Microsoft’s dev team from multiple parties  Microsoft admits this is a bug  More reports are required to get the priority raised and a fix back-ported to at least Windows 7  All versions of Windows are affected

Address Bar Status Bar AFS Symlink Overlay Icon AFS Mount Point Overlay Icon

 The usr directory contains more than 38,000 symlink entries /afs/andrew/usr/tequila -> (symlink) /afs/andrew/usr11/tequila -> (mp) #user.tequila  Windows requires that all directory entries be presented with full status info  All symlinks must be evaluated at least until the mount point Nearly 85,000 stat objects required

38582 entries

 The default stats cache on Windows is 10,000 entries  85,000 entries produces large amounts of stat cache thrashing  This is exacerbated by the AFS Redirector design that requires whole directories including status to be present in kernel

 Current 1.7 behavior Construct full directory in kernel plus status info before returning from FindFirstFile Optimized to return full buffers to application Results in application blocking on slow links with large directories

 Proposed behavior Construct full directory listing in service in FindFirstFile Request entries plus status in FindNextFile Return as many entries as possible within 200ms Blocking  Waits for the directory enumeration in FindFirstFile  Waits for status info on first FindNextFile entry

 Explorer Shell remains responsive  File Count increases as entries are added  Shell Extensions are more likely to access objects while their status is in the AFSCache

AFS Symlinks are POSIX  Target type is not encoded in the target path  Relative or absolute paths  Forward slash separators MSFT Symlinks are not POSIX  Target type is encoded in the symlink object  Either a directory or a file with RP Data attached  Relative or absolute paths  Backslash separators

BEFOREAFTER  Callback Expiration processed in the service for the afs redirector  AFS redirector processes its own callback expiration Benefits: 1.File Status can be recycled in AFSCache without invalidating kernel data. 2.Fewer userland -> kernel IOCTL calls reduces CPU utilization.

BEFOREAFTER  All directories fully populated in kernel with complete status information  Sparse directory enumeration in kernel  Entries cached as needed Benefits: 1.Fewer directory entries allocated 1.Smaller kernel memory footprint 2.Less CPU spent on garbage collection 3.Fewer MPs and Symlinks evaluated 4.Fewer RPCs issued

10% to 15% reduction in wall clock time when building OpenAFS Windows in /afs over WAN. 30% reduction in AFS Service / kernel CPU time.

(unofficial) build on lanyard USB disks includes these changes. Permits comparison to Approximately 80 patches in Gerrit This is a major architecture design change  is very stable -> 1.8.0?  Merge these changes into new 1.9 series?  With or without UNIX?

Windows 8.1 Update 1 / Server 2012 R2 Update 1  No changes directly affecting file systems OpenAFS  No “Modern” file browser  No Windows Phone client  No Surface RT / Surface 2 support  No 3 rd party ARM drivers

Offline file support Thumbnails for unavailable files LiveID Authentication Integration at Explorer Shell and “Modern” UI layers  Not at the file system layer  Third party lockout Must write our own File Browser for “Modern”  Volunteers?

is the last build that I will test on XP Strong desire to stop supporting Server 2003 Vista / Server 2008 as minimum permits use of additional functionality