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

  1. Another input sample and guideline java class files are up.
  2. Assignment is up.

Sample inputs:

  1. input.txt
  2. 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.

Other announcements related to the assignment will be placed on this page.

Frequently asked questions

  1. 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!
  2. Why is the round duration 20ms?

    • Arbitrary choice. That is just happens to be the specification.
  3. When do the failures for part B occur?

    • After everything from part A is complete.
  4. 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.
  5. 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.
  6. 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.

  7. 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.

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