CS533 Concepts of Operating Systems Class 8 Remote Procedure Call & LRPC.

Slides:



Advertisements
Similar presentations
Remote Procedure Call Design issues Implementation RPC programming
Advertisements

User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Akbar.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Lightweight Remote Procedure Call B. Bershad, T. Anderson, E. Lazowska and H. Levy U. Of Washington.
Fast Communication Firefly RPC Lightweight RPC  CS 614  Tuesday March 13, 2001  Jeff Hoy.
Lightweight Remote Procedure Call BRIAN N. BERSHAD THOMAS E. ANDERSON EDWARD D. LAZOWSKA HENRY M. LEVY Presented by Wen Sun.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
Implementing Remote Procedure Calls Authored by: Andrew D. Birrel and Bruce Jay Nelson Presented by: Terry, Jae, Denny.
G Robert Grimm New York University Lightweight RPC.
CS533 Concepts of Operating Systems Class 3 Monitors.
CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events.
CS533 Concepts of Operating Systems Class 8 Shared Memory Implementations of Remote Procedure Call.
CS533 - Concepts of Operating Systems 1 Remote Procedure Calls - Alan West.
CS533 Concepts of Operating Systems Class 3 Monitors.
Implementing Remote Procedure Calls Authors: Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presenter: Jim Santmyer Thanks to:
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
Remote Procedure Calls (RPC) Presenter: Benyah Shaparenko CS 614, 2/24/2004.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy ACM Transactions Vol. 8, No. 1, February 1990,
Remote Procedure Calls (RPC) - Swati Agarwal. RPC – an overview Request / reply mechanism Procedure call – disjoint address space clientserver computation.
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
Outcomes What is RPC? The difference between conventional procedure call and RPC? Understand the function of client and server stubs How many steps could.
CS533 Concepts of Operating Systems Class 7 Integrated Task and Stack Management.
CS533 - Concepts of Operating Systems 1 Class Discussion.
CS533 Concepts of Operating Systems Class 9 User-Level Remote Procedure Call.
Implementing Remote Procedure Calls an introduction to the fundamentals of RPCs, made during the advent of the technology. what is an RPC? what different.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
CS603 Communication Mechanisms 14 January Types of Communication Shared Memory Message Passing Stream-oriented Communications Remote Procedure Call.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
.NET Mobile Application Development Remote Procedure Call.
Remote Procedure Calls Taiyang Chen 10/06/2009. Overview Remote Procedure Call (RPC): procedure call across the network Lightweight Remote Procedure Call.
1 Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska and Henry M. Levy Presented by: Karthika Kothapally.
CS533 Concepts of Operating Systems Class 9 Lightweight Remote Procedure Call (LRPC) Rizal Arryadi.
CS510 Concurrent Systems Jonathan Walpole. Lightweight Remote Procedure Call (LRPC)
Implementing Remote Procedure Calls ANDREW D. BIRRELL and BRUCE JAY NELSON Presented by Tony Bock.
Lightweight Remote Procedure Call (Bershad, et. al.) Andy Jost CS 533, Winter 2012.
Remote Procedure Calls Adam Smith, Rodrigo Groppa, and Peter Tonner.
Problems with Send and Receive Low level –programmer is engaged in I/O –server often not modular –takes 2 calls to get what you want (send, followed by.
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Lightweight Remote Procedure Call BRIAN N. BERSHAD, THOMAS E. ANDERSON, EDWARD D. LASOWSKA, AND HENRY M. LEVY UNIVERSTY OF WASHINGTON "Lightweight Remote.
The Peregrine High-Performance RPC System David B. Johnson Willy Zwaenepoel Software—Practice & Experience February 1993.
Networking Implementations (part 1) CPS210 Spring 2006.
Remote Procedure Call RPC
Remote Procedure Call and Serialization BY: AARON MCKAY.
09/14/05 1 Implementing Remote Procedure Calls* Birrell, A. D. and Nelson, B. J. Presented by Emil Constantinescu *ACM Trans. Comput. Syst. 2, 1 (Feb.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
Implementing Remote Procedure Calls Andrew D. Birrell and Bruce Jay Nelson 1894 Xerox Palo Alto Research Center EECS 582 – W16.
Implementing Remote Procedure Calls Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Published: ACM Transactions on Computer Systems,
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Phil Howard.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
Lecture 5: RPC (exercises/questions). 26-Jun-16COMP28112 Lecture 52 First Six Steps of RPC TvS: Figure 4-7.
CS533 Concepts of Operating Systems
Implementing Remote Procedure Calls
Implementing RPC by Birrell & Nelson
IPC and RPC.
B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M
DISTRIBUTED COMPUTING
Remote Procedure Call (RPC)
CS533 Concepts of Operating Systems Class 10
By Brian N. Bershad, Thomas E. Anderson, Edward D
CGS 3763 Operating Systems Concepts Spring 2013
Fast Communication and User Level Parallelism
Presented by Neha Agrawal
Presented by: SHILPI AGARWAL
Lecture 6: RPC (exercises/questions)
CS533 Concepts of Operating Systems Class 11
Lecture 6: RPC (exercises/questions)
Lecture 7: RPC (exercises/questions)
Last Class: Communication in Distributed Systems
Presentation transcript:

CS533 Concepts of Operating Systems Class 8 Remote Procedure Call & LRPC

CS533 - Concepts of Operating Systems 2 Questions  What is partial failure and why does it complicate RPC? o What are the semantics of RPC? o At most once? At least once?  Why not use time-outs?  Can partial failure be completely hidden? o If not, where does it appear?  Can you distinguish between crashed and slow? o Why does caller probe periodically?

CS533 - Concepts of Operating Systems 3 Questions  What server-side state is maintained? o When can it be discarded? o What is a conversation ID and why do you need it?  What is a call ID used for? o In the caller? o In the callee?  How does RPC piggy-back acknowledgements and connection establishment?

CS533 - Concepts of Operating Systems 4 Questions  What are stubs and what do they do? o How do they relate to adaptors from the last class?

CS533 - Concepts of Operating Systems 5 Questions  Why can’t parameters be passed by reference?  How does RPC minimize process creation costs?  Why use process IDs in packets?

CS533 - Concepts of Operating Systems 6 Questions  Why do LRPC procedure descriptors include the number of simultaneous calls permitted to the procedure by a client?  Why must the binding object be presented to the kernel on every call?  Why doesn’t the server handle the callers return address directly?  Why does the kernel maintain a stack of linkage records for each caller, instead of just one?

CS533 - Concepts of Operating Systems 7 Questions  Why isn’t a binding object required to validate the return call, just like the initial call?  In what way does LRPC depend on the calling conventions of Modula2+ ?  How are parameters passed by reference?  How does LRPC maintain safety?

CS533 - Concepts of Operating Systems 8 Questions  How many copies does RPC do? o What are they? o How many does LRPC do?  What stops a 2 nd client thread from changing arguments on the A-stack once the server has started using them? o How might this problem be addressed?  How does LRPC solve the problem of a client thread being “captured” by a server? o Why is this not necessary in normal RPC?

CS533 - Concepts of Operating Systems 9 Questions  How does LRPC optimize VM context switching on a multiprocessor? o Why does this work? o Why is this approach potentially wasteful? o Why does it help to spin idle CPUs in commonly executed VM contexts?  Why does a tagged TLB save TLB flushing but not MMU context switching?

CS533 - Concepts of Operating Systems 10 Reminder  Class 9 presenters o Discuss your presentation plans with me ahead of time o Mail me the final version of your slides BEFORE the class