Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
MACHINE-INDEPENDENT VIRTUAL MEMORY MANAGEMENT FOR PAGED UNIPROCESSOR AND MULTIPROCESSOR ARCHITECTURES R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron,
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
The Multikernel: A new OS architecture for scalable multicore systems Andrew Baumann et al CS530 Graduate Operating System Presented by.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Reference: Message Passing Fundamentals.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 I/O Management in Representative Operating Systems.
PRASHANTHI NARAYAN NETTEM.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
University of Pennsylvania 11/21/00CSE 3801 Distributed File Systems CSE 380 Lecture Note 14 Insup Lee.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Distributed Shared Memory Systems and Programming
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
LWIP TCP/IP Stack 김백규.
Distributed Shared Memory: A Survey of Issues and Algorithms B,. Nitzberg and V. Lo University of Oregon.
DCE (distributed computing environment) DCE (distributed computing environment)
Transparent Process Migration: Design Alternatives and the Sprite Implementation Fred Douglis and John Ousterhout.
Types of Operating Systems
TECHNIQUES FOR REDUCING CONSISTENCY- RELATED COMMUNICATION IN DISTRIBUTED SHARED-MEMORY SYSTEMS J. B. Carter University of Utah J. K. Bennett and W. Zwaenepoel.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Configuring File Services. Using the Distributed File System Larger enterprises typically use more file servers Used to improve network performce Reduce.
Processes Introduction to Operating Systems: Module 3.
Data Sharing. Data Sharing in a Sysplex Connecting a large number of systems together brings with it special considerations, such as how the large number.
Cache Coherence Protocols 1 Cache Coherence Protocols in Shared Memory Multiprocessors Mehmet Şenvar.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 11-2: File System Implementation Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Chap 7: Consistency and Replication
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.
The Mach System Silberschatz et al Presented By Anjana Venkat.
OpenMP for Networks of SMPs Y. Charlie Hu, Honghui Lu, Alan L. Cox, Willy Zwaenepoel ECE1747 – Parallel Programming Vicky Tsang.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Distributed Shared Memory
File System Implementation
Operating System Structure
Chapter 4: Threads.
Page Replacement.
Chapter 4: Threads.
Outline Midterm results summary Distributed file systems – continued
Chapter 3: Operating-System Structures
Outline Announcements Lab2 Distributed File Systems 1/17/2019 COP5611.
Chapter 2: Operating-System Structures
Chapter 15: File System Internals
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Database System Architectures
Chapter 2: Operating-System Structures
Presentation transcript:

Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science

Background Work on DFS l Extensive research in the late eighties l Research focused on using replication to improve efficiency of file access l Work at Cornell produced a system called Deceit which allowed default and user specified replication of files l Deceit used a client/server architecture which allowed multiple servers

Distributed Shared Virtual Memory (DSVM) l a global address space accessible by any number of processes distributed across a network l instead of explicit message passing, DSVM processes read and write to the shared memory space, and it is the responsibility of the DSVM manager to insure the information they see is consistent

Why use DSVM? l distribution transparency n process designer does not have to code explicit IPC l increased network bandwidth makes efficiency vs. development cost trade-off more realistic l easier implementation of distributed or parallel algorithms on generic workstations

Treadmarks l commercial implementation of DSVM l designed for running parallel algorithms on a network of workstations l implemented as a C++ library n increased portability l allows allocation of memory in DSVM region using malloc() l DSVM access is similar to regular dynamic memory access

Treadmarks (cont.) l provides barriers and locks for synchronization primitives which must be used if the DSVM region is to remain consistent l uses lazy release consistency which guarantees that DSVM is consistent only after a lock acquire l allows multiple-writers of the same page of DSVM

Treadmarks Limitations l all processes accessing the DSVM region must be homogeneous and must be started at the same time l Treadmarks uses UNIX signals to detect access to DSVM which limits its usefulness for system programming as signals interrupt system calls l despite its limitations, still useful for prototype demonstrations

Environment Specification l network domain is a series of interconnected PCs on an Ethernet l an application is assumed to have a unique name across the network l other files can be given a unique name by concatenating the machine name, directory path, and filename l a global name table (GNT) manages the files on the network

Global Name Table l provides a flat name space to identify files distributed across the network l managed by the OS l provides a table look-up mechanism to find file locations by the unique name l enforcing the relative path constraint may allow transparent access to files by application and users

Relative Path Constraint l all files access is done relative to home directories l absolute paths pose problems as they are not the same across machines l applications and users have home directories and all file access should be specified relative to them l most files are location independent

Benefits of a GNT l presents all users with a consistent and identical view of the network independent of their site location n all applications appear to be local n enhances user familiarity with the system n provides a similar transparency to icons in windowing systems except that the view is defined by the user not by the site location

Benefits of a GNT (cont.) l makes applications more movable n instead of reconfiguring all icons or links, just have to update one table entry n files can be moved by a user or the OS without effecting the views of other users l if used with a standardized display mechanism, application execution also becomes transparent n allows for load balancing, replication, etc.

Distributing the GNT l the GNT provides a mechanism for individual sites to find files on the network l the GNT must be accessible by all sites l Two architectures: n client/server n DSVM

Client/Server Architecture l every machine has a client process which handles user/application requests l one machine has a dedicated server process which stores the GNT and responds to requests from the clients l communication between the clients and server is done using sockets

Client/Server Architecture

Client/Server Analysis l distinguishable client and server processes n explicit communication n problem of dividing tasks (e.g. buffering) n single point of failure l pessimistic sharing - data is only shared by explicit requests to the server l efficient with a single server as network communication is minimized

DSVM Architecture l the GNT is allocated in DSVM shared by all processes which act as both a client and a server l an update to the GNT by any process is reflecting at all other processes without explicit communication l all communication is handled by the DSVM manager

DSVM Architecture

DSVM Architecture Analysis l optimistic sharing - everything in DSVM is shared by all processes l transparent sharing n processes do not know they are sharing the GNT with other processes n communication details are hidden from implementation of GNT

DSVM Architecture Analysis (cont.) l hidden costs n implementation of DSVM still requires communication to maintain consistency n frequent updates and false sharing may be a problem n overhead in determining when a process accesses the shared memory region

Architectural Differences l the main trade-off is efficiency vs. ease of implementation n very similar to object-oriented environment –costs of encapsulation and implementation transparency vs. generality and simplicity l sharing methodology n pessimistic vs. optimistic n DSVM provides illusion of isolation similar to a transaction in a DB system

Architectural Differences l amount of replication n DSVM - full replication n Client/Server - single point of failure l overhead n DSVM - must trap DSVM accesses and false sharing at the page level n Client/Server - communication minimized

Conclusions l DSVM is a higher level IPC protocol n like an object is a higher level data structure l DSVM provides an easier programming environment and a standardized mechanism for IPC at the cost of higher communication overhead l increased bandwidth may justify overhead to achieve decrease in development costs

Future Work l expanding the functionality of the GNT l defining a display standard to allow for application execution transparency l future work on DSVM including integration into OS