UNSW   Faculty of Engineering PRINT VERSIONSITE MAP  
cse | School of Computer Science and Engineering (CRICOS Provider No. 00098G)
    #About CSE     #Undergraduate Study     #Postgraduate Study     #Timetables & Courses     #Research & Publications     #People & Work Units     #Help & Resources     #News & Events     #High School Portal

Last updated 04.12.08

Distributed Systems [COMP9243]

Course Outline

Session 1, 2008

Note this is LAST YEAR's outline. It is for your information only and may change for 2009.

Table of Contents

Course Staff
Course Information
Course Schedule
Assessment
Resources for Students
Academic Honesty and Plagiarism
Further Information


Course Staff

Function Name Consultation Time Email Address
Lecturer
(in charge)
Ihor Kuz Thursday, 15:00-16:00 cs9243

Course Information

Units of Credit

6 Units of Credit

Course Aims

The aim of this course is to provide students with an understanding of the principles, techniques, and practice in the design and implementation of distributed systems, with a particular focus on infrastructure software. Concretely this includes the following objectives:

  • Present the principles underlying the functioning of distributed systems;
  • Create an awareness of the major technical challenges in distributed systems design and implementation;
  • Expose students to current technology and distributed infrastructure software;
  • Expose students to past and current research issues in the field of distributed systems;
  • Provide experience in the implementation of typical algorithms used in distributed systems.

Learning Outcomes

After completing this course you will be able to:

  • Explain what a distributed system is, why you would design a system as a distributed system, and what the desired properties of such systems are;
  • List the principles underlying the functioning of distributed systems, describe the problems and challenges associated with these principles, and evaluate the effectiveness and shortcomings of their solutions;
  • Recognise how the principles are applied in contemporary distributed systems and distributed infrastructure software, explain how they affect the software design, and be able to identify features and design decisions that may cause problems;
  • Design a distributed system that fulfills requirements with regards to desired properties, be able to recognise when this is not possible, and explain why;
  • Build distributed system software using low-level and high-level techniques.
These learning outcomes cover many of the UNSW graduate attributes including: an in-depth engagement with the relevant disciplinary knowledge in its inter-disciplinary context, the capacity for analytical and critical thinking and for creative problem solving, and the skills of effective communication.

Related Courses and Programs

Students are expected to be highly competent in the use of a systems programming language—preferably C. Students not familiar with C will be expected to learn it on their own. Furthermore, students are expected to be confident in the use of standard POSIX system libraries (including file handling, process management, signal handling, and socket programming). Moreover, students are required to become competent in the concurrent programming language Erlang on their own (a brief introduction is given in the first lecture).

Course Prerequisites

  1. COMP3231 or COMP9201 Operating Systems
  2. COMP3331 or COMP9331 Computer Networks and Applications

Parallel Teaching

Only COMP9243 students attend these classes. The students include postgraduates and senior undergraduates.

Course Philospohy and Teaching Strategies

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. While the assignments provide 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 programming distributed systems.


Course Schedule

Lectures: Wednesday 6-9pm; Room: Webster Building (F15), Theatre B

The following is a provisional list of topics covered in the lectures (subject to change):

WeekDateTopic
05 Mar No Lecture
112 Mar Introduction to Distributed Systems, Introduction to Erlang 
219 MarSystem Architecture, Communication
 26 MarMid-session Recess
32 AprReplication & Consistency, Distributed Shared Memory
49 AprSynchronisation & Coordination
516 AprSynchronisation & Coordination
623 AprMiddleware
730 AprilFault Tolerance
87 MaySecurity
914 MayNaming, Distributed File Systems
1021 MayParallel Programming, Clusters and Grid
1128 MayResearch issues
124 JunReview

Assessment

Assignments

There will be two programming assignments, which contribute in equal parts to the total assignment mark for this course. Tentative details are as follows:

#Release -
Beginning of
Due -
End of
Topic
1Week 3Week 5Distributed Shared Memory
(group assignment)
2Week 8Week 10Router Network
(individual assignment)

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.

Assignment submissions need to be coded in C and Erlang (as determined by the assignment specification). All submission will be tested on the School's vina cluster running under Debian GNU/Linux.

Final Exam

A three hour open book written final examination will be conducted.

Supplementary exam

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 in the Yellow Form for further details.

Supplementary exams will be oral. Supplementary final exams will be held either on the day before, or the day after, the written supplementary exams held for other courses.

Final Mark

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.


Resources for Students

Textbooks

There is no single textbook for this course. Lecture material will be taken from a variety of sources, including recent research publications.

Reference Books

Books covering a significant part of the lecture material are the following:

  • Andrew S. Tanenbaum & Maarten van Steen: Distributed Systems: Principles and Paradigms, 2nd ed, 2007, Pearson Prentice Hall, approx $108.
    Up to date. Good breadth of coverage, well organised. 1st edition is also good.
  • George Coulouris, Jean Dollimore & Tim Kindberg: Distributed Systems: Concepts and Design, 4th ed, 2005, Addison-Wesley, approx $90.
    Up to date, recent edition. Broad coverage, but too verbose in many places. 3rd edition is also good
  • Pradeep K. Sinha: Distributed Operating Systems, 1997, IEEE Press, approx $140.
    Good coverage (breadth and depth). Getting a bit dated.
  • Doreen L. Galli: Distributed Operating Systems, 1999, Prentice Hall, approx $100.
    New book, and quite up-to-date on technology & products. Extensive examples, but rather shallow in its coverage, very little theory. Leaves out too much detail.
  • Mukesh Singhal & Niranjan G. Shivaratri: Advanced Concepts in Operating Systems, 1994, McGraw-Hill, approx $???.
    Somewhat dated, but that's not a problem as the book concentrates on the theoretical foundations. Case studies are out of date.

None of these books covers all the course material.

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


Academic Honesty and Plagiarism

Assignments will be marked as individual or team assignments in the specification. Team work is not permitted in individual assignments; cooperation between teams is not permitted in team assignments. Both are being regarded as cheating. Copying of assignment code leads to immediate failure of the course with a result of 0FL. Negative or reduced marks will be imposed in less severe cases (e.g., team work in individual assignments). Cases of repeated cheating (in this or other courses) will be treated as academic misconduct and will result in an application being made to have the offender(s) suspended from the University. Please carefully read the discussion under the heading Originality of Assignment Submissions on the Yellow Form to which you agree to be legally bound when enrolling for this course and/or signing up for the use of the computing facilities of the School.

This is no idle threat. We check for cheating, and we go after cheaters, to protect those who get their marks through honest work. In a previous instance of this course (Session 1, 2001), two out of 36 students failed due to cheating.

What is Plagiarism?

Plagiarism is the presentation of the thoughts or work of another as one's own.* Examples include:

  • direct duplication of the thoughts or work of another, including by copying work, or knowingly permitting it to be copied. This includes copying material, ideas or concepts from a book, article, report or other written document (whether published or unpublished), composition, artwork, design, drawing, circuitry, computer program or software, web site, Internet, other electronic resource, or another person's assignment without appropriate acknowledgement;
  • paraphrasing another person's work with very minor changes keeping the meaning, form and/or progression of ideas of the original;
  • piecing together sections of the work of others into a new whole;
  • presenting an assessment item as independent work when it has been produced in whole or part in collusion with other people, for example, another student or a tutor; and,
  • claiming credit for a proportion a work contributed to a group assessment item that is greater than that actually contributed.**

Submitting an assessment item that has already been submitted for academic credit elsewhere may also be considered plagiarism.

The inclusion of the thoughts or work of another with attribution appropriate to the academic discipline does not amount to plagiarism.

Students are reminded of their Rights and Responsibilities in respect of plagiarism, as set out in the University Undergraduate and Postgraduate Handbooks, and are encouraged to seek advice from academic staff whenever necessary to ensure they avoid plagiarism in all its forms.

The Learning Centre website is the central University online resource for staff and student information on plagiarism and academic honesty. It can be located at: www.lc.unsw.edu.au/plagiarism.

The Learning Centre also provides substantial educational written materials, workshops, and tutorials to aid students, for example, in:

  • correct referencing practices;
  • paraphrasing, summarising, essay writing, and time management;
  • appropriate use of, and attribution for, a range of materials including text, images, formulae and concepts.

Individual assistance is available on request from The Learning Centre.

Students are also reminded that careful time management is an important part of study and one of the identified causes of plagiarism is poor time management. Students should allow sufficient time for research, drafting, and the proper referencing of sources in preparing all assessment items.

* Based on that proposed to the University of Newcastle by the St James Ethics Centre. Used with kind permission from the University of Newcastle

** Adapted with kind permission from the University of Melbourne.


Course Evaluation and Development

Student feedback on this course, and on the lecturing in this course, will be gathered via questionnaires (including the CATEI evaluation) held at or after the end of the course. 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 previous evaluation, 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.

Further Information


COMP9243, School of Computer Science and Engineering, University of New South Wales CRICOS Provider Number: 00098G

This page is maintained by cs9243@cse.unsw.edu.au Last modified: Thursday, 04-Dec-2008 18:21:26 EST

Top Of Page

 ###
Site maintained by webmistress@cse.unsw.edu.au
Please read the UNSW Copyright & Disclaimer Statement