Distributed Systems Lecture # 3. Administrivia Projects –Design and Implement a distributed file system Paper Discussions –Discuss papers as case studies.

Slides:



Advertisements
Similar presentations
RPC Robert Grimm New York University Remote Procedure Calls.
Advertisements

U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
RPC Remote Procedure Call Dave Hollinger Rensselaer Polytechnic Institute Troy, NY.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
L-7 RPC 1. Last Lecture Important Lessons - Naming Naming is a powerful tool in system design  A layer of indirection can solve many problems Name+context.
Distributed systems Programming with threads. Reviews on OS concepts Each process occupies a single address space.
Distributed Systems Lecture #3: Remote Communication.
File System Implementation
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Learning Objectives Understanding the difference between processes and threads. Understanding process migration and load distribution. Understanding Process.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Client-Server Communication Sockets Remote Procedure Calls Remote Method Invocation (Java)
NETWORK FILE SYSTEM (NFS) By Ameeta.Jakate. NFS NFS was introduced in 1985 as a means of providing transparent access to remote file systems. NFS Architecture.
Sun NFS Distributed File System Presentation by Jeff Graham and David Larsen.
1 Remote Procedure Calls (RPC) and Distributed Objects G53ACC Chris Greenhalgh.
Chapter 9 Message Passing Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Operating Systems, by Dhananjay Dhamdhere2 Introduction.
1 Course Introduction CS423 Client/Server Programming and Apps References: Comer/Stevens, Ch1.
1 Chapter 2. Communication. STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered Protocol But some other protocols.
Communication Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
CS 153 Design of Operating Systems Spring 2015 Lecture 23: Inter-Process Communication (IPC) and Remote Procedure Call (RPC)
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
1 Network and Distributed File Systems With content from Distributed Communication Systems Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet.
1 Lecture 5 (part2) : “Interprocess communication” n reasons for process cooperation n types of message passing n direct and indirect message passing n.
3.1 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8 th Edition Chapter 3: Processes.
IT 344: Operating Systems Winter 2008 Module 19 Networking & Remote Procedure Call (RPC) Chia-Chi Teng CTB 265.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Page 1 Remote Procedure Calls Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
Remote Procedure Call RPC
Remote Procedure Call and Serialization BY: AARON MCKAY.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Manish Kumar,MSRITSoftware Architecture1 Remote procedure call Client/server architecture.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 2, 3: Communication 1/30/20161Distributed Systems - COMP 655.
Distributed objects and remote invocation Pages
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
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.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 17 – Introduction to Distributed Systems Outline 17.1Introduction 17.2Attributes of Distributed.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
Prof. Leonardo Mostarda University of Camerino
Dave Eckhardt RPC Dave Eckhardt
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
DISTRIBUTED COMPUTING
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
EECE.4810/EECE.5730 Operating Systems
Lecture 6: RPC (exercises/questions)
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Lecture 6: RPC (exercises/questions)
Lecture 7: RPC (exercises/questions)
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Presentation transcript:

Distributed Systems Lecture # 3

Administrivia Projects –Design and Implement a distributed file system Paper Discussions –Discuss papers as case studies

Paper Discussions Attended by ~40 students 15% grade (10 + 5) Paper discussion modeled after program committee meetings Each Paper presented by 4 students –Motivator (context of work) –Presenter –Advocate –Devil’s advocate –Class discussion and vote

Assignments Assignments: –One big project Teams of 5 –Network File System Both paper design and implementation Communication (2 weeks: Design and implement) Naming (2 weeks: design and implement) Storage: Multiple users (2 weeks: design and implement) Reliability (make it work in 3 weeks)

Design Documents 400 words: One pager Two main sections –What is your design? –What were the alternatives Only bullet points –A picture is worth a thousand words

Implementation.. then you implement your design No copying of code –This is a serious offense! Use Java: Lots of existing code and libraries –Code submission at the end of the week –TAs will need to see a demo

Layered Communication Application Distributed System (RPC) Socket OS TCP/IP UDP/IP

Sun RPC What does a Sun RPC request contain? Wire format –Xid –Call or reply –RPC version –program # –program version –procedure # –auth bits –Marshaled arguments

Marshalling: Sun RPC Marshaling arguments "Linearize" data "Externalize" data: Formats defined by XDR standard Easy for e.g. int -- same representation, though portable byte-order... Collections? include a length. Pointers? Pass by value or reference? Return Values –How to return? IDL: In, Out, INOut RMI: Objects –Recursive packing

RPC: Summary Synchronous, Blocking Mimics a procedural call Involves: –Data transfer: Marshaling –Thread Migration

RPC Components ClientServer StubSkeleton Client FrameworkServer Framework Network

NFS Transparency Tension between performance and consistency –Syntax preserved –Not Semantics –File read/write semantics Only check on open() Consistency? –Events! Expose Distribution: Java RMI

Events Subscribe/notify Asynchronous Non-blocking Subscribe Notify

Events Better performance than polling for larger tasks –Do it, let me know when you are done Preferred mode of communication for interactive applications: none-blocking But Harder to program –Synchronization –Spaghetti code

Programming Events Main thread Events Handler Subscribe Notify

Distributed Shared Memory Int x; x = 10; Int x;.. print x; X = 10 Consistency? Deadlock? DSM abstraction? Make it explicit

Tuple-spaces Tuple-space Explicit DSM Tuple as the atomic data object Clearly defined semantics for insert/read/peak

Your distributed file system What would you use? Your file system Java Operating System -Client-server communication - Naming of files -Storage of files - Consistency - Availability

Your file-system File Server Remote Client Communication? Name Server? Directories? Storage Local file-system? Consistency of data/names Fault-tolerance