Implementing Remote Procedure Calls - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Implementing Remote Procedure Calls

Description:

Implementing Remote Procedure Calls – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 23
Provided by: anup6
Category:

less

Transcript and Presenter's Notes

Title: Implementing Remote Procedure Calls


1
Implementing Remote Procedure Calls
  • Andrew D. Birrell and Bruce J. Nelson,
  • Xerox Palo Alto Research Center

Presented By Anupam Chanda Assisted By Animesh
Nandi
2
The Problem
  • Distributed Programs
  • Different paradigms for communication
  • RPC, Message passing
  • System design issues to achieve semantics

3
Local Procedure Calls
  • Structure Tool
  • Semantics
  • Synchronization
  • Procedure executed exactly once
  • Callee dies caller dies

4
Remote Procedure Calls
  • Communication
  • Semantics
  • Synchronization
  • Independent failure modes
  • Procedure executed at most once or at least once

5
RPC Pros and Cons
  • Same synchrony as local procedure calls
  • Sequential execution
  • Familiar program structure
  • At the expense of concurrency

6
  • Consider possible/sensible semantics of RPC
  • Design issues for efficient RPC

7
  • Issues
  • Independent failure modes
  • Slow/deadlocked nodes
  • Lack of shared address space
  • Choice
  • Procedure executed at most once

8
  • Identify remote node and procedure
  • Perform RPC

9
foo()
foo()
  • Interface module
  • Importer calls
  • Exporter implements

10

RPC Runtime
RPC Runtime
Server-stub
Server
User
User-stub
Call packet
Local call Local return
Pack args Unpack result
Transmit Wait Receive
Receive Wait Transmit
Unpack args Pack result
Call Work Return
Result packet
Caller Machine
Callee Machine
Comm. n/w
11
Server Exporting Interface
UID
Dbase
Server-code
Server-stub
ExportInterface
Server n/w address 128.42.1.30
12
User Importing Interface
Dbase
User-code
User-stub
ImportInterface
128.42.1.30
7b865a
Server RPCRuntime
UID
13
Caller
Callee
14
(No Transcript)
15
Caller
Callee
Call Packet
Send
Receive
Work
Wait
Result packet
Transmit
Timeout
Wait
Retransmit
Call Packet
Receive
Receive
Result packet
16
Caller
Callee
Call Packet
Send
Receive
Wait
Work
Timeout
Call Packet
Retransmit
Deadlock
Wait
Ack
17
Caller
Callee
Call Packet
Send
Crash
Wait
Timeout
Reboot
Retransmit
Call Packet
Restore
Receive
Reject
Rebind
18
Caller
Callee
Call Packet
Send
Receive
Wait
Work
Timeout
Crash
Retransmit
Call Packet
Reboot
Restore
Result Packet
Receive
19
3Mbps Ethernet
Node1
Node2
  • 12,000 calls on each procedure

20
  • Cost of import/export not included?
  • Compare with existing similar systems?

21
  • Distributed computation made easier by RPC
  • RPC semantics during server crash, deadlock or
    packet loss
  • Important distributed computing paradigm
  • E.g. Network File System

22
Thank You!
Write a Comment
User Comments (0)
About PowerShow.com