1
CPSC 410--Richard Furuta 4/15/99 1
Silberschatz and Galvin Chapter 17
Distributed File Systems
CPSC 410--Richard Furuta 4/15/99 2
Silberschatz and Galvin Chapter 17 Distributed File Systems CPSC - - PDF document
Silberschatz and Galvin Chapter 17 Distributed File Systems CPSC 410--Richard Furuta 4/15/99 1 Distributed File Systems Naming and Transparency Remote File Access Stateful versus Stateless Service File Replication CPSC
CPSC 410--Richard Furuta 4/15/99 1
CPSC 410--Richard Furuta 4/15/99 2
CPSC 410--Richard Furuta 4/15/99 3
CPSC 410--Richard Furuta 4/15/99 4
Ð A client interface for a file service is formed by a set of primitive file operations (create, delete, read, write). Ð Client interface of a DFS should be transparent, i.e., not distinguish between local and remote files.
CPSC 410--Richard Furuta 4/15/99 5
Ð Example: file names versus physical blocks of data stored on data tracks
Ð For a file being replicated in several sites, the mapping returns a set
copies and their location are hidden.
CPSC 410--Richard Furuta 4/15/99 6
CPSC 410--Richard Furuta 4/15/99 7
CPSC 410--Richard Furuta 4/15/99 8
CPSC 410--Richard Furuta 4/15/99 9
Ð rely on servers to provide all files, including the operating system kernel Ð booting requires boot protocol, stored in ROM, and the kernel or boot code stored in a fixed location Ð diskless client advantages: lower cost (diminishing return with lower cost disks), less noise, easier to upgrade OS (update server copy) Ð diskless client disadvantages: added complexity of local protocols; performance loss resulting from use of network, rather than disk.
CPSC 410--Richard Furuta 4/15/99 10
CPSC 410--Richard Furuta 4/15/99 11
CPSC 410--Richard Furuta 4/15/99 12
CPSC 410--Richard Furuta 4/15/99 13
CPSC 410--Richard Furuta 4/15/99 14
CPSC 410--Richard Furuta 4/15/99 15
CPSC 410--Richard Furuta 4/15/99 16
CPSC 410--Richard Furuta 4/15/99 17
CPSC 410--Richard Furuta 4/15/99 18
CPSC 410--Richard Furuta 4/15/99 19
¥ Write-through Ð write data through to disk as soon as they are placed
¥ Delayed-write Ð modifications written to the cache and then written through to the server later. Write accesses complete quickly; some data may be overwritten before they are written back, and so need never be written at all.
Ð Poor reliability; unwritten data will be lost if a user machine crashes Ð Variation Ð write modified data blocks when ejecting from clientÕs cache. However, some blocks may reside in cache a long time. Ð Variation Ð scan cache at regular intervals and flush blocks that have been modified since the last scan. Ð Variation Ð write-on-close, writes data back to the server when the file is
modified.
CPSC 410--Richard Furuta 4/15/99 20
Ð Client initiates a validity check. Ð Server checks whether the local data are consistent with the master copy. Ð May load network and server.
Ð Server records, for each client, the (parts of) files it caches. Ð When server detects a potential inconsistency, it must react (for example, notification)
CPSC 410--Richard Furuta 4/15/99 21
Ð Reduces server load and network traffic. Ð Enhances potential for scalability.
CPSC 410--Richard Furuta 4/15/99 22
CPSC 410--Richard Furuta 4/15/99 23
CPSC 410--Richard Furuta 4/15/99 24
CPSC 410--Richard Furuta 4/15/99 25
CPSC 410--Richard Furuta 4/15/99 26
CPSC 410--Richard Furuta 4/15/99 27
CPSC 410--Richard Furuta 4/15/99 28
¥ Restore state by recovery protocol based on a dialog with clients, or abort operations that were underway when the crash
¥ Server needs to be aware of client failures in order to reclaim space allocated to record the state of crashed client processes (orphan detection and elimination).
CPSC 410--Richard Furuta 4/15/99 29
¥ each request identifies the target file so a uniform, system- wide, low-level naming scheme is required ¥ client operations must be idempotent since they may be retransmitted
Ð idempotent: each operation has the same effect and produces the same output if executed several times consecutively
CPSC 410--Richard Furuta 4/15/99 30
CPSC 410--Richard Furuta 4/15/99 31
Ð Failure-independent machines (i.e., availability of one replica is independent from availability of others) Ð Improves availability Ð Can shorten service times
Ð Existence of replicas should be invisible to higher levels. Ð Replicas must be distinguished from one another by different lower-level names.
CPSC 410--Richard Furuta 4/15/99 32