SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Distributed Operating Systems
FILE SYSTEM

Sandeep Kumar Poonia
Head of Dept. CS/IT
B.E., M.Tech., UGC-NET
LM-IAENG, LM-IACSIT,LM-CSTA, LM-AIRCC, LM-SCIEI, AM-UACEE
Introduction
 File system were originally developed for
centralized computer systems and desktop
computers.

 File system was as an operating system
facility
providing
a
convenient
programming interface to disk storage.

2
DISTRIBUTED FILE SYSTEMS
DEFINITIONS:
• A Distributed File System ( DFS ) is simply a classical model of a
file system distributed across multiple machines. The purpose
is to promote sharing of dispersed files.

•

The resources on a particular machine are local to itself.
Resources on other machines are remote.

•

A file system provides a service for clients. The server interface
is the normal set of file operations: create, read, etc. on files.

3
DISTRIBUTED FILE SYSTEMS

Definitions

Clients, servers, and storage are dispersed across machines.
Configuration and implementation may vary –
a) Servers may run on dedicated machines, OR
b) Servers and clients can be on the same machines.
c) The OS itself can be distributed (with the file system a
part of that distribution.
d) A distribution layer can be interposed between a
conventional OS and the file system.
Clients should view a DFS the same way they would a centralized
FS; the distribution is hidden at a lower level.
Performance is concerned with throughput and response time.
4
DISTRIBUTED FILE SYSTEMS
Distributed file system support:
• Remote Information Sharing-

Allows a file to be
transparently accessed by processes of any node of the system
irrespective of the file’s location

• User Mobility- User have flexibility to work on different node at
different time

• Availability- better fault tolerance
• Diskless Workstations

5
DISTRIBUTED FILE SYSTEMS
Distributed File System provide following type of
services:
• Storage Service
• True File Service
• Name Service

6
DISTRIBUTED FILE SYSTEMS
Desirable features of a good distributed file system
 Transparency
 Structure transparency
 Access Transparency
 Naming Transparency
 Replication Transparency











User Mobility
Performance
Simplicity and ease of use
Scalability
High Availability
High Reliability
Data Integrity
Security
Heterogeneity

7
File Models
Criteria: Structure and Modifiability

Structured and Unstructured Files
– Structured Files: A file appear to the file server as an
ordered sequence of records.
• Files with Indexed Records
• Files With non-indexed records

– Unstructured files: No substructure known to the
file server

8
File Models
Mutable and Immutable Files
• Mutable
– An update performed on a file overwrites on its old
contents
– A file is represented as a single stored sequence that is
altered by each update operation.

• Immutable Files
– A file cannot be modified once it has been created
– File versioning approach used to implement file
updates
– It support consistent sharing therefore it is easier to
support file caching and replication
9
File Accessing Models
File Accessing Models of DFS mainly depends on : Method used
for accessing remote files and the unit of data access
Accessing Remote Files
– Remote Service Model:
• Client’s request processed at server’s node
• In this case Packing and communication overhead can be significant

– Data Caching Model:
• Client’s request processed on the client’s node itself by using the cached data.
• This model greatly reduces network traffic
• Cache consistency problem may occur

LOCUS and NFS use the remote service model but add caching
fro better performance
Sprite use data caching model but employs the remote service
model under certain circumstances
10
File Accessing Models
Unit of Data Transfer
– File Level Transfer Model( Ex. Amoeba, AFS)
•
•
•
•

The whole file is moved when an operation requires file data
It is simple, It has better scalability
Disk access routines on the servers can be better optimized
But it requires sufficient storage space on client’s node

– Block Level Transfer Model( Ex. LOCUS, Sprite)
•
•
•
•

Data transferred in units of file blocks
It does not require client node to have large storage space
It can be used in diskless workstations
Network traffic may be significant

– Byte Level Transfer Model( Cambridge file server)
• Data transfers in units of bytes
• Low Storage requires but difficulty in cache management

– Record Level Transfer Model( Research Storage System)
• Suitable for Structured model
11
DISTRIBUTED FILE SYSTEMS

Naming and Transparency

Naming is the mapping between logical and physical objects.
– Example: A user filename maps to <cylinder, sector>.
– In a conventional file system, it's understood where the file actually resides; the
system and disk are known.
– In a transparent DFS, the location of a file, somewhere in the network, is hidden.
– File replication means multiple copies of a file; mapping returns a SET of locations
for the replicas.
Location transparency a) The name of a file does not reveal any hint of the file's physical storage location.
b) File name still denotes a specific, although hidden, set of physical disk blocks.
c) This is a convenient way to share data.
d) Can expose correspondence between component units and machines.

12
DISTRIBUTED FILE SYSTEMS

Naming and Transparency

Location independence – The name of a file doesn't need to be changed when the file's physical storage
location changes. Dynamic, one-to-many mapping.
– Better file abstraction.
– Promotes sharing the storage space itself.
– Separates the naming hierarchy from the storage devices hierarchy.

Most DFSs today:
– Support location transparent systems.
– Do NOT support migration; (automatic movement of a file from machine to
machine.)
– Files are permanently associated with specific disk blocks.
13
DISTRIBUTED FILE SYSTEMS

Naming and Transparency

The ANDREW DFS AS AN EXAMPLE:
– Is location independent.
– Supports file mobility.
– Separation of FS and OS allows for disk-less systems. These have lower cost and
convenient system upgrades. The performance is not as good.
NAMING SCHEMES:
There are three main approaches to naming files:
1. Files are named with a combination of host and local name.

– This guarantees a unique name. NEITHER location transparent NOR location
independent.
– Same naming works on local and remote files. The DFS is a loose collection of
independent file systems.
14
DISTRIBUTED FILE SYSTEMS

Naming and Transparency

NAMING SCHEMES:
2. Remote directories are mounted to local directories.
– So a local system seems to have a coherent directory structure.
– The remote directories must be explicitly mounted. The files are location
independent.
– SUN NFS is a good example of this technique.
3. A single global name structure spans all the files in the system.
– The DFS is built the same way as a local filesystem. Location independent.
15
Mounting Remote Directories (NFS)

16
DISTRIBUTED FILE SYSTEMS

Naming and Transparency

IMPLEMENTATION TECHNIQUES:
– Can Map directories or larger aggregates rather than individual files.
– A non-transparent mapping technique:
name ----> < system, disk, cylinder, sector >

– A transparent mapping technique:
name ----> file_identifier ----> < system, disk, cylinder, sector >

– So when changing the physical location of a file, only the file identifier
need be modified. This identifier must be "unique" in the universe.

17
DISTRIBUTED FILE SYSTEMS
CACHING
• Reduce network traffic by retaining recently accessed disk blocks in a cache, so that
repeated accesses to the same information can be handled locally.
• If required data is not already cached, a copy of data is brought from the server to the
user.
• Perform accesses on the cached copy.
• Files are identified with one master copy residing at the server machine,
• Copies of (parts of) the file are scattered in different caches.
• Cache Consistency Problem -- Keeping the cached copies consistent with the master
file.
• A remote service ((RPC) has these characteristic steps:
a) The client makes a request for file access.
b) The request is passed to the server in message format.
c) The server makes the file access.
d) Return messages bring the result back to the client.
This is equivalent to performing a disk access for each request.

18
DISTRIBUTED FILE SYSTEMS
CACHE LOCATION:
•
•

•

•
•
•

•

•

Caching is a mechanism for maintaining disk data on the local machine. This data can
be kept in the local memory or in the local disk. Caching can be advantageous both for
read ahead and read again.
The cost of getting data from a cache is a few HUNDRED instructions; disk accesses
cost THOUSANDS of instructions.
The master copy of a file doesn't move, but caches contain replicas of portions of the
file.
Caching behaves just like "networked virtual memory".
What should be cached? << blocks <---> files >>. Bigger sizes give a better hit rate;
smaller give better transfer times.
Caching on disk gives:
— Better reliability.
Caching in memory gives:
— The possibility of diskless work stations,
— Greater speed,
Since the server cache is in memory, it allows the use of only one mechanism.
19
DISTRIBUTED FILE SYSTEMS

CACHE UPDATE POLICY:

A write through cache
• When a cache entry is modified, the new value is immediately set to server
for updating master copy of file
• It has good reliability. But the user must wait for writes to get to the server.
Used by NFS.
Delayed write
• Modified value written only to the cache and client make a note
• All update gathered and sent to server at a time
– Write on ejection from cache
– Periodic write
– Write on close

• write requests complete more rapidly. Data may be written over the previous
cache write, saving a remote write. Poor reliability on a crash.

20
DISTRIBUTED FILE SYSTEMS
CACHE CONSISTENCY:
The basic issue is, how to determine that the client-cached data is consistent with what's
on the server.
• Client - initiated approach The client asks the server if the cached data is OK. What should be the frequency of
"asking"? Before every access, On file open, at fixed time interval, ...?
• Server - initiated approach Possibilities: A and B both have the same file open. When A closes the file, B
"discards" its copy. Then B must start over.
The server is notified on every open. If a file is opened for writing, then disable
caching by other clients for that file.
Get read/write permission for each block; then disable caching only for particular
blocks.
21
DISTRIBUTED FILE SYSTEMS
COMPARISON OF CACHING AND REMOTE SERVICE:
•

Many remote accesses can be handled by a local cache. There's a great deal of locality of
reference in file accesses. Servers can be accessed only occasionally rather than for each access.

•

Caching causes data to be moved in a few big chunks rather than in many smaller pieces; this
leads to considerable efficiency for the network.

•

Disk accesses can be better optimized on the server if it's understood that requests are always for
large contiguous chunks.

•

Cache consistency is the major problem with caching. When there are infrequent writes, caching
is a win. In environments with many writes, the work required to maintain consistency
overwhelms caching advantages.

•

Caching works best on machines with considerable local store - either local disks or large
memories. With neither of these, use remote-service.

•

Caching requires a whole separate mechanism to support acquiring and storage of large amounts
of data. Remote service merely does what's required for each call. As such, caching introduces an
extra layer and mechanism and is more complicated than remote service.
22
DISTRIBUTED FILE SYSTEMS
STATEFUL VS. STATELESS SERVICE:
Stateful:

A server keeps track of information about client requests.
– It maintains what files are opened by a client; connection identifiers; server caches.
– Memory must be reclaimed when client closes file or when client dies.

Stateless: Each client request provides complete information needed by the server (i.e., filename,
file offset ).
– The server can maintain information on behalf of the client, but it's not required.
– Useful things to keep include file info for the last N files touched.

23
DISTRIBUTED FILE SYSTEMS
STATEFUL VS. STATELESS SERVICE:
Performance is better for stateful.
– Don't need to parse the filename each time, or "open/close" file on every request.
– Stateful can have a read-ahead cache.
Fault Tolerance: A stateful server loses everything when it crashes.
– Server must poll clients in order to renew its state.
– Client crashes force the server to clean up its encached information.
– Stateless remembers nothing so it can start easily after a crash.

24
DISTRIBUTED FILE SYSTEMS
FILE REPLICATION:
•

Duplicating files on multiple machines improves availability and performance.

•

Placed on failure-independent machines ( they won't fail together ).
Replication management should be "location-opaque".

•

The main problem is consistency - when one copy changes, how do other copies reflect that
change? Often there is a tradeoff: consistency versus availability and performance.

•

Example:
"Demand replication" is like whole-file caching; reading a file causes it to be cached locally.
Updates are done only on the primary file at which time all other copies are invalidated.

•

Atomic and serialized invalidation isn't guaranteed ( message could get lost / machine could crash.
)
25
DISTRIBUTED FILE SYSTEMS

SUN Network File System

OVERVIEW:
•

•
•

Runs on SUNOS - NFS is both an implementation and a specification of how to access remote
files. It's both a definition and a specific instance.
The goal: to share a file system in a transparent way.
Uses client-server model ( for NFS, a node can be both simultaneously.) Can act between any two
nodes ( no dedicated server. ) Mount makes a server file-system visible from a client.
mount server:/usr/shared client:/usr/local

•
•
•
•

Then, transparently, a request for /usr/local/dir-server accesses a file that is on the server.
The mount is controlled by: (1) access rights, (2) server specification of what's mountable.
Can use heterogeneous machines - different hardware, operating systems, network protocols.
Uses RPC for isolation - thus all implementations must have the same RPC calls. These RPC's
implement the mount protocol and the NFS protocol.

26
DISTRIBUTED FILE SYSTEMS

SUN Network File System

THE MOUNT PROTOCOL:
The following operations occur:
1. The client's request is sent via RPC to the mount server ( on server machine.)
2. Mount server checks export list containing
a)
b)
c)

file systems that can be exported,
legal requesting clients.
It's legitimate to mount any directory within the legal filesystem.

3. Server returns "file handle" to client.

4. Server maintains list of clients and mounted directories -- this is state information! But this
data is only a "hint" and isn't treated as essential.
5. Mounting often occurs automatically when client or server boots.
27
DISTRIBUTED FILE SYSTEMS

SUN Network File System

THE NFS PROTOCOL:
RPC’s support these remote file operations:
a)
b)
c)
d)
e)

Search for file within directory.
Read a set of directory entries.
Manipulate links and directories.
Read/write file attributes.
Read/write file data.

Note:
– Open and close are conspicuously absent from this list. NFS servers are stateless. Each
request must provide all information. With a server crash, no information is lost.
– Modified data must actually get to server disk before client is informed the action is complete.
Using a cache would imply state information.

– A single NFS write is atomic. A client write request may be broken into several atomic RPC
calls, so the whole thing is NOT atomic. Since lock management is stateful, NFS doesn't do it. A
higher level must provide this service.

28
DISTRIBUTED FILE SYSTEMS

SUN Network File System

NFS ARCHITECTURE:
Follow local and remote access through this figure:

29
DISTRIBUTED FILE SYSTEMS

SUN Network File System

NFS ARCHITECTURE:
1. UNIX filesystem layer - does normal open / read / etc. commands.
2. Virtual file system ( VFS ) layer a)

Gives clean layer between user and filesystem.

b)

Acts as deflection point by using global vnodes.

c)

Understands the difference between local and remote names.

d)

Keeps in memory information about what should be deflected (mounted directories) and
how to get to these remote directories.

3. System call interface layer a)

Presents sanitized validated requests in a uniform way to the VFS.
30
DISTRIBUTED FILE SYSTEMS

SUN Network File System

PATH-NAME TRANSLATION:
• Break the complete pathname into components.
• For each component, do an NFS lookup using the
component name + directory vnode.

• After a mount point is reached, each component piece will cause a server access.
• Can't hand the whole operation to server since the client may have a second mount on a
subsidiary directory (a mount on a mount ).

• A directory name cache on the client speeds up lookups.

31
DISTRIBUTED FILE SYSTEMS

SUN Network File System

CACHES OF REMOTE DATA:
•

The client keeps:
File block cache - ( the contents of a file )
File attribute cache - ( file header info (inode in UNIX) ).

•

The local kernel hangs on to the data after getting it the first time.

•

On an open, local kernel, it checks with server that cached data is still OK.

•

Cached attributes are thrown away after a few seconds.

•

Data blocks use read ahead and delayed write.

•

Mechanism has:
Server consistency problems.
Good performance.

32
DISTRIBUTED FILE SYSTEMS

Andrew File System

A distributed environment at CMU. Strongest characteristic is scalability.
OVERVIEW:
•

Machines are either servers or clients.

•

Clients see a local name space and a shared name space.

•

Servers

run vice which presents a homogeneous, location transparent directory structure to all clients.
•

Clients ( workstations ):
Run virtue protocol to communicate with vice.
Have local disks (1) for local name space, (2) to cache shared data.

•

For scalability, off load work from servers to clients. Uses whole file caching.

•

NO clients or their programs are considered trustworthy.

33
DISTRIBUTED FILE SYSTEMS

Andrew File System

SHARED NAME SPACE:

•

The server file space is divided into volumes. Volumes contain files of only one user. It's these
volumes that are the level of granularity attached to a client.

•

A vice file can be accessed using a fid = <volume number, vnode >. The fid doesn't depend on
machine location. A client queries a volume-location database for this information.

•

Volumes can migrate between servers to balance space and utilization. Old server has
"forwarding" instructions and handles client updates during migration.

•

Read-only volumes ( system files, etc. ) can be replicated. The volume database knows how to find
these.

34
DISTRIBUTED FILE SYSTEMS

Andrew File System

FILE OPERATIONS AND CONSISTENCY SEMANTICS:

•

If a file is remote, the client operating system passes control to a client user-level process named
Venus.

•

The client talks to Vice server only during open/close; reading/writing are only to the local copy.

•

A further optimization - if data is locally cached, it's assumed to be good until the client is told
otherwise.

•

A client is said to have a callback on a file.

•

When a client encaches a file, the server maintains state for this fact.

•

Before allowing a write to a file, the server does a callback to anyone else having this file open; all
other cached copies are invalidated.

•

When a client is rebooted, all cached data is suspect.

•

If too much storage used by server for callback state, the server can break some callbacks.

•

The system clearly has consistency concerns.

35
DISTRIBUTED FILE SYSTEMS

Andrew File System

IMPLEMENTATION:
•

Deflection of open/close:

•

The client kernel is modified to detect references to vice files.

•

The request is forwarded to Venus with these steps:

•

Venus does pathname translation.

•

Asks Vice for the file

•

Moves the file to local disk

•

Passes inode of file back to client kernel.

•

Venus maintains caches for status ( in memory ) and data ( on local disk.)

•

A server user-level process handles client requests.

•

A lightweight process handles concurrent RPC requests from clients.

•

State information is cached in this process.

•

Susceptible to reliability problems.

36
DISTRIBUTED FILE SYSTEMS
Wrap Up
In this section we have looked at how files systems are implemented across systems. Of
special concern is consistency, caching, and performance.

37

Mais conteúdo relacionado

Mais procurados

Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communication
AbDul ThaYyal
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
Ashish Kumar
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architecture
AbDul ThaYyal
 

Mais procurados (20)

Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed Systems
 
6.distributed shared memory
6.distributed shared memory6.distributed shared memory
6.distributed shared memory
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
 
Distributed File Systems
Distributed File SystemsDistributed File Systems
Distributed File Systems
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared Memory
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communication
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architecture
 
Structure of shared memory space
Structure of shared memory spaceStructure of shared memory space
Structure of shared memory space
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote Invocation
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
Distributed deadlock
Distributed deadlockDistributed deadlock
Distributed deadlock
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architecture
 
Distributed Systems Naming
Distributed Systems NamingDistributed Systems Naming
Distributed Systems Naming
 
GOOGLE FILE SYSTEM
GOOGLE FILE SYSTEMGOOGLE FILE SYSTEM
GOOGLE FILE SYSTEM
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed system
 

Semelhante a 11. dfs

Ch16 OS
Ch16 OSCh16 OS
Ch16 OS
C.U
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File System
Milad Sobhkhiz
 

Semelhante a 11. dfs (20)

12. dfs
12. dfs12. dfs
12. dfs
 
Chapter-5-DFS.ppt
Chapter-5-DFS.pptChapter-5-DFS.ppt
Chapter-5-DFS.ppt
 
5.distributed file systems
5.distributed file systems5.distributed file systems
5.distributed file systems
 
11 distributed file_systems
11 distributed file_systems11 distributed file_systems
11 distributed file_systems
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
Nfs
NfsNfs
Nfs
 
Distributed file systems chapter 9
Distributed file systems chapter 9Distributed file systems chapter 9
Distributed file systems chapter 9
 
File service architecture and network file system
File service architecture and network file systemFile service architecture and network file system
File service architecture and network file system
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
OSCh16
OSCh16OSCh16
OSCh16
 
Ch16 OS
Ch16 OSCh16 OS
Ch16 OS
 
OS_Ch16
OS_Ch16OS_Ch16
OS_Ch16
 
DFS PPT.pptx
DFS PPT.pptxDFS PPT.pptx
DFS PPT.pptx
 
Chapter 17 - Distributed File Systems
Chapter 17 - Distributed File SystemsChapter 17 - Distributed File Systems
Chapter 17 - Distributed File Systems
 
Presentation on nfs,afs,vfs
Presentation on nfs,afs,vfsPresentation on nfs,afs,vfs
Presentation on nfs,afs,vfs
 
운영체제론 Ch17
운영체제론 Ch17운영체제론 Ch17
운영체제론 Ch17
 
HDFS_architecture.ppt
HDFS_architecture.pptHDFS_architecture.ppt
HDFS_architecture.ppt
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File System
 
Advanced Storage Area Network
Advanced Storage Area NetworkAdvanced Storage Area Network
Advanced Storage Area Network
 
Distributed file systems dfs
Distributed file systems   dfsDistributed file systems   dfs
Distributed file systems dfs
 

Mais de Dr Sandeep Kumar Poonia

Memetic search in differential evolution algorithm
Memetic search in differential evolution algorithmMemetic search in differential evolution algorithm
Memetic search in differential evolution algorithm
Dr Sandeep Kumar Poonia
 
Performance evaluation of different routing protocols in wsn using different ...
Performance evaluation of different routing protocols in wsn using different ...Performance evaluation of different routing protocols in wsn using different ...
Performance evaluation of different routing protocols in wsn using different ...
Dr Sandeep Kumar Poonia
 

Mais de Dr Sandeep Kumar Poonia (20)

Soft computing
Soft computingSoft computing
Soft computing
 
An improved memetic search in artificial bee colony algorithm
An improved memetic search in artificial bee colony algorithmAn improved memetic search in artificial bee colony algorithm
An improved memetic search in artificial bee colony algorithm
 
Modified position update in spider monkey optimization algorithm
Modified position update in spider monkey optimization algorithmModified position update in spider monkey optimization algorithm
Modified position update in spider monkey optimization algorithm
 
Enhanced local search in artificial bee colony algorithm
Enhanced local search in artificial bee colony algorithmEnhanced local search in artificial bee colony algorithm
Enhanced local search in artificial bee colony algorithm
 
RMABC
RMABCRMABC
RMABC
 
Memetic search in differential evolution algorithm
Memetic search in differential evolution algorithmMemetic search in differential evolution algorithm
Memetic search in differential evolution algorithm
 
Improved onlooker bee phase in artificial bee colony algorithm
Improved onlooker bee phase in artificial bee colony algorithmImproved onlooker bee phase in artificial bee colony algorithm
Improved onlooker bee phase in artificial bee colony algorithm
 
Comparative study of_hybrids_of_artificial_bee_colony_algorithm
Comparative study of_hybrids_of_artificial_bee_colony_algorithmComparative study of_hybrids_of_artificial_bee_colony_algorithm
Comparative study of_hybrids_of_artificial_bee_colony_algorithm
 
A novel hybrid crossover based abc algorithm
A novel hybrid crossover based abc algorithmA novel hybrid crossover based abc algorithm
A novel hybrid crossover based abc algorithm
 
Multiplication of two 3 d sparse matrices using 1d arrays and linked lists
Multiplication of two 3 d sparse matrices using 1d arrays and linked listsMultiplication of two 3 d sparse matrices using 1d arrays and linked lists
Multiplication of two 3 d sparse matrices using 1d arrays and linked lists
 
Sunzip user tool for data reduction using huffman algorithm
Sunzip user tool for data reduction using huffman algorithmSunzip user tool for data reduction using huffman algorithm
Sunzip user tool for data reduction using huffman algorithm
 
New Local Search Strategy in Artificial Bee Colony Algorithm
New Local Search Strategy in Artificial Bee Colony Algorithm New Local Search Strategy in Artificial Bee Colony Algorithm
New Local Search Strategy in Artificial Bee Colony Algorithm
 
A new approach of program slicing
A new approach of program slicingA new approach of program slicing
A new approach of program slicing
 
Performance evaluation of different routing protocols in wsn using different ...
Performance evaluation of different routing protocols in wsn using different ...Performance evaluation of different routing protocols in wsn using different ...
Performance evaluation of different routing protocols in wsn using different ...
 
Enhanced abc algo for tsp
Enhanced abc algo for tspEnhanced abc algo for tsp
Enhanced abc algo for tsp
 
Database aggregation using metadata
Database aggregation using metadataDatabase aggregation using metadata
Database aggregation using metadata
 
Performance evaluation of diff routing protocols in wsn using difft network p...
Performance evaluation of diff routing protocols in wsn using difft network p...Performance evaluation of diff routing protocols in wsn using difft network p...
Performance evaluation of diff routing protocols in wsn using difft network p...
 
Lecture28 tsp
Lecture28 tspLecture28 tsp
Lecture28 tsp
 
Lecture27 linear programming
Lecture27 linear programmingLecture27 linear programming
Lecture27 linear programming
 
Lecture26
Lecture26Lecture26
Lecture26
 

Último

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Último (20)

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 

11. dfs

  • 1. Distributed Operating Systems FILE SYSTEM Sandeep Kumar Poonia Head of Dept. CS/IT B.E., M.Tech., UGC-NET LM-IAENG, LM-IACSIT,LM-CSTA, LM-AIRCC, LM-SCIEI, AM-UACEE
  • 2. Introduction  File system were originally developed for centralized computer systems and desktop computers.  File system was as an operating system facility providing a convenient programming interface to disk storage. 2
  • 3. DISTRIBUTED FILE SYSTEMS DEFINITIONS: • A Distributed File System ( DFS ) is simply a classical model of a file system distributed across multiple machines. The purpose is to promote sharing of dispersed files. • The resources on a particular machine are local to itself. Resources on other machines are remote. • A file system provides a service for clients. The server interface is the normal set of file operations: create, read, etc. on files. 3
  • 4. DISTRIBUTED FILE SYSTEMS Definitions Clients, servers, and storage are dispersed across machines. Configuration and implementation may vary – a) Servers may run on dedicated machines, OR b) Servers and clients can be on the same machines. c) The OS itself can be distributed (with the file system a part of that distribution. d) A distribution layer can be interposed between a conventional OS and the file system. Clients should view a DFS the same way they would a centralized FS; the distribution is hidden at a lower level. Performance is concerned with throughput and response time. 4
  • 5. DISTRIBUTED FILE SYSTEMS Distributed file system support: • Remote Information Sharing- Allows a file to be transparently accessed by processes of any node of the system irrespective of the file’s location • User Mobility- User have flexibility to work on different node at different time • Availability- better fault tolerance • Diskless Workstations 5
  • 6. DISTRIBUTED FILE SYSTEMS Distributed File System provide following type of services: • Storage Service • True File Service • Name Service 6
  • 7. DISTRIBUTED FILE SYSTEMS Desirable features of a good distributed file system  Transparency  Structure transparency  Access Transparency  Naming Transparency  Replication Transparency          User Mobility Performance Simplicity and ease of use Scalability High Availability High Reliability Data Integrity Security Heterogeneity 7
  • 8. File Models Criteria: Structure and Modifiability Structured and Unstructured Files – Structured Files: A file appear to the file server as an ordered sequence of records. • Files with Indexed Records • Files With non-indexed records – Unstructured files: No substructure known to the file server 8
  • 9. File Models Mutable and Immutable Files • Mutable – An update performed on a file overwrites on its old contents – A file is represented as a single stored sequence that is altered by each update operation. • Immutable Files – A file cannot be modified once it has been created – File versioning approach used to implement file updates – It support consistent sharing therefore it is easier to support file caching and replication 9
  • 10. File Accessing Models File Accessing Models of DFS mainly depends on : Method used for accessing remote files and the unit of data access Accessing Remote Files – Remote Service Model: • Client’s request processed at server’s node • In this case Packing and communication overhead can be significant – Data Caching Model: • Client’s request processed on the client’s node itself by using the cached data. • This model greatly reduces network traffic • Cache consistency problem may occur LOCUS and NFS use the remote service model but add caching fro better performance Sprite use data caching model but employs the remote service model under certain circumstances 10
  • 11. File Accessing Models Unit of Data Transfer – File Level Transfer Model( Ex. Amoeba, AFS) • • • • The whole file is moved when an operation requires file data It is simple, It has better scalability Disk access routines on the servers can be better optimized But it requires sufficient storage space on client’s node – Block Level Transfer Model( Ex. LOCUS, Sprite) • • • • Data transferred in units of file blocks It does not require client node to have large storage space It can be used in diskless workstations Network traffic may be significant – Byte Level Transfer Model( Cambridge file server) • Data transfers in units of bytes • Low Storage requires but difficulty in cache management – Record Level Transfer Model( Research Storage System) • Suitable for Structured model 11
  • 12. DISTRIBUTED FILE SYSTEMS Naming and Transparency Naming is the mapping between logical and physical objects. – Example: A user filename maps to <cylinder, sector>. – In a conventional file system, it's understood where the file actually resides; the system and disk are known. – In a transparent DFS, the location of a file, somewhere in the network, is hidden. – File replication means multiple copies of a file; mapping returns a SET of locations for the replicas. Location transparency a) The name of a file does not reveal any hint of the file's physical storage location. b) File name still denotes a specific, although hidden, set of physical disk blocks. c) This is a convenient way to share data. d) Can expose correspondence between component units and machines. 12
  • 13. DISTRIBUTED FILE SYSTEMS Naming and Transparency Location independence – The name of a file doesn't need to be changed when the file's physical storage location changes. Dynamic, one-to-many mapping. – Better file abstraction. – Promotes sharing the storage space itself. – Separates the naming hierarchy from the storage devices hierarchy. Most DFSs today: – Support location transparent systems. – Do NOT support migration; (automatic movement of a file from machine to machine.) – Files are permanently associated with specific disk blocks. 13
  • 14. DISTRIBUTED FILE SYSTEMS Naming and Transparency The ANDREW DFS AS AN EXAMPLE: – Is location independent. – Supports file mobility. – Separation of FS and OS allows for disk-less systems. These have lower cost and convenient system upgrades. The performance is not as good. NAMING SCHEMES: There are three main approaches to naming files: 1. Files are named with a combination of host and local name. – This guarantees a unique name. NEITHER location transparent NOR location independent. – Same naming works on local and remote files. The DFS is a loose collection of independent file systems. 14
  • 15. DISTRIBUTED FILE SYSTEMS Naming and Transparency NAMING SCHEMES: 2. Remote directories are mounted to local directories. – So a local system seems to have a coherent directory structure. – The remote directories must be explicitly mounted. The files are location independent. – SUN NFS is a good example of this technique. 3. A single global name structure spans all the files in the system. – The DFS is built the same way as a local filesystem. Location independent. 15
  • 17. DISTRIBUTED FILE SYSTEMS Naming and Transparency IMPLEMENTATION TECHNIQUES: – Can Map directories or larger aggregates rather than individual files. – A non-transparent mapping technique: name ----> < system, disk, cylinder, sector > – A transparent mapping technique: name ----> file_identifier ----> < system, disk, cylinder, sector > – So when changing the physical location of a file, only the file identifier need be modified. This identifier must be "unique" in the universe. 17
  • 18. DISTRIBUTED FILE SYSTEMS CACHING • Reduce network traffic by retaining recently accessed disk blocks in a cache, so that repeated accesses to the same information can be handled locally. • If required data is not already cached, a copy of data is brought from the server to the user. • Perform accesses on the cached copy. • Files are identified with one master copy residing at the server machine, • Copies of (parts of) the file are scattered in different caches. • Cache Consistency Problem -- Keeping the cached copies consistent with the master file. • A remote service ((RPC) has these characteristic steps: a) The client makes a request for file access. b) The request is passed to the server in message format. c) The server makes the file access. d) Return messages bring the result back to the client. This is equivalent to performing a disk access for each request. 18
  • 19. DISTRIBUTED FILE SYSTEMS CACHE LOCATION: • • • • • • • • Caching is a mechanism for maintaining disk data on the local machine. This data can be kept in the local memory or in the local disk. Caching can be advantageous both for read ahead and read again. The cost of getting data from a cache is a few HUNDRED instructions; disk accesses cost THOUSANDS of instructions. The master copy of a file doesn't move, but caches contain replicas of portions of the file. Caching behaves just like "networked virtual memory". What should be cached? << blocks <---> files >>. Bigger sizes give a better hit rate; smaller give better transfer times. Caching on disk gives: — Better reliability. Caching in memory gives: — The possibility of diskless work stations, — Greater speed, Since the server cache is in memory, it allows the use of only one mechanism. 19
  • 20. DISTRIBUTED FILE SYSTEMS CACHE UPDATE POLICY: A write through cache • When a cache entry is modified, the new value is immediately set to server for updating master copy of file • It has good reliability. But the user must wait for writes to get to the server. Used by NFS. Delayed write • Modified value written only to the cache and client make a note • All update gathered and sent to server at a time – Write on ejection from cache – Periodic write – Write on close • write requests complete more rapidly. Data may be written over the previous cache write, saving a remote write. Poor reliability on a crash. 20
  • 21. DISTRIBUTED FILE SYSTEMS CACHE CONSISTENCY: The basic issue is, how to determine that the client-cached data is consistent with what's on the server. • Client - initiated approach The client asks the server if the cached data is OK. What should be the frequency of "asking"? Before every access, On file open, at fixed time interval, ...? • Server - initiated approach Possibilities: A and B both have the same file open. When A closes the file, B "discards" its copy. Then B must start over. The server is notified on every open. If a file is opened for writing, then disable caching by other clients for that file. Get read/write permission for each block; then disable caching only for particular blocks. 21
  • 22. DISTRIBUTED FILE SYSTEMS COMPARISON OF CACHING AND REMOTE SERVICE: • Many remote accesses can be handled by a local cache. There's a great deal of locality of reference in file accesses. Servers can be accessed only occasionally rather than for each access. • Caching causes data to be moved in a few big chunks rather than in many smaller pieces; this leads to considerable efficiency for the network. • Disk accesses can be better optimized on the server if it's understood that requests are always for large contiguous chunks. • Cache consistency is the major problem with caching. When there are infrequent writes, caching is a win. In environments with many writes, the work required to maintain consistency overwhelms caching advantages. • Caching works best on machines with considerable local store - either local disks or large memories. With neither of these, use remote-service. • Caching requires a whole separate mechanism to support acquiring and storage of large amounts of data. Remote service merely does what's required for each call. As such, caching introduces an extra layer and mechanism and is more complicated than remote service. 22
  • 23. DISTRIBUTED FILE SYSTEMS STATEFUL VS. STATELESS SERVICE: Stateful: A server keeps track of information about client requests. – It maintains what files are opened by a client; connection identifiers; server caches. – Memory must be reclaimed when client closes file or when client dies. Stateless: Each client request provides complete information needed by the server (i.e., filename, file offset ). – The server can maintain information on behalf of the client, but it's not required. – Useful things to keep include file info for the last N files touched. 23
  • 24. DISTRIBUTED FILE SYSTEMS STATEFUL VS. STATELESS SERVICE: Performance is better for stateful. – Don't need to parse the filename each time, or "open/close" file on every request. – Stateful can have a read-ahead cache. Fault Tolerance: A stateful server loses everything when it crashes. – Server must poll clients in order to renew its state. – Client crashes force the server to clean up its encached information. – Stateless remembers nothing so it can start easily after a crash. 24
  • 25. DISTRIBUTED FILE SYSTEMS FILE REPLICATION: • Duplicating files on multiple machines improves availability and performance. • Placed on failure-independent machines ( they won't fail together ). Replication management should be "location-opaque". • The main problem is consistency - when one copy changes, how do other copies reflect that change? Often there is a tradeoff: consistency versus availability and performance. • Example: "Demand replication" is like whole-file caching; reading a file causes it to be cached locally. Updates are done only on the primary file at which time all other copies are invalidated. • Atomic and serialized invalidation isn't guaranteed ( message could get lost / machine could crash. ) 25
  • 26. DISTRIBUTED FILE SYSTEMS SUN Network File System OVERVIEW: • • • Runs on SUNOS - NFS is both an implementation and a specification of how to access remote files. It's both a definition and a specific instance. The goal: to share a file system in a transparent way. Uses client-server model ( for NFS, a node can be both simultaneously.) Can act between any two nodes ( no dedicated server. ) Mount makes a server file-system visible from a client. mount server:/usr/shared client:/usr/local • • • • Then, transparently, a request for /usr/local/dir-server accesses a file that is on the server. The mount is controlled by: (1) access rights, (2) server specification of what's mountable. Can use heterogeneous machines - different hardware, operating systems, network protocols. Uses RPC for isolation - thus all implementations must have the same RPC calls. These RPC's implement the mount protocol and the NFS protocol. 26
  • 27. DISTRIBUTED FILE SYSTEMS SUN Network File System THE MOUNT PROTOCOL: The following operations occur: 1. The client's request is sent via RPC to the mount server ( on server machine.) 2. Mount server checks export list containing a) b) c) file systems that can be exported, legal requesting clients. It's legitimate to mount any directory within the legal filesystem. 3. Server returns "file handle" to client. 4. Server maintains list of clients and mounted directories -- this is state information! But this data is only a "hint" and isn't treated as essential. 5. Mounting often occurs automatically when client or server boots. 27
  • 28. DISTRIBUTED FILE SYSTEMS SUN Network File System THE NFS PROTOCOL: RPC’s support these remote file operations: a) b) c) d) e) Search for file within directory. Read a set of directory entries. Manipulate links and directories. Read/write file attributes. Read/write file data. Note: – Open and close are conspicuously absent from this list. NFS servers are stateless. Each request must provide all information. With a server crash, no information is lost. – Modified data must actually get to server disk before client is informed the action is complete. Using a cache would imply state information. – A single NFS write is atomic. A client write request may be broken into several atomic RPC calls, so the whole thing is NOT atomic. Since lock management is stateful, NFS doesn't do it. A higher level must provide this service. 28
  • 29. DISTRIBUTED FILE SYSTEMS SUN Network File System NFS ARCHITECTURE: Follow local and remote access through this figure: 29
  • 30. DISTRIBUTED FILE SYSTEMS SUN Network File System NFS ARCHITECTURE: 1. UNIX filesystem layer - does normal open / read / etc. commands. 2. Virtual file system ( VFS ) layer a) Gives clean layer between user and filesystem. b) Acts as deflection point by using global vnodes. c) Understands the difference between local and remote names. d) Keeps in memory information about what should be deflected (mounted directories) and how to get to these remote directories. 3. System call interface layer a) Presents sanitized validated requests in a uniform way to the VFS. 30
  • 31. DISTRIBUTED FILE SYSTEMS SUN Network File System PATH-NAME TRANSLATION: • Break the complete pathname into components. • For each component, do an NFS lookup using the component name + directory vnode. • After a mount point is reached, each component piece will cause a server access. • Can't hand the whole operation to server since the client may have a second mount on a subsidiary directory (a mount on a mount ). • A directory name cache on the client speeds up lookups. 31
  • 32. DISTRIBUTED FILE SYSTEMS SUN Network File System CACHES OF REMOTE DATA: • The client keeps: File block cache - ( the contents of a file ) File attribute cache - ( file header info (inode in UNIX) ). • The local kernel hangs on to the data after getting it the first time. • On an open, local kernel, it checks with server that cached data is still OK. • Cached attributes are thrown away after a few seconds. • Data blocks use read ahead and delayed write. • Mechanism has: Server consistency problems. Good performance. 32
  • 33. DISTRIBUTED FILE SYSTEMS Andrew File System A distributed environment at CMU. Strongest characteristic is scalability. OVERVIEW: • Machines are either servers or clients. • Clients see a local name space and a shared name space. • Servers run vice which presents a homogeneous, location transparent directory structure to all clients. • Clients ( workstations ): Run virtue protocol to communicate with vice. Have local disks (1) for local name space, (2) to cache shared data. • For scalability, off load work from servers to clients. Uses whole file caching. • NO clients or their programs are considered trustworthy. 33
  • 34. DISTRIBUTED FILE SYSTEMS Andrew File System SHARED NAME SPACE: • The server file space is divided into volumes. Volumes contain files of only one user. It's these volumes that are the level of granularity attached to a client. • A vice file can be accessed using a fid = <volume number, vnode >. The fid doesn't depend on machine location. A client queries a volume-location database for this information. • Volumes can migrate between servers to balance space and utilization. Old server has "forwarding" instructions and handles client updates during migration. • Read-only volumes ( system files, etc. ) can be replicated. The volume database knows how to find these. 34
  • 35. DISTRIBUTED FILE SYSTEMS Andrew File System FILE OPERATIONS AND CONSISTENCY SEMANTICS: • If a file is remote, the client operating system passes control to a client user-level process named Venus. • The client talks to Vice server only during open/close; reading/writing are only to the local copy. • A further optimization - if data is locally cached, it's assumed to be good until the client is told otherwise. • A client is said to have a callback on a file. • When a client encaches a file, the server maintains state for this fact. • Before allowing a write to a file, the server does a callback to anyone else having this file open; all other cached copies are invalidated. • When a client is rebooted, all cached data is suspect. • If too much storage used by server for callback state, the server can break some callbacks. • The system clearly has consistency concerns. 35
  • 36. DISTRIBUTED FILE SYSTEMS Andrew File System IMPLEMENTATION: • Deflection of open/close: • The client kernel is modified to detect references to vice files. • The request is forwarded to Venus with these steps: • Venus does pathname translation. • Asks Vice for the file • Moves the file to local disk • Passes inode of file back to client kernel. • Venus maintains caches for status ( in memory ) and data ( on local disk.) • A server user-level process handles client requests. • A lightweight process handles concurrent RPC requests from clients. • State information is cached in this process. • Susceptible to reliability problems. 36
  • 37. DISTRIBUTED FILE SYSTEMS Wrap Up In this section we have looked at how files systems are implemented across systems. Of special concern is consistency, caching, and performance. 37