CS4/MSc Distributed Systems
This module runs in the first semester, on Monday and Thursday at
15:00 - 15:50, taught by
Richard Mayr.
Monday lectures will take place in DHT FRN (David Hume Tower).
Thursday lectures will take place in 7GS F21 (7 George Street).
Richard Mayr's office hour
is Mondays 14:00-15:00 and he can be found in room IF 4.11.
A distributed system is broadly categorised as a collection or network
of loosely coupled, autonomous computers that can communicate with
each other and execute logically separate computations, though these
may be related to concurrent computations on other nodes.
- The nodes are relatively loosely coupled.
- Each node is a self-contained autonomous computer with its own
peripherals.
- The system can survive various categories of node and network
failures.
- The nodes may execute logically separate computations, though
these may be related to concurrent computations on other nodes.
- The system is asynchronous.
Distributed systems have become pervasive---many applications now
require the cooperation of two or more computers--yet the design and
implementation of such systems remain challenging and complex tasks.
Difficulties arise from the concurrency of components, the lack of a
global clock and the possibility of independent failure of components.
Moreover designs must aim to provide inter-operability, transparency
and autonomy.
The emphasis of this module is on gaining understanding of the
principles and concepts that are used to design distributed systems
and experience of software platforms which underpin their development.
- Documents
- Slides
Slides will typically be available from the web page a day or two
before the lecture.
- Programs
- Helpful Web pages
- Books
- Distributed Systems: Concepts and Design ,
G. Coulouris, J. Dollimore and T. Kindberg,
Addison-Wesley, 2005 Fourth Edition.
This is the recommended course text and you will find
that lectures relate quite closely to chapters.
Web pages supporting the book, can be found
here.
-
Andrew S. Tanenbaum and Maarten Van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall, September 2001.
(web site: http://www.cs.vu.nl/~ast/books/ds1/)
-
Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996.
-
Andrew S. Tanenbaum, Computer Networks, 3rd ed., Prentice-Hall, 1996.
-
R. Chow and T. Johnson, Distributed Operating systems and Algorithms, Addison-Wesley, 1997.
- Coursework
- Projects (for level 11 students only!): Assigned: Nov. 5, Submission Deadline: Nov. 26.
Instructions for submission of program code (for project 1 only): Use the electronic submission system with the `submit' command
(see link )
to submit your program code electronically. The course identifier for this course is `ds'.
Also submit a paper copy of your code together with your writeup at the ITO.
Instructions for submission of project 2: Submit a paper copy of your essay at the ITO.
-
Grading: The final exam counts for 75%, and the coursework (and project at level 11) count for 25%.
These 25% are split as follows for level 10 and level 11 students.
-
For level 10 students: Each of the two courseworks counts for 12.5%.
-
For level 11 students: 1. Coursework counts 8%, 2. Coursework counts 8%, Project counts 9%.
- Exams
Note that there has been a substantial revision of
the module in the academic year 2001/2, and a minor one in
2002/3. Nevertheless you should find some questions on past exam
papers useful for revision purposes.
This page is maintained by the Course Organiser
Richard Mayr.