Logo Students

COMP335 – Distributed Systems

2019 – S1 Day

General Information

Pdf icon Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Convenor/Lecturer
Young Lee
Contact via Contact via young.lee@mq.edu.au
Room 209, #4 Research Park Drive, Becton Dickson(BD)
Lecturer
James Xi Zheng
Contact via Contact via james.zheng@mq.edu.au
Room 361, #4 Research Park Drive, Becton Dickson(BD)
Tutor
Amir Pasdar
Credit points Credit points
3
Prerequisites Prerequisites
(39cp at 100 level or above) including (COMP202 and COMP247)
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description
A distributed system traditionally refers to a group of networked computers; however, it should be today understood in a much wider sense including applications consisting of multiple processes. This unit studies the fundamentals of distributed systems from both hardware perspective and software perspective. The unit also gives some hands-on experience. Topics include distributed systems principles (concurrecy and scheduling), paradigms (cloud computing, mobile computing and Internet of Things), architectures (client-server model, peer-to-peer model and distributed file systems) and techniques (shared memory and message-passing).

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://students.mq.edu.au/important-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

General Assessment Information

If you receive special consideration for the final exam, a supplementary exam will be scheduled in the interval between the regular exam period and the start of the next session.  By making a special consideration application for the final exam you are declaring yourself available for a resit during the supplementary examination period and will not be eligible for a second special consideration approval based on pre-existing commitments.  Please ensure you are familiar with the policy prior to submitting an application. You can check the supplementary exam information page on FSE101 in iLearn (bit.ly/FSESupp) for dates, and approved applicants will receive an individual notification one week prior to the exam with the exact date and time of their supplementary examination.  

Assessment Tasks

Name Weighting Hurdle Due
In-class Exercises 10% No Weeks 2-12
Group Project 50% No Weeks 2-13
Quizzes 10% No Weeks 7 and 12
Final Exam 30% No Exam weeks

In-class Exercises

Due: Weeks 2-12
Weighting: 10%

There will be a total of eleven in-class assessments during your allocated tutorial classes. You will be asked to submit your solutions to the week’s tutorial exercises. You will be graded on your answer by the tutor. The mark allocated to each week’s tutorial exercises is 1%; the maximum marks cannot exceed 10%.

This Assessment Task relates to the following Learning Outcomes:

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Identify challenges and issues in modern distributed systems.

 


On successful completion you will be able to:
  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Identify challenges and issues in modern distributed systems.

Group Project

Due: Weeks 2-13
Weighting: 50%

Group Project is a distributed system development task that requires collaborative efforts to design and implement a realistic distributed system. There are a number of milestone tasks to be assessed throughout the session, with varying mark allocations. 

The tentative schedule (and weightings) is as follows:

  • Stage 0*: Design document: 5% (Week 4) 
  • Stage 1: Design and Implement a client-side simulator: 15% (Week 6)
  • Stage 2: Implement baseline scheduling algorithms : 10% (Week 9)
  • Stage 3*: Design and Implement a new scheduling algorithm: 15% (Week 12)
  • Demo*: 5% (Week 13)

* Submissions/presentation in these stages are to be made individually and marks will be assigned individually.   

This Assessment Task relates to the following Learning Outcomes:

  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

 


On successful completion you will be able to:
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

Quizzes

Due: Weeks 7 and 12
Weighting: 10%

Quizzes assess students’ knowledge and understanding on distributed systems fundamentals including architectures, paradigms, principles and models of distributed systems. 

This Assessment Task relates to the following Learning Outcomes:

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Identify challenges and issues in modern distributed systems.

 


On successful completion you will be able to:
  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

Final Exam

Due: Exam weeks
Weighting: 30%

The final examination will assess your understanding of the unit content and your ability to integrate concepts learned throughout the unit to solve problems.

This Assessment Task relates to the following Learning Outcomes:

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Identify challenges and issues in modern distributed systems.

On successful completion you will be able to:
  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

Delivery and Resources

Text Books

  1. “Distributed Systems: Principles and Paradigms” by Maarten van Steen and Andrew Tanenbaum, 3rd (3.01) edition.
  2. “Distributed Systems: Concepts and Design” by George Coulouris, Jean Dollimore, and Tim Kindberg, Addison Wesley, 5th edition.
  3. “Distributed and Cloud Computing: From Parallel Processing to the Internet of Things” by Geoffrey C. Fox, Jack Dongarra, and Kai Hwang, 1st edition.

 

Soft copy of the first two books is “freely” available online.

 

iLearn Unit Home Page

COMP335 will make extensive use of the iLearn course management system, including for delivery of class materials, discussion boards, submission of work and access to marks and feedback. Students should check the iLearn site (https://ilearn.mq.edu.au) regularly for unit updates.

 

Questions and general queries regarding the content of this unit, its lectures or practical classes, or its assessments should be posted to the discussion boards on the COMP335 iLearn site. In particular, any questions which are of interest to all students in this unit should be posted to one of these discussion boards, so that everyone can benefit from the answers. Questions of a private nature should be directed to the unit teaching staff.

 

Lectures

Lectures are a core learning experience where we will discuss the theoretical underpinnings and concepts that are essential to this unit. Key ideas for the group project will be discussed from time to time in lectures. Attendance at lectures is highly recommended. Lectures will be recorded on echo360 but some lectures will include interactive components that may not be adequately captured by a recording.

 

Workshops

Tutorial classes commence in Week 2. Each week has two hours of tutorial class. Each week you should prepare your solutions to the set tutorial questions and attend your enrolled tutorial class. Tutorial classes also provide an opportunity to (collaboratively) work on group project.

 

Unit Schedule

The detailed unit schedule will be available on iLearn. The following is an approximate schedule and is subject to change. In all cases, refer to iLearn for up-to-date information.

 

Week

Topic

Textbook

Quiz

1

Introduction to Distributed Systems

M&A Ch 1, Coulouris Ch 1

 

2

System models, Architectures and Networks

M&A Ch 2, Coulouris Chs 2 and 3

 

3

Communications

M&A Ch 4, Coulouris Ch 4

 

4

Naming and Distributed file systems

Coulouris Ch 13 and M&A Ch 5,  and Coulouris Ch 12

 

5

Synchronisation and concurrency

M&A Ch 6, Coulouris Chs 14 and 16

 

6

Fault tolerance and Security

M&A Chs 8&9, Coulouris Ch 15

 

7

Cluster, Grids and Volunteer computing projects

Geoffrey Chs 2 and 7

Q1

Mid-semester break 1

Mid-semester break 2

8

Virtualisation: VMs and Containers

Coulouris Chs 19 and 7, and Geoffrey Ch 3

 

9

Data centres and Clouds

Geoffrey Ch 4

 

10

Mobile computing: including mobile clouds and vehicular clouds

Coulouris Ch 19 and Geoffrey Ch 9

 

11

Ubiquotous computing and IoT: edge/fog computing

Coulouris Ch 19 and Geoffrey Ch 9

 

12

Real-world distributed systems

 

Q2

13

Review

 

 

* Note that the schedule is indicative only and subject to change.

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://staff.mq.edu.au/work/strategy-planning-and-governance/university-policies-and-procedures/policy-central). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Undergraduate students seeking more policy resources can visit the Student Policy Gateway (https://students.mq.edu.au/support/study/student-policy-gateway). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

If you would like to see all the policies relevant to Learning and Teaching visit Policy Central (https://staff.mq.edu.au/work/strategy-planning-and-governance/university-policies-and-procedures/policy-central).

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/study/getting-started/student-conduct​

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

Learning Skills

Learning Skills (mq.edu.au/learningskills) provides academic writing resources and study strategies to improve your marks and take control of your study.

Student Enquiry Service

For all student enquiries, visit Student Connect at ask.mq.edu.au

If you are a Global MBA student contact globalmba.support@mq.edu.au

Equity Support

Students with a disability are encouraged to contact the Disability Service who can provide appropriate help with any issues that arise during their studies.

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.

Graduate Capabilities

Discipline Specific Knowledge and Skills

Our graduates will take with them the intellectual development, depth and breadth of knowledge, scholarly understanding, and specific subject content in their chosen fields to make them competent and confident in their subject or profession. They will be able to demonstrate, where relevant, professional technical competence and meet professional standards. They will be able to articulate the structure of knowledge of their discipline, be able to adapt discipline-specific knowledge to novel situations, and be able to contribute from their discipline to inter-disciplinary solutions to problems.

This graduate capability is supported by:

Learning outcomes

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

Assessment tasks

  • In-class Exercises
  • Group Project
  • Quizzes
  • Final Exam

Problem Solving and Research Capability

Our graduates should be capable of researching; of analysing, and interpreting and assessing data and information in various forms; of drawing connections across fields of knowledge; and they should be able to relate their knowledge to complex situations at work or in the world, in order to diagnose and solve problems. We want them to have the confidence to take the initiative in doing so, within an awareness of their own limitations.

This graduate capability is supported by:

Learning outcomes

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

Assessment tasks

  • In-class Exercises
  • Group Project
  • Quizzes
  • Final Exam

Creative and Innovative

Our graduates will also be capable of creative thinking and of creating knowledge. They will be imaginative and open to experience and capable of innovation at work and in the community. We want them to be engaged in applying their critical, creative thinking.

This graduate capability is supported by:

Learning outcomes

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

Assessment tasks

  • In-class Exercises
  • Group Project
  • Quizzes
  • Final Exam

Effective Communication

We want to develop in our students the ability to communicate and convey their views in forms effective with different audiences. We want our graduates to take with them the capability to read, listen, question, gather and evaluate information resources in a variety of formats, assess, write clearly, speak effectively, and to use visual communication and communication technologies as appropriate.

This graduate capability is supported by:

Learning outcomes

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

Assessment tasks

  • In-class Exercises
  • Group Project
  • Quizzes
  • Final Exam

Critical, Analytical and Integrative Thinking

We want our graduates to be capable of reasoning, questioning and analysing, and to integrate and synthesise learning and knowledge from a range of sources and environments; to be able to critique constraints, assumptions and limitations; to be able to think independently and systemically in relation to scholarly activity, in the workplace, and in the world. We want them to have a level of scientific and information technology literacy.

This graduate capability is supported by:

Learning outcomes

  • Gain an understanding of theoretical background of distributed systems.
  • Apply theoretical principles and models to design distributed systems.
  • Be able to identify and select appropriate technologies for building practical distributed systems.
  • Identify challenges and issues in modern distributed systems.

Assessment tasks

  • In-class Exercises
  • Group Project
  • Quizzes
  • Final Exam

Changes from Previous Offering

A new group project has been designed.

Practicals have been redesigned accordingly.

Changes since First Published

Date Description
21/02/2019 My new office number has been corrected.