[G OOGLE F ILE S YSTEM AND RPC] Shrideep Pallickara Computer - - PDF document

g oogle f ile s ystem and rpc
SMART_READER_LITE
LIVE PREVIEW

[G OOGLE F ILE S YSTEM AND RPC] Shrideep Pallickara Computer - - PDF document

CS555: Distributed Systems [Fall 2019] Dept. Of Computer Science , Colorado State University CS 555: D ISTRIBUTED S YSTEMS [G OOGLE F ILE S YSTEM AND RPC] Shrideep Pallickara Computer Science Colorado State University CS555: Distributed Systems


slide-1
SLIDE 1

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.1

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS 555: DISTRIBUTED SYSTEMS

[GOOGLE FILE SYSTEM AND RPC]

Shrideep Pallickara Computer Science Colorado State University

November 21, 2019

L26.1 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.2 Professor: SHRIDEEP PALLICKARA

Frequently asked questions from the previous class survey

¨ After a snapshot, if a client seeks to change a chunk how is that

handled?

¨ Why is caching files (at the application level) not done?

November 21, 2019

slide-2
SLIDE 2

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.2

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.3 Professor: SHRIDEEP PALLICKARA

Topics covered in this lecture

¨ Google File System ¤ Replication ¤ Consistency in GFS ¤ Deletion of files and garbage collection ¨ RPC ¤ Persistence/transience ¤ Synchronous/asynchronous communications ¤ Parameters in RPC settings

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

REPLICATION

November 19, 2019

L25.4

slide-3
SLIDE 3

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.3

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.5 Professor: SHRIDEEP PALLICKARA

Reasons why chunk replicas are created

¨ Chunk creation ¨ Re-replication ¨ Rebalancing

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.6 Professor: SHRIDEEP PALLICKARA

Chunk replica creation

¨ Place replicas on chunk servers with below average disk space

utilization

¨ Limit the number of recent creations on a chunk server ¤ Predictor of imminent heavy traffic ¨ Spread replicas across racks

November 19, 2019

slide-4
SLIDE 4

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.4

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.7 Professor: SHRIDEEP PALLICKARA

Re-replicate chunks when replication level drops

¨ How far is it from replication goal ¨ Preference for chunks of live files ¨ Boost priority of chunks blocking client progress

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.8 Professor: SHRIDEEP PALLICKARA

Rebalancing replicas

¨ Examine current replica distribution and move replicas ¤ Better disk space ¤ Load balancing ¨ Removal of existing replicas ¤ Chunk servers with below-average disk space

November 19, 2019

slide-5
SLIDE 5

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.5

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.9 Professor: SHRIDEEP PALLICKARA

Incorporating a new chunk server

¨ Do not swamp new server with lots of chunks ¤ Concomitant traffic will bog down the machine ¨ Gradually fill up new server with chunks

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CONSISTENCY IN GFS

November 19, 2019

L25.10

slide-6
SLIDE 6

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.6

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.11 Professor: SHRIDEEP PALLICKARA

In GFS the state of file region after mutation depends on …

¨ TYPE of the mutation ¨ SUCCESS/FAILURE of the mutation ¨ Whether there were CONCURRENT mutations

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.12 Professor: SHRIDEEP PALLICKARA

GFS has a relaxed consistency model

¨ Consistent: See the same data ¤ On all replicas ¨ Defined ¤ Clients see mutation writes in its entirety

November 19, 2019

slide-7
SLIDE 7

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.7

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.13 Professor: SHRIDEEP PALLICKARA

File state region after a mutation

Write Record Append Serial success defined Concurrent success Consistent but undefined defined interspersed with inconsistent Failure Inconsistent

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.14 Professor: SHRIDEEP PALLICKARA

Implications for applications

¨ Rely on appends instead of overwrites ¨ Checkpoint ¨ Write records that are ¤ Self-validating ¤ Self-identifying

November 19, 2019

slide-8
SLIDE 8

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.8

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

DELETION OF FILES & GARBAGE COLLECTION

November 19, 2019

L25.15 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.16 Professor: SHRIDEEP PALLICKARA

Garbage collection in GFS

¨ After a file is deleted, GFS does not reclaim space immediately ¨ Done lazily during garbage collection at ¤ File and chunk levels

November 19, 2019

slide-9
SLIDE 9

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.9

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.17 Professor: SHRIDEEP PALLICKARA

Master logs a file’s deletion immediately

¨ File is renamed to a hidden name ¤ Includes deletion timestamp ¨ Master scans the file system namespace ¤ Delete if hidden file existed for more than 3 days ¨ When file removed from namespace ¤ In memory metadata is also removed ¤ Severs links to all its chunks!

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.18 Professor: SHRIDEEP PALLICKARA

Garbage collection: When Master scans its chunk namespace

¨ Identifies orphaned chunks ¤ Not reachable from any file ¨ Erase metadata for these chunks

November 19, 2019

slide-10
SLIDE 10

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.10

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.19 Professor: SHRIDEEP PALLICKARA

The role of heart-beats in garbage collection

¨ Chunk server reports subset of chunks it currently has ¨ Master replies with identity of chunks no longer present ¤ Chunk server free to delete its replica of such chunks

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.20 Professor: SHRIDEEP PALLICKARA

Stale chunks and issues

November 19, 2019

¨ If a chunk server fails ¤ AND misses mutations to the chunk ¤ The chunk replica becomes stale ¨ Working with a stale replica causes problems with: ¤ Correctness ¤ Consistency

slide-11
SLIDE 11

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.11

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.21 Professor: SHRIDEEP PALLICKARA

Aiding the detection of stale chunks

¨ Master maintains a chunk version number for each chunk ¤ Distinguish between stale and up-to-date chunks ¨ When master grants a new lease on chunk ¤ Increase version number ¤ Inform replicas ¤ Record new version Occurs BEFORE any client can write to chunk

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.22 Professor: SHRIDEEP PALLICKARA

If a replica is unavailable its version number will not be advanced

November 19, 2019

¨ When a chunk server restarts, it reports to the Master with the

following:

¤ Set of Chunks ¤ Corresponding version numbers ¨ Used to detect stale replicas ¨ Remove stale replicas in regular garbage collection

slide-12
SLIDE 12

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.12

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.23 Professor: SHRIDEEP PALLICKARA

Additional safeguards against stale replicas

November 19, 2019

¨ Include chunk version number ¤ When client requests chunk information n Client/Chunk server verify version to make sure things are up-to-date ¤ During cloning operations n Clone the most up-to-date chunk ¨ Clients and chunk servers expected to verify versioning information

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

DATA INTEGRITY

November 19, 2019

L25.24

slide-13
SLIDE 13

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.13

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.25 Professor: SHRIDEEP PALLICKARA

Data Integrity

November 19, 2019

¨ Impractical to detect chunk corruptions across replicas ¤ Not bytewise identical in any case! ¨ Detection of corruption should be self-contained

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.26 Professor: SHRIDEEP PALLICKARA

Data Integrity

¨ Break chunks into 64 KB data blocks ¨ Compute 32-bit checksum for block ¤ Keep in chunk server memory ¤ Store persistently, separate from the data ¨ Verify checksums of data blocks that overlap read range

November 19, 2019

slide-14
SLIDE 14

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.14

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

INEFFICIENCIES

November 19, 2019

L25.27 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.28 Professor: SHRIDEEP PALLICKARA

The master server is a single point of failure

¨ Master server restart takes several seconds ¨ Shadow servers exist ¤ Can handle reads of files n In place of the master ¤ But not writes ¨ Requires a massive main memory

November 19, 2019

slide-15
SLIDE 15

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.15

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.29 Professor: SHRIDEEP PALLICKARA

The system is optimized for large files

¨ But not for a very large number of very small files ¨ Primary operation on files ¤ Long, sequential reads/writes ¤ Large number of random overwrites will clog things up quite a bit

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.30 Professor: SHRIDEEP PALLICKARA

Consistency Issues: GFS expects clients to resolve inconsistencies

¨ File chunks may have gaps or duplicates of some records ¤ The client has to be able to deal with this ¨ Imagine doing this for a scientific application ¤ Portions of a massive array are corrupted n Clients would have to detect this n Detection is possible of course, but onerous!

November 19, 2019

slide-16
SLIDE 16

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.16

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.31 Professor: SHRIDEEP PALLICKARA

Security model

¨ None ¤ Operation is expected to be in a trusted environment

November 19, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

RPCS AND DISTRIBUTED OBJECTS

November 21, 2019

L26.32

slide-17
SLIDE 17

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.17

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.33 Professor: SHRIDEEP PALLICKARA

RPCs and Distributed Objects

¨ Why are we looking at this? ¨ What we will cover in the next few lectures: ¤ Middleware based interactions ¤ Remote Procedure Calls ¤ How to design your own distributed objects framework ¤ Java RMI

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

MIDDLEWARE BASED INTERACTIONS

November 21, 2019

L26.34

slide-18
SLIDE 18

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.18

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.35 Professor: SHRIDEEP PALLICKARA

Viewing the middleware as an additional service in client-server computing: E-mail

¨ Sender passes mail to mail-server ¨ Hope that server will eventually deliver to client ¨ Receiver connects to mail server to see if mail is available ¤ If so, pull it

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.36 Professor: SHRIDEEP PALLICKARA

The middleware as an intermediary for application- level communications

Client Server Wait for result Request Response

Time

Storage/Transmission facility

November 21, 2019

slide-19
SLIDE 19

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.19

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.37 Professor: SHRIDEEP PALLICKARA

Persistent communications

¨ Message handed-off to a middleware is held as long as it takes to

deliver to receiver

¨ Sending application need not execute after message submission ¨ Receiver application need not execute when message is being

submitted

¨ Time-decoupled interactions

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.38 Professor: SHRIDEEP PALLICKARA

Transient communications

¨ Message stored only as long as the sender and receiver are executing ¤ At the same time ¨ Transport level communications are transient ¤ E.g. if a router cannot deliver to a host, simply drop the message

November 21, 2019

slide-20
SLIDE 20

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.20

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.39 Professor: SHRIDEEP PALLICKARA

Asynchronous communication

¨ Do not block ¨ Proceed to the next thing, once a message has been submitted

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.40 Professor: SHRIDEEP PALLICKARA

Synchronous communications

¨ Sender can block ¨ Until request is known to be accepted

November 21, 2019

slide-21
SLIDE 21

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.21

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.41 Professor: SHRIDEEP PALLICKARA

Synchronization points

Client Server Request Response

Time

Storage/Transmission facility Synchronize at request submission Synchronize at request delivery Synchronize after processing by server

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.42 Professor: SHRIDEEP PALLICKARA

Synchronicity and persistence options can be combined

¨ Persistence + synchronization? § Message queuing systems ¨ Transience + synchronization? § Remote procedure calls

November 21, 2019

slide-22
SLIDE 22

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.22

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.43 Professor: SHRIDEEP PALLICKARA

Discrete and streaming communications

¨ Discrete ¤ Each message is a complete unit of information ¨ Streaming ¤ Multiple messages; one after another ¤ Related by sending order or temporal relationships

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

REMOTE PROCEDURE CALLS

November 21, 2019

L26.44

slide-23
SLIDE 23

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.23

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.45 Professor: SHRIDEEP PALLICKARA

Conventional procedure calls

¨ Consider a call:

count = read(fd, buf, nbytes);

¨ fd indicates a file ¨ buf is an array of characters ¨ nbytes tells us how many bytes to read

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.46 Professor: SHRIDEEP PALLICKARA

Caller pushes parameters onto stack (last one first) in

  • rder

Main program’s local variables Main program’s local variables nbytes nbytes buf buf fd fd return address read read’s local variables

BEFORE AFTER

November 21, 2019

slide-24
SLIDE 24

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.24

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.47 Professor: SHRIDEEP PALLICKARA

Parameter passing in C

¨ Call-by-value ¨ Call-by-reference

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.48 Professor: SHRIDEEP PALLICKARA

Parameter passing in C: Call-by-value

¨ Values parameters simply copied on to stack ¤ Scalar types ¤ In our example? fd and nbytes ¨ In the called procedure? § Value parameters = initialized local variables ¨ Changes made do not affect original value at the caller

November 21, 2019

slide-25
SLIDE 25

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.25

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.49 Professor: SHRIDEEP PALLICKARA

Parameter passing in C: Call-by-reference

¨ Reference parameter ¤ Pointer (address) to a variable ¤ Not the value ¤ When used to store something n Results in modifications at the caller ¨ Arrays are passed by reference ¤ Address of our character array buf

buf pushed on stack

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.50 Professor: SHRIDEEP PALLICKARA

Another parameter passing scheme: Call-by-copy/restore

¨ Caller will copy variable on to the stack ¤ Similar to call-by-value ¨ Copy back after call ¤ Overwrite original value at the caller ¨ In most settings has the same effect as call-by-reference

November 21, 2019

slide-26
SLIDE 26

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.26

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.51 Professor: SHRIDEEP PALLICKARA

Distributed systems often have explicit message exchanges

¨ Rely on send

send and receive receive primitives

¨ Do not conceal communications ¤ Needed to achieve access transparency

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.52 Professor: SHRIDEEP PALLICKARA

Origins of RPC

¨ RFC 707 (1976). ¤ First use was at Xerox in 1981 (COURIER) ¨ 1984 paper by Birell and Nelson ¤ Introduced a different way of handling communications ¤ Allow programs to call procedures located on remote machines

November 21, 2019

slide-27
SLIDE 27

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.27

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.53 Professor: SHRIDEEP PALLICKARA

Remote procedure call (RPC)

¨ Process on A calls procedure on machine B ¨ Calling process on A is suspended ¨ Execution of called procedure takes place on B ¨ Results are transported ¨ Message passing not visible to the programmer

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.54 Professor: SHRIDEEP PALLICKARA

Goal of RPC is to make a remote procedure call look like a local one

¨ Objective is transparency ¨ Calling procedure should not be aware that called procedure is remote ¤ The other way around too

November 21, 2019

slide-28
SLIDE 28

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.28

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.55 Professor: SHRIDEEP PALLICKARA

Reading data from a file on a single processor system

¨ Use the API’s read in the code ¨ The read routine is extracted from library by a linker ¤ Inserted into program ¨ The routine is implemented by an equivalent read system call ¨ The read call is an interface between user-code and the local OS

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.56 Professor: SHRIDEEP PALLICKARA

RPC transparency is similar

¨ If read is a remote procedure? ¤ A different version, called a stub, is put into library ¨ When it is invoked: ¤ Does not ask the OS for data, but … ¤ Creates a request message to be sent to server ¨ Client stub does a send ¤ Then calls receive (blocking itself) until reply comes

November 21, 2019

slide-29
SLIDE 29

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.29

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.57 Professor: SHRIDEEP PALLICKARA

The server’s OS passes message to a server stub

¨ Transforms network requests into local invocations ¨ Stub usually calls receive ¤ Is blocked awaiting incoming messages ¨ Perform remote work to get results ¤ Return result to the client

November 21, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.58 Professor: SHRIDEEP PALLICKARA

RPC Mechanism

Arg Caller Client Stub RPC Protocol Callee Server Stub RPC Protocol Arguments Request Reply Return Value Arguments Return Value Request Reply

November 21, 2019

slide-30
SLIDE 30

SLIDES CREATED BY: SHRIDEEP PALLICKARA L19.30

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L26.59 Professor: SHRIDEEP PALLICKARA

The contents of this slide-set are based on the following references

¨ Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung: The Google file system.

Proceedings of SOSP 2003: 29-43.

¨ Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten Van

  • Steen. 2nd Edition. Prentice Hall. ISBN: 0132392275/978-0132392273. [Chapter

6]

¨ Distributed Systems: Concepts and Design. George Coulouris, Jean Dollimore, Tim

Kindberg, Gordon Blair. 5th Edition. Addison Wesley. ISBN: 978-0132143011.

¨ Java Distributed Computing. Jim Farley. O’Reilly. ISBN 1-56592-206-9 November 21, 2019