Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Distributed Systems Lecture # 3. Administrivia Projects –Design and Implement a distributed file system Paper Discussions –Discuss papers as case studies."— Presentation transcript:

1 Distributed Systems Lecture # 3

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

3 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

4 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)

5 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

6 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

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

8 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

9 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

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

11 RPC Components ClientServer StubSkeleton Client FrameworkServer Framework Network

12 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

13 Events Subscribe/notify Asynchronous Non-blocking Subscribe Notify

14 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

15 Programming Events Main thread Events Handler Subscribe Notify

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

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

18 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

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


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

Similar presentations


Ads by Google