Stackable Layers: An Object-Oriented Approach to. Distributed File System Architecture. Department of Computer Science
|
|
- Marian Hart
- 5 years ago
- Views:
Transcription
1 Stackable Layers: An Object-Oriented Approach to Distributed File System Architecture Thomas W. Page Jr., Gerald J. Popek y, Richard G. Guy Department of Computer Science University of California Los Angeles 1 Introduction Operating systems and their ling environments are traditionally implemented as large, monolithic pieces of software. The lack of a clean structure renders it expensive to add features to an operating system, and dicult to integrate independently added functionality without extensive reimplementation. It is increasingly recognized that there are great potential benets to be had from structuring an operating system so that services can be easily added by independent third parties. The Mach approach [1] is a ne example of the application of that philosophy to produce an abstraction at the virtual memory and process layer that permits multiple and independent operating system designs and implementations to be provided on top. The Unix System V streams design provides an environment and a set of interfaces by which network and device protocols may be added to an operating system at run time, stacking new layers on existing ones [8]. The ling service is a key component of most operating systems. The denition and support of well-dened internal interfaces in this area would allow a variety of services, perhaps developed by dierent groups or vendors, to be introduced to many systems without re-implementation of the rest of the le system. The ability to snap such components together depends on an architecture which provides eective interfaces, both in terms of assuring that necessary characteristics are present, and doing so in a manner that allows superior quality implementations without forcing signicant compromises. Clearly, these requirements call out for an object-oriented approach. Our group (and independent work by Rosenthal [9]) has proposed a stackable layers architecture for distributed le systems that we believe achieves these goals [7, 4, 3]. We have evaluated the stackable layers approach by designing, building, and using several new layers for the Unix le system. Most signicantly, we have used the architecture to construct a replicated le system, a key component in a general distributed ling environment. This work is sponsored by DARPA under contract number F C y This author is also associated with Locus Computing Corporation 1
2 2 The Stackable Architecture In most modern implementations of Unix, the rest of the operating system kernel interacts with the le system via the virtual node (vnode) interface [5, 2, 6]. In a manner analogous to object-oriented programming, vnodes are an abstract representation of a le object which has a private data area and a public interface (vnode operations). Each vnode has a vector of pointers to the functions which implement the vnode operations resulting in a form of operator overloading; dierent types of vnodes may point to a dierent vector of operators. A major motivation for the vnode architecture was to permit multiple implementations of the le system without modications to the rest of the kernel. So long as a new implementation adheres to the vnode interface, it may be substituted transparently to the rest of the kernel. Stackable layers are a generalization of vnodes. If the kernel interacts with the le system through a well-dened interface, why not slip in a layer between the le system and the rest of the kernel? If this \slipped in" layer supports the same interface both above and below, it may be inserted completely transparently to the kernel and to the underlying original le system. Further, if one such layer can be inserted transparently, so can many, creating a stack (or tree) of layers. Each layer in the stack implements a value-added service. The base layer (in our case, the Unix le system (UFS)) provides the abstraction of a le in a hierarchical name space with operations dened by the vnode interface (read, write, open, lookup, etc.). The next layer up might provide secure storage, encrypting data as it passes down and decrypting it as it passes back up. On top of that might be the replication layer which looks from above like a single le, but is represented by multiple physical replicas at the layer below. The top layer might support caching, looking in a main memory le for a copy of a requested page and returning it if it is found, otherwise forwarding the request down to the layer below. Thus the stack may be viewed as a specialization/generalization hierarchy: the base layer provides the abstraction of Unix les; the next layer up provides secure Unix les; the next layer provides replicated, secure Unix les; the top layer supports cached, replicated, secure Unix les. None of these layers knows or cares whether the layer below is the base le system or some other value added layer. All each layer has is a pointer to one (or more in the case of replication and caching) lower layers. For example, a stack could be congured without the secure le layer and all other layers would perform as before. Each layer must support the entire vnode interface. That is, for each of the vnode operations, the layer may implement the operation directly (overriding the implementation in lower layers), or delegate it to the layers beneath (inheritance). In the course of implementing the operation, a layer may call the same or a dierent operation on its underpinnings. Layers may, in addition, extend the interface providing additional vnode calls. 2
3 2.1 Stackable Layers in a Distributed System In order to support distributed and multiprocessor le systems, it should be possible for adjacent layers in a stack to reside in dierent address spaces, even on dierent sites. What is needed is a mechanism which maps calls from one layer, across address space boundaries or a communications network, to the next layer down. This mapping must be done absolutely transparently as no layer should have to be concerned about where the layers above or below are located. Following the stackable architecture philosophy, we propose a transport layer which accepts the same interface both above and below, mapping calls transparently across a communications channel to the next layer; essentially an RPC mechanism with a layer interface. A transport layer can then be inserted as desired between any pair of layers. Sun's Network File System[10], provides an approximation of such a transport facility. An NFS vnode on a client site, when operated on, performs corresponding operations on a UFS vnode on a remote site. NFS, however, is not a transparent mechanism; it was not intended to be used in this context, but rather to implement access to stateless le servers. As such, it does not obediently forward all operations, instead altering some and dropping others altogether. Using NFS as a starting point, we have implemented a transparent transport layer and used it in the Ficus replicated le system. 2.2 Analogy to Object-Oriented Programming There clearly is a close relationship between the stackable layers architecture and object-oriented programming with inheritance, but the use of object-oriented terminology in its description tends to obscure some dierences. For example, each layer in the stack is mounted on the layers beneath; it is not quite correct to say that a layer \inherits" from the layer below because the upper layer must explicitly pass through (delegate to the lower layer) any function which it does not override. Similarly, it may be confusing to think of these lower layers as having a parent-child relationship as the fan-out (one-to-many relationship) is mostly in the other direction (more like multiple inheritance). However, fan-out in the conventional direction is also conceivable (for example when a layer provides more than one view to layers above). Still, the motivations for, and the eects of the stackable layers architecture are very similar to object-oriented structuring. It provides a methodology for easy extensibility as new layers can be written and debugged without considering the internals of other layers. Similarly, it provides a mechanism for code re-use as older functionality does not have to be continually reimplemented in the context of new additions. It is an architecture with which software vendors potentially can supply \shrink wrapped" software modules which can be dynamically congured into existing operating system kernels. 3
4 3 Experience With Ficus The Ficus replicated le system is operational at UCLA. It is constructed in two layers: a logical layer provides the abstraction of a single copy highly available le and stacks on top of multiple branches, each representing one le replica; a physical layer is associated with each replica and handles the extra information that must be stored with each le to provide concurrency control and recovery from network partitions. Our experience with building the replication functionality in the layered architecture has been extremely positive. Because of our ability to leverage the existing UFS and NFS aorded by the approach, we were able to implement the replication layers in approximately 1:5 man years. A signicant boon to the implementation as been the ability to debug the new layers outside of the operating system kernel. Because the transport layer can map between address spaces on dierent machines, it can equally well map to user space. By simply exposing the vnode interface outside the kernel (via a set of system calls) we are able to test new layers outside the kernel using window-based debugging tools unavailable for in-kernel debugging. Once working in this manner, a layer may be easily moved inside the kernel as its interfaces above and below are identical in both contexts. We are in the process of constructing a measurement layer which may be congured transparently between any pair of adjacent layers. The measurement layer forwards all operations unmodied to the layer below, but allows the selective gathering of performance statistics on the trac between the layers. We look forward to tremendous exibility and ease of data gathering as future layers and versions of the interface are debugged and tuned for performance. 4 Support for User Available Object-Oriented Services It is clear that as systems become increasingly interconnected, the need to exchange data from heterogeneous sources: machine types, operating system types, and even dierent applications, will only continue to increase. Object-oriented services, with \self describing" type structures, have the potential to be very helpful by enabling solutions to the problems that arise in these situations. The operating system environment presents issues that are somewhat dierent from objectoriented programming languages, however. In the distributed environment, where object techniques can be so valuable, it will be necessary if such a system is to be eective that compatible solutions be available on a variety of dierent system types. Thus, in addition to basic functionality, a standard \wire protocol" interface will be needed. Implementations need to be provided in a highly modular manner, so that a given implementation can be easily ported to other environments, with minimal rebuilding. Such ports are probably the best way to assure cross system compatibility. We have thus far discussed the layered architecture as a methodology for adding features to the le environment provided by the operating system kernel. The stackable ling architecture 4
5 described here may be an attractive way to supply object-oriented serves to the users themselves. An object-oriented layer which could be stacked onto a ling system, perhaps into any system that supports NFS and its internal VFS interface, could provide a useful and widely used set of facilities. Of course, such an approach is not by itself a full solution. Changes elsewhere in the set of operating system services and utilities are needed. As just one example, a basic service so simple as le copy should be enhanced so that it can examine the object denitions of its arguments and take appropriate actions (such as updating companion les). Otherwise, each implementor of a new object type potentially would have to replace the copy function. In todays' systems, there usually isn't even a guaranteed way to take that step. Nevertheless, it appears that much of the work of providing an object-oriented layer in a typical operating system can be modularized as a le system addition. This approach is being pursued at UCLA. 5 Summary We have presented a layered architecture for distributed le systems which has been employed successfully in the implementation of the Ficus Replicated File System at UCLA. While the architecture is neither an object-oriented operating system nor supports an object-oriented ling environment, we believe it is an important step along the way. The layered approach supports code reuse, modular kernel extensibility, typed les, information hiding, specialization/generalization hierarchies, operator overloading, and delegation in ways very much analogous to object-oriented systems. References [1] Mike Accetta, Robert Baron, David Golub, Richard Rashid, Avadis Tevanian, and Michael Young. Mach: A new kernel foundation for UNIX development. In USENIX Conference Proceedings, pages 93{113. USENIX, June [2] AT&T. Design of the virtual le system features for UNIX System V Release 4. Internal memorandum, January [3] Richard G. Guy. Ficus: A Very Large Scale Reliable Distributed File System. Ph.D. dissertation, University of California, Los Angeles, In preparation. [4] Richard G. Guy, John S. Heidemann, Wai Mak, Thomas W. Page, Jr., Gerald J. Popek, and Dieter Rothmeier. Implementation of the Ficus replicated le system. In USENIX Conference Proceedings, pages 63{71. USENIX, June [5] S. R. Kleiman. Vnodes: An architecture for multiple le system types in Sun UNIX. In USENIX Conference Proceedings, pages 238{247. USENIX, June
6 [6] Alan Langerman, Joseph Boykin, Susan LoVerso, and Sashi Mangalat. A highly-parallelized Mach-based vnode lesystem. In USENIX Conference Proceedings, pages 297{312. USENIX, January [7] Thomas W. Page, Jr., Gerald J. Popek, Richard G. Guy, and John S. Heidemann. The Ficus distributed le system: Replication via stackable layers. Technical Report CSD , University of California, Los Angeles, April [8] D. M. Ritchie. A stream input-output system. AT&T Bell Laboratories Technical Journal, 63(8):1897{1910, October [9] David S. H. Rosenthal. Evolving the vnode interface. In USENIX Conference Proceedings. USENIX, June [10] Russel Sandberg, David Goldberg, Steve Kleiman, Dan Walsh, and Bob Lyon. Design and implementation of the Sun Network File System. In USENIX Conference Proceedings, pages 119{130. USENIX, June
Appeared in the Proceedings of the Summer USENIX Conference, June 1991, pages 17-29
Management of Replicated Volume Location Data in the Ficus Replicated File System Thomas W. Page Jr., Richard G. Guy, John S. Heidemann, Gerald J. Popek y, Wai Mak, and Dieter Rothmeier Department of Computer
More informationAppeared in the Proceedings of the Summer USENIX Conference, Anaheim, CA, June 1990, pages 63-71
Implementation of the Ficus Replicated File System Richard G. Guy, John S. Heidemann, Wai Mak, Thomas W. Page Jr., Gerald J. Popek y, and Dieter Rothmeier fguy,johnh,waimak,page,popek,dieterg@cs.ucla.edu
More informationPublished in the Proceedings of USENIX COOTS '97 1. Frigate: An Object-Oriented File System for Ordinary Users. Ted H. Kim Gerald J.
Published in the Proceedings of USENIX COOTS '97 1 Frigate: An Object-Oriented File System for Ordinary Users Ted H. Kim Gerald J. Popek y Department of Computer Science University of California, Los Angeles
More informationFLEX: A Tool for Building Ecient and Flexible Systems. John B. Carter, Bryan Ford, Mike Hibler, Ravindra Kuramkote,
FLEX: A Tool for Building Ecient and Flexible Systems John B. Carter, Bryan Ford, Mike Hibler, Ravindra Kuramkote, Jerey Law, Jay Lepreau, Douglas B. Orr, Leigh Stoller, and Mark Swanson University of
More informationMachine-Independent Virtual Memory Management for Paged June Uniprocessor 1st, 2010and Multiproce 1 / 15
Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures Matthias Lange TU Berlin June 1st, 2010 Machine-Independent Virtual Memory Management for Paged June
More informationTransparent Access to Legacy Data in Java. Olivier Gruber. IBM Almaden Research Center. San Jose, CA Abstract
Transparent Access to Legacy Data in Java Olivier Gruber IBM Almaden Research Center San Jose, CA 95120 Abstract We propose in this paper an extension to PJava in order to provide a transparent access
More informationPerformance of Cache Coherence in Stackable Filing
To appear, ACM Symposium on Operating Systems Principles, December, 1995. Performance of Cache Coherence in Stackable Filing John Heidemann Gerald Popek University of California, Los Angeles Abstract Stackable
More informationModule 17: Distributed-File Systems
Module 17: Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File Replication Example Systems Operating System Concepts 17.1 Silberschatz
More informationVirtual Swap Space in SunOS
Virtual Swap Space in SunOS Howard Chartock Peter Snyder Sun Microsystems, Inc 2550 Garcia Avenue Mountain View, Ca 94043 howard@suncom peter@suncom ABSTRACT The concept of swap space in SunOS has been
More informationFile-System Structure
Chapter 12: File System Implementation File System Structure File System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery Log-Structured
More informationChapter 11: Implementing File-Systems
Chapter 11: Implementing File-Systems Chapter 11 File-System Implementation 11.1 File-System Structure 11.2 File-System Implementation 11.3 Directory Implementation 11.4 Allocation Methods 11.5 Free-Space
More informationMICROKERNELS: MACH AND L4
1 MICROKERNELS: MACH AND L4 CS6410 Hakim Weatherspoon Introduction to Kernels Different Types of Kernel Designs Monolithic kernel Microkernel Hybrid Kernel Exokernel Virtual Machines? Monolithic Kernels
More informationOutline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations
Outline Computer Science 331 Data Structures, Abstract Data Types, and Their Implementations Mike Jacobson 1 Overview 2 ADTs as Interfaces Department of Computer Science University of Calgary Lecture #8
More informationUniversity of California. Stackable Layers: An Architecture for File System Development
University of California Los Angeles Stackable Layers: An Architecture for File System Development A thesis submitted in partial satisfaction of the requirements for the degree Master of Science in Computer
More informationOn Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems
On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer
More informationTHE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano
THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL Jun Sun, Yasushi Shinjo and Kozo Itano Institute of Information Sciences and Electronics University of Tsukuba Tsukuba,
More information2 Application Support via Proxies Onion Routing can be used with applications that are proxy-aware, as well as several non-proxy-aware applications, w
Onion Routing for Anonymous and Private Internet Connections David Goldschlag Michael Reed y Paul Syverson y January 28, 1999 1 Introduction Preserving privacy means not only hiding the content of messages,
More informationExtensible Realm Interfaces 1
Extensible Realm Interfaces 1 UT-ADAGE-94-01 Don Batory Department of Computer Sciences The University of Texas Austin, Texas 78712 Abstract The synthesis of avionics software depends critically on components
More informationDistributed File Systems. Distributed Systems IT332
Distributed File Systems Distributed Systems IT332 2 Outline Introduction Network File System (NFS) 3 File System Basics A file is a named collection of logically related data A file system Provides a
More informationand easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs.
and easily tailor it for use within the multicast system. After expressing an initial application design in terms of MIL specications, the application code and speci- cations may be compiled and executed.
More informationEI 338: Computer Systems Engineering (Operating Systems & Computer Architecture)
EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture) Dept. of Computer Science & Engineering Chentao Wu wuct@cs.sjtu.edu.cn Download lectures ftp://public.sjtu.edu.cn User:
More informationChapter 11: File System Implementation
Chapter 11: File System Implementation Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency
More informationChapter 11: File System Implementation
Chapter 11: File System Implementation Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency
More informationImplementing remote fork() with checkpoint/restart
Implementing remote fork() with checkpoint/restart Jonathan M Smith John Ioannidis Computer Science Department Columbia University New York, NY 10027 Abstract We describe a method for implementing checkpoints
More informationModule 17: Distributed-File Systems
Module 17: Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File Replication Example Systems 17.1 Background Distributed file system (DFS)
More informationChapter 11: Implementing File Systems
Chapter 11: Implementing File-Systems, Silberschatz, Galvin and Gagne 2009 Chapter 11: Implementing File Systems File-System Structure File-System Implementation ti Directory Implementation Allocation
More informationS3FS in the wide area Alvaro Llanos E M.Eng Candidate Cornell University Spring/2009
S3FS in the wide area Alvaro Llanos E M.Eng Candidate Cornell University Spring/2009 ABSTRACT S3FS[1] is an interface implementation using FUSE and Amazon Storage Services in order to provide a reliable
More informationDistributed Computing Environment (DCE)
Distributed Computing Environment (DCE) Distributed Computing means computing that involves the cooperation of two or more machines communicating over a network as depicted in Fig-1. The machines participating
More informationNotes on the Implementation of a Remote Fork Mechanism
Notes on the Implementation of a Remote Fork Mechanism Jonathan M. Smith John Ioannidis Computer Science Department Columbia University New York, NY 10027 ABSTRACT We describe a method for implementing
More informationChapter 11: Implementing File Systems
Chapter 11: Implementing File Systems Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency
More informationChapter 12 File-System Implementation
Chapter 12 File-System Implementation 1 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery Log-Structured
More informationCoping with Conflicts in an Optimistically Replicated File System
Coping with Conflicts in an Optimistically Replicated File System Puneet Kumar School of Computer Science Carnegie Mellon University 1. Introduction Coda is a scalable distributed Unix file system that
More informationAN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi, Akshay Kanwar, Lovenish Saluja
www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 2 Issue 10 October, 2013 Page No. 2958-2965 Abstract AN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi,
More informationCategory: Informational October 1996
Network Working Group B. Callaghan Request for Comments: 2055 Sun Microsystems, Inc. Category: Informational October 1996 Status of this Memo WebNFS Server Specification This memo provides information
More informationDISTRIBUTED FILE SYSTEMS & NFS
DISTRIBUTED FILE SYSTEMS & NFS Dr. Yingwu Zhu File Service Types in Client/Server File service a specification of what the file system offers to clients File server The implementation of a file service
More informationThe modularity requirement
The modularity requirement The obvious complexity of an OS and the inherent difficulty of its design lead to quite a few problems: an OS is often not completed on time; It often comes with quite a few
More informationtmpfs: A Virtual Memory File System
tmpfs: A Virtual Memory File System Peter Snyder Sun Microsystems Inc. 2550 Garcia Avenue Mountain View, CA 94043 ABSTRACT This paper describes tmpfs, a memory-based file system that uses resources and
More informationApplication. CoCheck Overlay Library. MPE Library Checkpointing Library. OS Library. Operating System
Managing Checkpoints for Parallel Programs Jim Pruyne and Miron Livny Department of Computer Sciences University of Wisconsin{Madison fpruyne, mirong@cs.wisc.edu Abstract Checkpointing is a valuable tool
More informationDewayne E. Perry. Abstract. An important ingredient in meeting today's market demands
Maintaining Consistent, Minimal Congurations Dewayne E. Perry Software Production Research, Bell Laboratories 600 Mountain Avenue, Murray Hill, NJ 07974 USA dep@research.bell-labs.com Abstract. An important
More informationPerlDSM: A Distributed Shared Memory System for Perl
PerlDSM: A Distributed Shared Memory System for Perl Norman Matloff University of California, Davis matloff@cs.ucdavis.edu Abstract A suite of Perl utilities is presented for enabling Perl language programming
More informationOPERATING SYSTEM. Chapter 12: File System Implementation
OPERATING SYSTEM Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management
More informationExtending The Mach External Pager Interface To Accommodate User-Level Page Replacement Policies. Dylan McNamee and Katherine Armstrong
Extending The Mach External Pager Interface To Accommodate User-Level Page Replacement Policies Dylan McNamee and Katherine Armstrong Department of Computer Science and Engineering University of Washington
More informationAppendix 4-B. Case study of the Network File System (NFS)
Appendix 4-B. Case study of the Network File System (NFS) The network file system (NFS), designed by Sun Microsystems, nc. in the 980s, is a clientlservice application that provides shared file storage
More informationFilesystems Lecture 13
Filesystems Lecture 13 Credit: Uses some slides by Jehan-Francois Paris, Mark Claypool and Jeff Chase DESIGN AND IMPLEMENTATION OF THE SUN NETWORK FILESYSTEM R. Sandberg, D. Goldberg S. Kleinman, D. Walsh,
More informationManaging Agent Platforms with AgentSNMP
Managing Agent Platforms with AgentSNMP Brian D. Remick, Robert R. Kessler University of Utah, 50 S. Campus Drive, Salt Lake City, UT 84104 { remick, kessler } @cs.utah.edu Abstract. Management of agent
More informationDistributed File Systems
Distributed File Systems Today l Basic distributed file systems l Two classical examples Next time l Naming things xkdc Distributed File Systems " A DFS supports network-wide sharing of files and devices
More informationDistributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview
Distributed Systems Joseph Spring School of Computer Science Distributed Systems and Security Areas for Discussion Definitions Operating Systems Overview Challenges Heterogeneity Limitations and 2 Definitions
More informationDistributed File Systems. CS432: Distributed Systems Spring 2017
Distributed File Systems Reading Chapter 12 (12.1-12.4) [Coulouris 11] Chapter 11 [Tanenbaum 06] Section 4.3, Modern Operating Systems, Fourth Ed., Andrew S. Tanenbaum Section 11.4, Operating Systems Concept,
More informationOpal. Robert Grimm New York University
Opal Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? The Three Questions What is the problem? Applications
More informationIn his paper of 1972, Parnas proposed the following problem [42]:
another part of its interface. (In fact, Unix pipe and filter systems do this, the file system playing the role of the repository and initialization switches playing the role of control.) Another example
More informationA taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA
A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA
More informationA Comparison of Two Distributed Systems: Amoeba & Sprite. By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec.
A Comparison of Two Distributed Systems: Amoeba & Sprite By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec. 1991 Introduction shift from time-sharing to multiple processors
More informationMario Tokoro 3. Keio University Hiyoshi, Yokohama 223 JAPAN. Abstract
Toward a New Computing Model/Methodology for Open Distributed Environment Mario Tokoro 3 Department of Computer Science Keio University 3-14-1 Hiyoshi, Yokohama 223 JAPAN Tel: +81-44-63-1926 Telefax: +81-44-63-3421
More informationParametric and provisioning approaches are again obviously useful for various
Parametric and provisioning approaches are again obviously useful for various kinds of generic descriptions and provide the most direct means of deriving their product architecture from the product line
More informationAdvanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs
Object Oriented Database Chapter 13 1 Object DBMSs Underlying concepts: Freely sharing data across processing routines creates unacceptable data dependencies All software should be constructed out of standard,
More informationSteering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream
Agent Roles in Snapshot Assembly Delbert Hart Dept. of Computer Science Washington University in St. Louis St. Louis, MO 63130 hart@cs.wustl.edu Eileen Kraemer Dept. of Computer Science University of Georgia
More informationClass Inheritance and OLE Integration (Formerly the Common Object Model)
TM Class Inheritance and OLE Integration (Formerly the Common Object Model) Technical Overview Shawn Woods, Mike Vogl, and John Parodi August 1995 Digital Equipment Corporation Introduction This paper
More informationFrequently asked questions from the previous class survey
CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [FILE SYSTEMS] Shrideep Pallickara Computer Science Colorado State University L27.1 Frequently asked questions from the previous class survey How many choices
More informationStorage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk
HRaid: a Flexible Storage-system Simulator Toni Cortes Jesus Labarta Universitat Politecnica de Catalunya - Barcelona ftoni, jesusg@ac.upc.es - http://www.ac.upc.es/hpc Abstract Clusters of workstations
More informationKhoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety
Data Parallel Programming with the Khoros Data Services Library Steve Kubica, Thomas Robey, Chris Moorman Khoral Research, Inc. 6200 Indian School Rd. NE Suite 200 Albuquerque, NM 87110 USA E-mail: info@khoral.com
More informationCHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System
CHAPTER 1 Fundamentals of Distributed System Introduction Distributed Computing Models Software Concepts Issues in designing Distributed System Client Server Model 1 What is a Distributed System? Tanenbaum
More informationOverview of Unix / Linux operating systems
Overview of Unix / Linux operating systems Mohammad S. Hasan Staffordshire University, UK Overview of Unix / Linux operating systems Slide 1 Lecture Outline History and development of Unix / Linux Early
More informationImproving I/O Bandwidth With Cray DVS Client-Side Caching
Improving I/O Bandwidth With Cray DVS Client-Side Caching Bryce Hicks Cray Inc. Bloomington, MN USA bryceh@cray.com Abstract Cray s Data Virtualization Service, DVS, is an I/O forwarder providing access
More informationA Stackable File System Interface For Linux
A Stackable File System Interface For Linux Erez Zadok and Ion Badulescu Computer Science Department, Columbia University {ezk,ion}@cs.columbia.edu Abstract Linux is a popular operating system that is
More informationAutomatic Code Generation for Non-Functional Aspects in the CORBALC Component Model
Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and
More informationBackground. 20: Distributed File Systems. DFS Structure. Naming and Transparency. Naming Structures. Naming Schemes Three Main Approaches
Background 20: Distributed File Systems Last Modified: 12/4/2002 9:26:20 PM Distributed file system (DFS) a distributed implementation of the classical time-sharing model of a file system, where multiple
More informationis developed which describe the mean values of various system parameters. These equations have circular dependencies and must be solved iteratively. T
A Mean Value Analysis Multiprocessor Model Incorporating Superscalar Processors and Latency Tolerating Techniques 1 David H. Albonesi Israel Koren Department of Electrical and Computer Engineering University
More informationAOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development
More informationDistributed Scheduling for the Sombrero Single Address Space Distributed Operating System
Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Donald S. Miller Department of Computer Science and Engineering Arizona State University Tempe, AZ, USA Alan C.
More informationHow do modules communicate? Enforcing modularity. Modularity: client-server organization. Tradeoffs of enforcing modularity
How do modules communicate? Enforcing modularity Within the same address space and protection domain local procedure calls Across protection domain system calls Over a connection client/server programming
More informationA Report on RMI and RPC Submitted by Sudharshan Reddy B
A Report on RMI and RPC Submitted by Sudharshan Reddy B Abstract: This report mainly explains the RMI and RPC technologies. In the first part of the paper the RMI technology is briefly explained and in
More information2 Background: Service Oriented Network Architectures
2 Background: Service Oriented Network Architectures Most of the issues in the Internet arise because of inflexibility and rigidness attributes of the network architecture, which is built upon a protocol
More information殷亚凤. Processes. Distributed Systems [3]
Processes Distributed Systems [3] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Architectural Styles: Layered style, Object-based,
More informationSoftware Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University
Software Component Relationships Stephen H. Edwards Department of Computer Science Virginia Polytechnic Institute and State University 660 McBryde Hall Blacksburg, VA 24061-0106 Tel: (540)-231-7537 Email:
More informationTechnical Briefing. The TAOS Operating System: An introduction. October 1994
Technical Briefing The TAOS Operating System: An introduction October 1994 Disclaimer: Provided for information only. This does not imply Acorn has any intention or contract to use or sell any products
More informationNOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or
NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or other reproductions of copyrighted material. Any copying
More informationPATTERNS AND SOFTWARE DESIGN
This article first appeared in Dr. Dobb s Sourcebook, March/April, 1995. Copyright 1995, Dr. Dobb's Journal. PATTERNS AND SOFTWARE DESIGN Patterns for Reusable Object-Oriented Software Richard Helm and
More informationExample File Systems Using Replication CS 188 Distributed Systems February 10, 2015
Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Page 1 Example Replicated File Systems NFS Coda Ficus Page 2 NFS Originally NFS did not have any replication capability
More informationAn Introduction to GPFS
IBM High Performance Computing July 2006 An Introduction to GPFS gpfsintro072506.doc Page 2 Contents Overview 2 What is GPFS? 3 The file system 3 Application interfaces 4 Performance and scalability 4
More informationOperating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings
Operating Systems: Internals and Design Principles Chapter 2 Operating System Overview Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Operating systems are those
More informationTechnische Universitat Munchen. Institut fur Informatik. D Munchen.
Developing Applications for Multicomputer Systems on Workstation Clusters Georg Stellner, Arndt Bode, Stefan Lamberts and Thomas Ludwig? Technische Universitat Munchen Institut fur Informatik Lehrstuhl
More informationWeblogs In Libraries: Opportunities and Challenges
Weblogs In Libraries: Opportunities and Challenges Adam Mathes Reference Sources and Services - LIS404A Graduate School of Library and Information Science University of Illinois Urbana-Champaign April
More informationsrfs kernel module Nir Tzachar September 25, 2003
srfs kernel module Nir Tzachar September 25, 2003 1 Introduction 1.1 A distributed file system A distributed file system should appear to the user as a traditional file system. The user can create files,
More informationLightweight Remote Procedure Call. Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat Outline Introduction RPC refresher Monolithic OS vs. micro-kernel
More informationChapter 12 Distributed File Systems. Copyright 2015 Prof. Amr El-Kadi
Chapter 12 Distributed File Systems Copyright 2015 Prof. Amr El-Kadi Outline Introduction File Service Architecture Sun Network File System Recent Advances Copyright 2015 Prof. Amr El-Kadi 2 Introduction
More informationNetworking Performance for Microkernels. Chris Maeda. Carnegie Mellon University. Pittsburgh, PA March 17, 1992
Networking Performance for Microkernels Chris Maeda Brian N. Bershad School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 March 17, 1992 Abstract Performance measurements of network
More informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationBuilding a Single Distributed File System from Many NFS Servers -or- The Poor-Man s Cluster Server
Building a Single Distributed File System from Many NFS Servers -or- The Poor-Man s Cluster Server Dan Muntz Hewlett-Packard Labs 1501 Page Mill Rd, Palo Alto CA 94304, USA dmuntz@hpl.hp.com Tel: +1-650-857-3561
More informationChapter 11: Implementing File Systems
Chapter 11: Implementing File Systems Operating System Concepts 99h Edition DM510-14 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation
More informationFile-System Interface
File-System Interface Chapter 10: File-System Interface File Concept Access Methods Directory Structure File-System Mounting File Sharing Protection Objectives To explain the function of file systems To
More informationOn Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme
On Checkpoint Latency Nitin H. Vaidya Department of Computer Science Texas A&M University College Station, TX 77843-3112 E-mail: vaidya@cs.tamu.edu Web: http://www.cs.tamu.edu/faculty/vaidya/ Abstract
More informationAn Analysis of Trace Data for Predictive File Caching in Mobile Computing
To appear, 1994 Summer Usenix Conference. An Analysis of Trace Data for Predictive File Caching in Mobile Computing Geoffrey H. Kuenning, Gerald J. Popek, Peter L. Reiher University of California, Los
More information2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t
Data Reduction - an Adaptation Technique for Mobile Environments A. Heuer, A. Lubinski Computer Science Dept., University of Rostock, Germany Keywords. Reduction. Mobile Database Systems, Data Abstract.
More informationOperating Systems 2010/2011
Operating Systems 2010/2011 File Systems part 2 (ch11, ch17) Shudong Chen 1 Recap Tasks, requirements for filesystems Two views: User view File type / attribute / access modes Directory structure OS designers
More informationA Revocable Backup System
The following paper was originally published in the Proceedings of the Sixth USENIX UNIX Security Symposium San Jose, California, July 1996. A Revocable Backup System Dan Boneh and Richard Lipton Princeton
More informationAlgorithms Implementing Distributed Shared Memory. Michael Stumm and Songnian Zhou. University of Toronto. Toronto, Canada M5S 1A4
Algorithms Implementing Distributed Shared Memory Michael Stumm and Songnian Zhou University of Toronto Toronto, Canada M5S 1A4 Email: stumm@csri.toronto.edu Abstract A critical issue in the design of
More informationChapter 12: File System Implementation
Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency
More informationFile Concept Access Methods Directory and Disk Structure File-System Mounting File Sharing Protection
File Concept Access Methods Directory and Disk Structure File-System Mounting File Sharing Protection File Concepts File Attributes File Operations File Types Internal File Structure A uniform logical
More informationClient Server & Distributed System. A Basic Introduction
Client Server & Distributed System A Basic Introduction 1 Client Server Architecture A network architecture in which each computer or process on the network is either a client or a server. Source: http://webopedia.lycos.com
More informationComputer System Overview
Computer System Overview Introduction A computer system consists of hardware system programs application programs 2 Operating System Provides a set of services to system users (collection of service programs)
More information