[an error occurred while processing this directive] [an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
Monash University

FIT5174 Parallel and distributed systems - Semester 2, 2015

Modern computer systems contain parallelism in both hardware and software. This unit covers parallelism in both general purpose and application specific computer architectures and the programming paradigms that allow parallelism to be exploited in software. This unit examines both shared memory and message passing paradigms in both hardware and software; concurrency, multithreading and synchronicity; parallel, clustered and distributed supercomputing models and languages. Students will program in these paradigms.

Mode of Delivery

Caulfield (Day)

Workload Requirements

Minimum total expected workload equals 12 hours per week comprising:

(a.) Contact hours for on-campus students:

  • Two hours of lectures
  • One 2-hour laboratory/

(b.) Additional requirements (all students):

  • A minimum of 8 hours independent study per week for completing lab and project work, private study and revision.

See also Unit timetable information

Additional workload requirements

While it is strongly recommended you attend lectures and lab/tutorials, lecture and other supplementary teaching material will be made available on-line and Dr. Khan can be contacted by e-mail or published consultation times on Moodle for assistance. The assignments and tutorial lab exercises can all be done at home if you have suitable facilities, but by attending lab/tutorials on campus you may get assistance from your tutor/lecturer and learn through discussion with fellow students. Lectures will be recorded but sometimes the recording technology doesn't work properly and not everything presented in lectures (such as things on overhead projectors or whiteboards) will appear on recordings.

Unit Relationships




Recommended knowledge: operating systems, including synchronisation and interprocess communication mechanisms; advanced computer architecture, including pipelining techniques.

Chief Examiner

Campus Lecturer


Dr Malik Khan

Consultation hours: TBA



Dr Malik Khan

Consultation hours: TBA

Your feedback to Us

Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through the Student Evaluation of Teaching and Units (SETU) survey. The University’s student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

For more information on Monash’s educational strategy, see:

www.monash.edu.au/about/monash-directions/ and on student evaluations, see: www.policy.monash.edu/policy-bank/academic/education/quality/student-evaluation-policy.html

Previous Student Evaluations of this Unit

Semester-2 2014 students rated the Unit FIT5174 with the following outcome, The rating was good with the students expected outcome for this unit was satisfactory.
The unit enabled students to achieve its learning objectives = 3.98/5;
Students found the unit to be intellectually stimulating = 4.09/5
The learning resources in this unit supported student studies = 4.06/5
The feedback student received in this unit was useful = 4.06/5
Overall students were satisfied with the quality of this unit = 4.03/5
The organisation and progression of the topics in this unit made sense to students= 4.10/5
Students was satisfied with the way practical and/or tutorial activities were conducted = 4.04/5
The assessment tasks helped students to develop the knowledge and skills required for this unit = 4.04/5
Students were encouraged to actively participate in this unit = 4.07/5

Based on previous feedback and current setup the students have enjoyed working in individual and group assignments and the number of assignments has been reduced to two. The student required supervised and assessed lab/tutorial sessions which was included in the last offering and will continue to have them as they found to be very effective, more personal guidance of students and more focused practical experience of parallel/distributed programming will continue to be the theme in the tutorial sessions.

If you wish to view how previous students rated this unit, please go to

Academic Overview

Learning Outcomes

On successful completion of this unit, students should be able to:
  1. explain the principles and techniques behind the design of parallel systems;
  2. describe and distinguish variety of parallel architectures, such as bus-based, massively parallel, cluster, vector; knowledge of a variety of parallel programming paradigms, synchronisation and parallelisation primitives, message passing, data parallel, and tuple space;
3 design, develop and debug parallel programs using a variety of paradigms, such as locking, concurrency, synchronicity, parallelism, scheduling, and communication across networks.4. explain fundamentals of model connection-oriented and connectionless communication in a Client Server architecture;

5. analyse failure types in a Distributed System for achieving fault tolerance and error recovery within such system;

6. write a report on new trends in of multi-process algorithms by investigation and analysis of research papers about distributed systems. And communicate their knowledge orally and in written report, so they can express own reflections and attitudes in the area of research;

7. work independently to analyse a problem and form a plan on how to work towards a solution using distributed programming models to achieve process distribution and communication;

8. collect and analyse various types of information, and develop practical skills in creating parallel distributed applications;

9. cooperate effectively within small groups and work in practical design, implementation, and debug in simulated distributed systems;

10. construct theoretical models and implement them in a virtualised computing environment; and present all their work in practical demonstration.

Unit Schedule

Week Activities Assessment
0 Unit Introduction on web (no lecture). Register for lab sessions No formal assessment or activities are undertaken in week 0
1 Distributed systems  
2 Interprocess communication and remote procedure call Weekly group submissions Week 2 to Week 10 (both Weeks inclusive)
3 Message Passage Library (MPI)  
4 Synchronisation, MUTEX, Deadlocks  
5 Election Algorithms, Distributed Transactions, Concurrency Control Assignment 1 due Friday 28 August 2015, 4PM
6 1) Faults, Distributed Consensus, and Security (2) Parallel Computing  
7 Parallel Computing Alternatives  
8 Instruction Level Parallelism  
9 Vector Architecture  
10 (1) Data Parallel Architectures (2) SIMD Architectures  
11 (1) Introduction to MIMD (2) Distributed Memory MIMD Architectures Assignment 2 code demonstrations during Week 11 labs (attendance is essential)
12 Class Test during lecture Assignment 2 code demonstrations during Week 12 labs (attendance is essential). Class test during Week 12 lecture
  SWOT VAC No formal assessment is undertaken in SWOT VAC. Assignment 2 due Week 14, Friday 6 November 2015, 4PM
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/

*Unit Schedule details will be maintained and communicated to you via your learning system.

Teaching Approach

Lecture and tutorials or problem classes
This teaching and learning approach provides facilitated learning, practical exploration and peer learning.

The lectures expound on the topics in the curriculum linking the lecturer's real-world experience with experimental and commercial systems with theoretical principles. There will be freedom to interact with the lecturer to focus on aspects of particular interest to the students or on aspects relating to assessment tasks.

The laboratory/tutorial sessions provide an environment in which students can explore aspects of the curriculum through practical exercises, learning through experience. Having the academic staff member present enables assistance and explanation of unexpected behaviour. The laboratory/tutorial sessions also provide a forum where students can compare experiences and help one another to reach an understanding of the material, and where the tutor can elaborate on material covered in lectures.

Assessment Summary

In-semester assessment: 100%

Assessment Task Value Due Date
Assignment 1 - Distributed Systems 25% Week 5, Friday 28 August 2015, 4PM
Assignment 2 - Parallel Computing 25% (6% for code demonstration) Code demonstrations during Week 11 or 12 labs. Assignment due Week 14, Friday 6 November 2015, 4PM
Class Test - Parallel Architectures 25% During the Week 12 lecture
The assessed laboratory/tutorial work 25% Weekly group submissions Week 2 to Week 10 (both Weeks inclusive)

Assessment Requirements

Assessment Policy

Assessment Tasks


  • Assessment task 1
    Assignment 1 - Distributed Systems
    A theoretical assignment in the form of a research paper. The students will demonstrate their understanding of multi-process algorithms by researching and writing about their distributed systems topics. This assessment relates to Learning Outcomes 1, 2 and 3.

    The detailed assignment specification and topics will be provided on the unit web site.
    Criteria for assessment:

    Individual assessment. Marks will be allocated, roughly equally, against the application areas listed in the assignment specification. Further marks will be allocated for the length of the paper (against the word limit) and the number and quality of references.

    Due date:
    Week 5, Friday 28 August 2015, 4PM
  • Assessment task 2
    Assignment 2 - Parallel Computing
    Write parallel programs using the message passing programming model. The students will demonstrate their practical skills in developing parallel distributed applications through this assessment. This assessment relates to all the Learning Outcomes of the unit.
    25% (6% for code demonstration)
    Criteria for assessment:

    Individual assessment. This work will be assessed on a mix of programming tasks and theoretical write-up.

    Due date:
    Code demonstrations during Week 11 or 12 labs. Assignment due Week 14, Friday 6 November 2015, 4PM
  • Assessment task 3
    Class Test - Parallel Architectures
    This assessment relates to all the learning outcomes of the unit. Students will be given a class test during the Week 12 lecture, based on the parallel architecture lecture notes, comprising of several short answer questions and MCQ's questions.
    Criteria for assessment:

    Individual assessment. Correct answers to questions.

    Due date:
    During the Week 12 lecture
    The test will be closed book. No calculators or computers will be required.
  • Assessment task 4
    The assessed laboratory/tutorial work
    This assessment is related to weekly tutorial/laboratory work and it relates to all the learning outcomes as we progress along the work week-by-week basis. This part of students work is assessed after the laboratory/tutorial work is submitted by end of the session. The code developed during the lab will be demonstrated and the results submitted at the end of each laboratory/tutorial session.
    Criteria for assessment:

    The laboratory work is group-based and it is assessed on correctness and on the quality of the solutions and on the quality of presentation/documentation. Individual marks for each group member will be derived from (i) the peer assessements made by the group under the supervision of the tutor and (ii) the overall marks achieved by the group.

    Due date:
    Weekly group submissions Week 2 to Week 10 (both Weeks inclusive)

Learning resources

Reading list

The following are some books that may be of interest. There is no single text book covering the content of FIT5174 at a suitable level. Sufficient material will be provided on the unit web site to cater for FIT5174 students. If students have interests in specific areas of parallel or distributed computing they should contact the lecturer for advice on suitable references.

G.R. Andrews: Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley, 2000.

J. Magee and J. Kramer: Concurrency:  State models & Java Programming; John-Wiley & Sons, 2006.

I.T. Foster: Designing and Building Parallel Programs, Addison-Wesley, 1995.

M. Maekawa, A.E. Oldehoeft, R.R. Oldehoeft: Operating Systems Advanced Concepts, Benjamin/Cummings, 1987.

Advanced Computer Architectures: A Design Space Approach, Sima, Fountain and Kacsuk , Addison Wesley Publishers.

Further resources will be made available via the unit web site.

Monash Library Unit Reading List (if applicable to the unit)

Feedback to you

Types of feedback you can expect to receive in this unit are:

  • Informal feedback on progress in labs/tutes
  • Graded assignments with comments
  • Test results and feedback

Extensions and penalties

Returning assignments

Resubmission of assignments

Resubmission of assignments after the due date will not be allowed, however assignments handed-in early for feedback may be resubmitted by the due date.

Referencing requirements

Formatting and referencing information will provided on the unit website.

Assignment submission

It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/student-academic-integrity-managing-plagiarism-collusion-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an electronic submission). Please note that it is your responsibility to retain copies of your assessments.

Online submission

If Electronic Submission has been approved for your unit, please submit your work via the learning system for this unit, which you can access via links in the my.monash portal.

Required Resources

Please check with your lecturer before purchasing any Required Resources. Limited copies of prescribed texts are available for you to borrow in the library, and prescribed software is available in student labs.

VMPlayer (Freeware) or VMWare Workstation (VMWare Fusion for Mac users) software. This is available in University computer labs, but access to a personal computer with this software installed is highly recommended.

Other Information


Monash has educational policies, procedures and guidelines, which are designed to ensure that staff and students are aware of the University’s academic standards, and to provide advice on how they might uphold them. You can find Monash’s Education Policies at: www.policy.monash.edu.au/policy-bank/academic/education/index.html

Faculty resources and policies

Important student resources including Faculty policies are located at http://intranet.monash.edu.au/infotech/resources/students/

Graduate Attributes Policy

Student Charter

Student services

Monash University Library

Disability Liaison Unit

Students who have a disability or medical condition are welcome to contact the Disability Liaison Unit to discuss academic support services. Disability Liaison Officers (DLOs) visit all Victorian campuses on a regular basis.


Any supporting reading material including research papers, programming manuals and system specifications, will be distributed electronically as part of the background reading material for FIT5174.

Feel free to e-mail the lecturer, Dr. Malik Khan, with any queries. Please include "FIT5174" in the subject line to ensure prompt responses. Dr. Malik's e-mail address is: Malik.Khan@monash.edu. Dr. Khan can also be contacted by the published consultation times on Moodle for assistance.

[an error occurred while processing this directive]