Xrootd Andrew Hanushevsky Stanford Linear Accelerator Center 30-May-03.

Slides:



Advertisements
Similar presentations
Andrew Hanushevsky7-Feb Andrew Hanushevsky Stanford Linear Accelerator Center Produced under contract DE-AC03-76SF00515 between Stanford University.
Advertisements

Distributed Processing, Client/Server and Clusters
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Silberschatz and Galvin  Operating System Concepts Module 16: Distributed-System Structures Network-Operating Systems Distributed-Operating.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Distributed components
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Technical Architectures
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Figure 1.1 Interaction between applications and the operating system.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
PRASHANTHI NARAYAN NETTEM.
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
NETWORK FILE SYSTEM (NFS) By Ameeta.Jakate. NFS NFS was introduced in 1985 as a means of providing transparent access to remote file systems. NFS Architecture.
I/O Systems ◦ Operating Systems ◦ CS550. Note:  Based on Operating Systems Concepts by Silberschatz, Galvin, and Gagne  Strongly recommended to read.
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
Experiences Deploying Xrootd at RAL Chris Brew (RAL)
Xrootd Authentication & Authorization Andrew Hanushevsky Stanford Linear Accelerator Center 6-June-06.
File System Access (XRootd) Andrew Hanushevsky Stanford Linear Accelerator Center 13-Jan-03.
The Next Generation Root File Server Andrew Hanushevsky Stanford Linear Accelerator Center 27-September-2004
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
CHEN Ge CSIS, HKU March 9, Jigsaw W3C’s Java Web Server.
 Protocols used by network systems are not effective to distributed system  Special requirements are needed here.  They are in cases of: Transparency.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Can we use the XROOTD infrastructure in the PROOF context ? The need and functionality of a PROOF Master coordinator has been discussed during the meeting.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
D C a c h e Michael Ernst Patrick Fuhrmann Tigran Mkrtchyan d C a c h e M. Ernst, P. Fuhrmann, T. Mkrtchyan Chep 2003 Chep2003 UCSD, California.
Introduction to dCache Zhenping (Jane) Liu ATLAS Computing Facility, Physics Department Brookhaven National Lab 09/12 – 09/13, 2005 USATLAS Tier-1 & Tier-2.
Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.
LCG Phase 2 Planning Meeting - Friday July 30th, 2004 Jean-Yves Nief CC-IN2P3, Lyon An example of a data access model in a Tier 1.
The Alternative Larry Moore. 5 Nodes and Variant Input File Sizes Hadoop Alternative.
Xrootd Update Andrew Hanushevsky Stanford Linear Accelerator Center 15-Feb-05
ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-2: File System Implementation Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
The Performance of μ-Kernel-Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presenter: Sunita Marathe.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
The Mach System Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presented by: Jee Vang.
VMware vSphere Configuration and Management v6
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
1 MSRBot Web Crawler Dennis Fetterly Microsoft Research Silicon Valley Lab © Microsoft Corporation.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Full and Para Virtualization
Distributed File Systems 11.2Process SaiRaj Bharath Yalamanchili.
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
Xrootd Proxy Service Andrew Hanushevsky Heinz Stockinger Stanford Linear Accelerator Center SAG September-04
1 Andrew Hanushevsky - CHEP, February 7-11, 2000 Practical Security In Large Scale Distributed Object Oriented Databases
Andrew McNab - HTTP/HTTPS extensions HTTP/HTTPS as Grid data transport 6 March 2003 Andrew McNab, University of Manchester
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
1 Xrootd-SRM Andy Hanushevsky, SLAC Alex Romosan, LBNL August, 2006.
FTOP: A library for fault tolerance in a cluster R. Badrinath Rakesh Gupta Nisheeth Shrivastava.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
CASTOR: possible evolution into the LHC era
Operating System Structure
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Presentation transcript:

xrootd Andrew Hanushevsky Stanford Linear Accelerator Center 30-May-03

May 30, 20032: xrootd Goals High Performance File-Based Access Scalable, extensible, usable Fault tolerance Server failures handled in a natural way Servers may be dynamically added and removed Flexible Security Allowing use of almost any protocol Rootd Compatibility

May 30, 20033: xrootd Achieving High Performance Scalable request/response protocol Multi-threaded multi-process architecture Architecture sensitive polling MRU scheduling Sticky sockets Adaptive reconfiguration Versatile sfs layer (based on proven oofs)

May 30, 20034: xrootd Scalable Protocol I Connection multiplexing One connection per client/host Multiple logically independent streams Request redirection supported Similar to http redirection Supports dynamic load balancing and fail-over Uses an intentional request header Can better optimize request processing

May 30, 20035: xrootd Scalable Protocol II Asynchronous mode allowed Multiple processing-order-independent requests Optional application-directed pre-read I/O segmenting Able to naturally deal with very large transfers Better use of server resources Request deferral Client waits for resources without using server resources

May 30, 20036: xrootd Scalable Protocol III Unsolicited Reverse Request Mode Allows server to manage client for recovery Asynchronous redirect, deferral, and messages Protocol may be compatibly extended Mechanism to send opaque information Accommodate things that were “forgotten” Messaging interface Cache group Request priority And so on….

May 30, 20037: xrootd MT/MP Architecture Normally one multi-threaded server per host Should be able to utilize available resources Easy to administer Optionally, multiple servers per host Fully utilize large machines

May 30, 20038: xrootd Architecture Sensitive Polling All POSIX systems support poll() Used by default Not always an efficient I/O “interrupt” mechanism Alternate polling mechanisms allowed /dev/poll Available on Solaris and patched RH Linux Up to an order of magnitude reduction in CPU Essential to reduce latency

May 30, 20039: xrootd MRU Scheduling mr u Connections processed in most recently used order Gives priority to active connections Reduces polling overhead Essentially a fair scheduling algorithm Starvation cannot occur Longer running tasks tend to get started first Assuming all other things being equal

May 30, : xrootd Sticky Sockets Connection temporarily binds to a thread Avoids polling and scheduling overhead Significantly reduces latency Connection automatically unbinds Client is not sufficiently active Number of other requests approaches available threads

May 30, : xrootd Adaptive Reconfiguration Server dynamically adjusts configuration Number of threads Kept proportionate to number of active requests Pre-allocated buffers Sizes track actual usage profile Recomputed periodically Pre-allocated objects Number tracks recent needs High latency connections rescheduled

May 30, : xrootd Versatile sfs Layer I Integrates multiple performance features Dynamic load balancing Client redirected to “best” server of the moment File descriptor partitioning Reduces socket polling overhead File system interface reuse Prevents open file proliferation and attendant overhead Same file opened in same mode shared by multiple clients File system interface timeout Reduces overhead caused by idle opened files

May 30, : xrootd Dynamic Load Balancing Dynamic Selection

May 30, : xrootd DLB Implementation xrootd dlbd xrootd dlbd xrootd dlbd xrootd dlbd Client subscribe (any number) open wait open again try host:port who has the file? I do

May 30, : xrootd Versatile sfs Layer II Dynamic disk cache integration Allows unlimited file system size Provides superior internal load balancing Mass Storage Integration HPSS, Castor, Enstore, etc RFIO Integration Scalable authorization From file sub-trees to single files

May 30, : xrootd Cache File System /cache1/databases:mydbfile /databases/mydbfile /cache2 /cache3 symlink Index Area Optional data cache Default data area Data Area Any number Any Size Chosen based on free space in LRU order Multiple Independent Filesystems Naming convention allows for audit and index recovery

May 30, : xrootd Fault Tolerance I Servers may come and go Uses load balancing to effect recovery New servers can be added at any time Servers may be brought down for maintenance Files can be moved around in real-time Client simply adjust to the new configuration XTNetFile object handles recovery protocol

May 30, : xrootd Fault Tolerance II Whenever client looses r/o connection Back to distinguished xrootd(s) for reselection Whenever client looses r/w connection Limited wait/retry loop on the same server We will be working to improve this next year! All handled in the XTNetFile class Disruptions merely delay the client

May 30, : xrootd Flexible Security Negotiated Security Protocol Allows client/server to agree on protocol E.g., Kerberos, GSI, AFS Kerberos, etc. Can be easily extended Multi-protocol authentication support

May 30, : xrootd Security Architecture login authenticate Client-Specific Security Configuration libooseccl.so Protocol Selection Self Configuration Security Token Multiple handshakes allowed during authentication phase (required by some PKI protocols)

May 30, : xrootd Heterogeneous Security Support Servers have one or more protocol objects Server protocol objects created at server initialization time Client selects which protocol to use when security context created Protocol object created based on configuration returned by xrootd One security context object per physical xrootd connection Protocol objects may be shared by one or more contexts Each “pass” through a security context object may generate credentials to be passed to xrootd protocols

May 30, : xrootd Simple & Effective Interface For each login that requires authentication XrdSecCreateSecurityContext(ipaddr, config) Returns security protocol object XrdSecClientSecurity XrdSecClientSecurity Based on server ipaddr and server-supplied config XrdSecClientSecurity::getCredentials() Returns credentials to be sent to the server authenticateauthmore Done via authenticate request and possible authmore response Based on well tested and documented oofs security

May 30, : xrootd Optional Scalable Authorization u abh rw /slac/rootfiles/usr/abh r /cern/rootfiles libooseccl.so libooacc.so Authentication Authorization

May 30, : xrootd Security Summary Multi-protocol Authentication Supports distributed heterogeneous environments Scalable Authorization Open-ended capability based model Integrated Auditing To keep the security hard hats happy Well defined, proven interfaces Trivially replaceable for a plug & play architecture

May 30, : xrootd rootd Compatibility Bilateral compatibility XTNetfile reverts to TNetFile for rootd servers XRootd reverts to rootd protocol for TNetFile Allows for transparent introduction Can run mixed mode Binary is multi-environment compatible

May 30, : xrootd Compatibility Modes xrootd rootd xrootd rootd compability TNetFile Application TNetFile XTNetFile Application rootd Client-Side Compatibility Server-Side Compatibility

May 30, : xrootd xrootd Architecture Protocol Layer Filesystem Logical Layer Filesystem Physical Layer Filesystem Implementation Protocol Manager

May 30, : xrootd Dynamically loaded (can also be static) xrootd Internals

May 30, : xrootd Conclusion xrootd provides high performance file access Improves over afs, ams, nfs, etc. Unique performance, usability, scalability, security, compatibility, and recoverability characteristics xrootd can provide a firm server foundation for native file system implementations E.g. alienfs, gridfs, slashgrid, etc For now, aim is to support BaBar