11.3 Distributed File Systems Communication Xueli Xiao
Communication Usually based on remote procedure calls, or some variation. Rationale for choosing RPC mechanism: To make the system independent from underlying operating systems, networks and transport protocols. RPCs in NFS RPC2 Subsystem File-Oriented Communication in Plan 9
What is RPC (remote procedure call) Remote Procedure Call (RPC) is a protocol that one program can use to request a service from a program located in another computer in a network without having to understand network details.
What is NFS • Network file system • Client-server architecture
RPCs in NFS • Before NFSv4: Each file system operation is represented as an RPC. Pre- version 4 NFS required one RPC at a time, so server didn’t have to remember any state. • NFSv4: supports compound procedures (several RPCs grouped together)
RPCs in NFS Reading data from a file in NFS version Reading data using compound procedure in version 4
RPC2 Subsystem • An enhancement to RPCs • Support for side effects • Support for multicasting
RPC2 Subsystem Side effect A side effect is a mechanism by which the client and server can communicate using an application-specific protocol.
RPC2 Subsystem Side effects in Coda’s RPC2 System
RPC2 Subsystem Multicasting Multicast is group communication where information is addressed to a group of destination computers simultaneously.
RPC2 Subsystem Sending invalidation message one at a time Sending invalidation message in parallel
File-Oriented Communication in Plan 9 • Plan 9: a file-based distributed system originally developed by the Bell Labs • File-oriented communication: a completely different approach to handling communication • Network interfaces are represented by a file system, in this case consisting of a collection of special files. • Example: an individual TCP connection is represented by a subdirectory consisting of relevant files.
File-Oriented Communication in Plan 9 Files associated with a single TCP connection in Plan 9
File-Oriented Communication in Plan 9 • Used to send control commands to the connection • Example: Open a telnet session to a machine with IP address 192.31.231.42 using port 23 requires the sender to write the text string “connect 192.31.231.42!23” to file ctl receiver have previously written “announce 23” to its own ctl file
File-Oriented Communication in Plan 9 • Used to exchange data by simply performing read and write operations • These operations follow the usual UNIX semantics for file operations • Example: write data to a connection res - write(fd, buf, nbytes)
Current Communication Mechanisms
Future Research Energy-efficient communication fault-tolerant data communication system Use of RPCs in high performance computing
References Distributed systems principles and paradigms https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs https://en.wikipedia.org/wiki/Multicast http://www.coda.cs.cmu.edu/doc/html/rpc2_manual.html Thanh, T.D.; Mohan, S.; Eunmi Choi; SangBum Kim; Pilsung Kim, "A Taxonomy and Survey on Distributed File Systems," in Networked Computing and Advanced Information Management, 2008. NCM '08. Fourth International Conference on , vol.1, no., pp.144-149, 2-4 Sept. 2008
Thank you!