Exercises Meetings INF5040 (Open Distributed Systems) Lucas
11 Slides154.28 KB
Exercises Meetings INF5040 (Open Distributed Systems) Lucas Provensi ([email protected]) Swati Sharma ([email protected]) Department of Informatics University of Oslo September 4, 2014
Initial Meeting Plan Date Topic 04.09.14 Overview and theoretical exercises 11.09.14 Theoretical exercises 18.09.14 First programming assignment (introduction and specification) 25.09.14 TAs will be available for helping you with the 1 st assignment 02.10.14 No meeting 09.10.14 Theoretical exercises and submission of 1 st assignment 16.10.14 Second programming assignment (introduction and specification) 23.10.14 TAs will be available for helping you with the 2 nd assignment 30.10.14 Theoretical exercises 06.11.14 Third programming assignment (introduction and specification) and submission of 2nd assignment 14.11.14 TAs will be available for helping you with the 3 rd assignment 20.11.14 Theoretical exercises 27.11.14 Theoretical exercises and submission of the 3 rd assignment INF5040 - Group Meetings 2
Exercises Theoretical exercises Based on the lectures and taken form the text books; Group of students; Preparation time discussion. Programming assignments Tutorial lectures; Reserved days for assisting students; All assignments are mandatory! Topics covered during meeting may be part of final exam! INF5040 - Group Meetings 3
Regarding all assignments Groups of 2 to 3 students All assignments must be approved to be eligible to take the final exam For those who took this subject last fall: If you were eligible to take the exam then, i.e., you got the programming assignments approved, you do NOT have to do them again this semester. Preferences regarding group composition (if any) should be sent to: To: [email protected] and [email protected] Deliveries: https://devilry.ifi.uio.no/ INF5040 - Group Meetings 4
Assignment 1 Development of a simple object-based distributed application Will be described 18.09.14 Related to the topic discussed on the Objectbased Distributed Systems lecture (17.09.14) Technologies and Tools: Java CORBA and RMI APIs. Preliminary Deadline: 09.10.14 INF5040 - Group Meetings 5
Assignment 2 Development of a simple application based on group communication Will be described 16.10.14 Related to the topic discussed on the Replication in Distributed Systems lecture (15.10.14) Technologies and Tools: Spread Toolkit http://www.spread.org/ Java API Preliminary Deadline: 06.11.14 INF5040 - Group Meetings 6
Assignment 3 Development of a simple peer-to-peer protocol Will be described 06.11.14 Related to the topic discussed on the Peer-topeer Systems lecture (29.10.14) Technologies and Tools: PeerSim Simulator http://peersim.sourceforge.net/ Preliminary Deadline: 27.11.14 INF5040 - Group Meetings 7
Previous Lectures Introduction to Distributed Systems Coulouris ch. 1 and TvS ch. 1 Distributed systems: components located in a network that communicates and coordinates their actions exclusively by sending messages. Consequences of distributed systems Distribution transparency INF5040 - Group Meetings 8
Exercises 1. 2. 3. 4. 5. 6. We defined a DS as one in which hardware and software components located at networked computers communicate and coordinate their actions only by passing messages. What are the consequences of defining a DS in this manner? (Coulouris ch. 1 ex. 1.1) Explain what is meant by (distribution) transparency, and give examples of different types of transparency. (Tanenbaum ch. 1 ex. 4) Why is not always a good idea to aim at implementing the highest degree of transparency possible? (Tanenbaum ch. 1 ex. 6) Describe precisely what is meant by scalable system. (Tanenbaum ch. 1 ex. 8) Consider the implementation strategies for massively multiplayer online games. In particular, what advantages do you see in adopting a single server approach for representing the state of the game? What problems can you identify and how might they be resolved? (Coulouris ch. 1 ex. 1.3) The INFO service manages a potentially very large set of resources, each of which can be accessed by users throughout the Internet by means of a key (a string name). Discuss an approach to the design of the names of the resources that achieves the minimum loss of performance as the number or resources in the service increases. Suggest how the service can be implemented so as to avoid performance bottlenecks when the number of users becomes very large. (Coulouris ch. 1 ex. 1.10) INF5040 - Group Meetings 9
Previous Lectures System Models for Distributed Systems Coulouris ch. 2 Physical models: capture the hardware composition of a system in terms of computers and other devices and their interconnecting network; Architecture models: defines the components of the system, the way they interact, and the way they are deployed in a network of computers Fundamental models: formal description of the properties that are common to all architecture models interaction models and failure models INF5040 - Group Meetings 10
Exercises 1. 2. 3. How is caching useful in placement strategies? What are its disadvantages? (Coulouris ch. 2 ex. 2.7) What are the two variants of the interaction model in distributed systems? On what point do they differ? (Coulouris ch. 2 ex. 2.13) Consider two communication services for use in asynchronous distributed systems. In service A, messages may be lost, duplicated or delayed and checksums apply only to headers. In service B, messages may be lost, delayed or delivered too fast for the recipient to handle them, but those that are delivered arrive with the correct contents. Describe the classes of failure exhibited by each service. Classify their failures according to their effects on the properties of validity and integrity. Can service B be described as a reliable communication service? (Coulouris ch. 2 ex. 2.14) Classes of failure: omission(fail-stop, crash, channel), arbitrary (byzantine), timing(clock, performance) Validity: Any message in the outgoing message buffer is eventually delivered to the incoming message buffer Integrity: The message received is identical to the one sent, and no messages are delivered twice. INF5040 - Group Meetings 11