Course Code | COMP9243 |
Course Title |
Distributed Systems
|
Convener |
Ihor Kuz
|
Lectures |
Tue 15:00-17:00, online, weeks 1-10
Fri 16:00-18:00, online, weeks 1-10 |
Consults | Mon 14:00-15:00, online |
Units of Credit | 6 |
Course Website | http://cse.unsw.edu.au/~cs9243 |
Handbook Entry | http://www.handbook.unsw.edu.au/postgraduate/courses/current/COMP9243.html |
Due to COVID-19 restrictions this will be on online-only course. No face-to-face teaching or activities are required or provided. Please read the following regarding being on campus ( https://www.covid-19.unsw.edu.au/safe-return-campus-faqs ) and illness (and the resources available to you in case you fall ill) during the COVID-19 pandemic ( https://edtech.eng.unsw.edu.au/c19mess/comms.html ).
A distributed system is a computer system consisting of several independent computers, connected by a network, that can work together to perform a task or provide a service. Typical examples include: the World Wide Web, cloud computing, networked file systems, DNS, and massive multiprocessor supercomputers.
In this course we aim to provide students with a deeper understanding of distributed systems. In particular we focus on the principles, techniques, and practices relevant to the design and implementation of such systems. The course takes a systems-oriented view of distributed systems, concentrating on infrastructure software and providing hands-on experience implementing distributed systems.
The course timetable is available here .
The course has the following objectives:
After completing this course you will be able to:
This course contributes to the development of the following graduate capabilities:
Graduate Capability | Acquired in |
scholarship: understanding of their discipline in its interdisciplinary context |
lectures, assignments
|
scholarship: capable of independent and collaborative enquiry |
lectures, assignments, exam
|
scholarship: able to apply their knowledge and skills to solving problems | lectures, assignments, exams |
scholarship: capable of effective communication | assignments, exams |
leadership: enterprising, innovative and creative |
assignments, exams
|
leadership: collaborative team workers | assignments |
professionalism: capable of independent, self-directed practice |
lectures, assignments
|
Before commencing this course, students should:
Furthermore since networks make up a key part of distributed systems, and since many of the key challenges and solutions presented in the course extend those found in operating systems, a solid background in both networking and operating systems is essential. The course builds on many of the topics covered in the prerequisites.
The learning focus in this course is primarily on lectures and assignments. Relevant research publications and other material that goes deeper into the subjects handled during lectures are also provided, however, these are usually optional. We also endeavour to provide examples of how the material covered in the course is put into practice through guest lectures from industry practitioners.
While the assignments contribute a portion of the final mark, one of their primary aims is to provide an opportunity to put into practice some of the material presented in the lectures and to get a feel for the complexity of designing and programming distributed systems. To this end, we also provide unmarked exercises that encourage students to further explore the topics presented in the course.
Finally, the lecturer is also always available to engage in further discussion related to the course material.
There will be two programming assignments, which contribute in specified parts to the total assignment mark for this course. Tentative details are as follows:
# | Release - Beginning of | Due - End of | Topic | Marks |
1 | Week 2 | Week 4 | Distributed Shared Memory (group assignment) | 40 |
2 | Week 7 | Week 8 | Router Network (individual assignment) |
40
|
3 | Week 9 | Week 10 | Cloud Computing (group assignment) | 20 |
Assignment submissions need to be coded in C, Erlang, Java, or Python (as determined by the assignment specification). Depending on the assignment, submission will be tested on the School's
vina
cluster running under Debian GNU/Linux, or on Amazon's AWS service.
The penalty for late submission of assignments will be 6% (of the worth of the assignment) subtracted from the raw mark per day of being late. In other words, earned marks will be lost. For example, assume an assignment worth 25 marks is marked as 20, but had been submitted two days late. The late penalty will be 3 marks ((0.06 * 25) * 2), resulting in a mark of 17 being awarded. No assignment will be accepted later than one week after the deadline.
A two hour open book written final examination will be conducted.
Supplementary exams will only be awarded in serious cases where the student has submitted a fully documented request for Special Consideration within 3 working days of the exam. In accordance with School policy, supplementary exams will not be awarded as a second chance for poorly performing students. In particular, it is unlikely that a supplementary will be awarded to students who have actually sat the proper exam. Make up your mind whether or not you are sick before attempting the exam! Moreover, a supplementary exam will only be awarded where a student's performance during the semester has been of satisfactory standard. Please refer to the sections under the heading Special Consideration - Illness & Misadventure and CSE Supplementary Assessment Policy on the Essential Advice page for further details.
Supplementary exams will be written .
The final mark will be the weighted average of the exam mark and the total assignment mark, where the exam mark accounts for 65% and the assignment mark accounts for 35% of the final mark . No-one will be allowed a passing grade unless their exam mark was at least 50% of the maximum possible exam mark.
Plagiarism is defined as using the words or ideas of others and presenting them as your own. UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:
Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism. In particular, you are also responsible that your assignment files are not accessible by anyone but you by setting the correct permissions in your CSE directory and code repository, if using one. Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your own work.
UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own.
If you haven't done so yet, please take the time to read the full text of
The pages below describe the policies and procedures in more detail:
Lectures :
Due to COVID-19 restrictions this will be an online course. Lectures videos will be posted online one day prior to the published lecture time. Please watch the videos prior to the lecture time. An online Q&A will be held in Moodle's Blackboard Collaborate starting at the normal lecture time.
The following is a provisional list of topics covered in the lectures (subject to change):
Week | Date | Lecture Topics | Q&A Topics |
---|---|---|---|
1 | 15 Sep |
Introduction to Distributed Systems
|
Introduction to Distributed Systems |
18 Sep | Introduction to Erlang | Introduction to Erlang | |
2 | 22 Sep | System Architecture | System Architecture, Assignment 1 |
25 Sep | Communication | Communication, Assignment 1 | |
3 | 29 Sep |
Replication & Consistency
|
Replication and Consistency, Assignment 1 |
2 Oct |
Distributed Memory
|
Distributed Memory, Assignment 1 | |
4 | 6 Oct |
Synchronisation & Coordination 1
|
Synchronisation & Coordination 1, Assignment 1 |
9 Oct |
Synchronisation & Coordination 2
|
|
|
5 | 13 Oct |
Fault Tolerance
|
Synchronisation & Coordination 2, Assignment 1
|
16 Oct |
|
Fault Tolerance | |
6 | 20 Oct | Flexibility week | Revision |
23 Oct | Flexibility week | Revision | |
7 | 27 Oct | Security | Assignment 2 |
30 Oct |
|
Security, Assignment 2 | |
8 | 3 Nov | Naming, Distributed Filesystems | Assignment 2 |
6 Nov | Middleware | Naming, Distributed Filesystems, Assignment 2 | |
9 | 10 Nov | Cloud | Middleware, Assignment 3 |
13 Nov | Blockchain | Cloud, Blockchain, Assignment 3 | |
10 | 17 Nov | Distributed Systems in Practice | Distributed Systems in Practice |
20 Nov |
|
Review (no recorded lecture, only Q&A) |
There is no single textbook for this course. Lecture material will be taken from a variety of sources, including recent research publications.
Books covering a significant part of the lecture material are the following (in order of preference and being most up-to-date):
None of these books covers all the course material.
Reference to research papers will be provided throughout, and it is recommended that you read them. Lecture notes and other information can be found under the course's WWW home page at URL http://www.cse.unsw.edu.au/~cs9243/ . It is recommended that you refer to this page regularly.
This course is evaluated each session using the CATEI system as well as a more detailed course-specific survey.
Student feedback is taken seriously, and continual improvements are made to the course based in part on this feedback. While no serious issues have been raised in the CATEI and other evaluations, we have made changes to assignments and assignment specifications based on student comments and updated lecture material to ensure that it is up-to-date as well as to improve sections that have been unclear to students in the past. We will also aim to provide more tutorial style questions during the course and review solutions with the class. Since this is a fast moving field, we have endeavoured to include more relevant material on current trends in distributed computing, in particular cloud computing and the design of large scale distributed systems and distributed databases. We also include (subject to availability of speakers) relevant guest lectures from industry practitioners to provide examples of how the material covered in class is used in practice.
Resource created Monday 07 September 2020, 09:31:39 PM, last modified Sunday 04 July 2021, 12:49:34 PM.