Assignment: Distributed Systems University Homepage School Homepage School Contacts School Search Distributed Systems Back to Course Webpage Assignment Assignment Description in pdf is here. Last updated on Nov 8. The leader election algorithm relevant to the coursework is on the course web page. And will be discussed on Oct. 16. You are advised to read it yourself before then. Deadline Friday November 13. 4:00 pm. Please read the entire document carefully before starting work on it. We may make small modifications to the description for better explanation and clarity. Please always make sure to download the latest version. Announcements Another input sample and guideline java class files are up. Assignment is up. Sample inputs: input.txt input_simple.txt Outline class files. These files are a sketch of what the classes for the Network and nodes might look like. Your code does not have to follow the exact strcuture, but it will help if you stick to it to some extent. If your program has any fundamental structural difference from these, please explain in the submitted document. Network.java Node.java Other announcements related to the assignment will be placed on this page. Frequently asked questions Can I modify the code given in the samples? Yes. these are just example starting points. See the comment above them. It is not complete, and obviously, not operational. We provided it to give you an idea of what methods/variables you might need. You have to add/replace variable, methods. That is the assignment! Why is the round duration 20ms? Arbitrary choice. That is just happens to be the specification. When do the failures for part B occur? After everything from part A is complete. Why don’t the failures have associated time or round? They are intended occur at large gaps, with the assumption that all the processing you need for one are completed before the next. Failures break my ring or the entire LE algorithm. What is the right way to handle that? Should I do X or Y? There is no perfect answer to part B of the assignemnt. The intention is for you to explore possibilities and come up with ideas implement some of them. You will be get marks for thinking through the issues, discussing them and the quality of your ideas in the accompanying document. Do I need to use a termination detection algorithm to detect when distributed computations end after a failure? No. The model here is that the failures just happen to occur at long intervals. They are not deliberately triggered by nodes after previous things. Remember that we are trying to simulate the effect of certain types of event sequences. So it is fine if you use some kind of offline/centralized method to detect when it is time for another failure. For example, may be the information in the network object can be used (along with the fact that in our synchronous model that all computations between messages are supposed to finish in one round) to detect the right time. Can I submit as an eclipse or other GUI project? No. The submission should be only be standard java program files and must compile and run on their own without dependence on other software. Questions that you are supposed to answer to do the assignment, or you should know the answer, or with answer already in pdf document. How to keep track of which neighbours of a node p have already received the message from p? What is the ring? Are we supposed to sort the nodes in a ring topology? What should be happening in the first 4 rounds before the first election? [hint: Nothing!] If in the same round a node has more than one messages to send to the same neighbour, what does it do? How is the 1 msg/neighbour/round to be enforced? Does a message between two nodes/node threads have to pass through the network or can a node send a message directly to its neighbours? How to use multithreading? After an election is complete, does the leader let everybody know about its election? Can I assume that the given order will always be a valid ring in the input network? Yes. Last updated: 29 October. Home : Teaching : Courses : Ds Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail: school-office@inf.ed.ac.uk Please contact our webadmin with any comments or corrections. Logging and Cookies Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh