[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, 2013

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 (Evening)

Contact Hours

2 hrs lectures/wk, 2 hrs laboratories/wk

Workload requirements

Students will be expected to spend about 12 hours per week during semester on this unit as follows:

  • two-hour lecture in H block (H238, Caulfield) Wednesdays 6-8PM.
  • two-hour lab/tutorial in B block (B3.44, Caulfield) to study the background material and to work on assignments and tutorial exercises and discuss lecture material.
  • up to 2 hours per week of preparation including reviewing the lecture materials
  • up to 3 hours per week surveying existing literature in the library, online resources etc; hands-on lab exercises
  • a minimum of 3 hours per week personal study in order to satisfy the reading and assignment expectations

In addition a consultation session with the lecturer is scheduled for Wednesdays 5-6PM in (H7.84, Caulfield)

Scheduling of lectures, lab/tutorial sessions and consultation times are subject to change.

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. Pose can be contacted by phone and e-mail 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 Dr. Pose 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

Prohibitions

CSE4333

Prerequisites

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

Chief Examiner

Campus Lecturer

Caulfield

Dr. Ronald Pose [Ronald.Pose@monash.edu] (home phone: 9527 1331):

Consultation hours: Wednesdays 5-6PM, Room 784, H Block, Caulfield. (or by arrangement via e-mail/telephone)

Tutors

Caulfield

Dr Ronald Pose [Ronald.Pose@monash.edu] (home phone: 9527 1331)

Consultation hours: Wednesdays 5-6PM, Room 784, H Block, Caulfield. (or by arrangement via e-mail/phone)

Academic Overview

Learning Outcomes

At the completion of this unit students will have:
  • knowledge of a 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, tuple space;
  • understanding of concurrency, synchronicity and parallelism;
  • understanding of the design issues of parallel systems;
  • skills in designing, developing and debugging parallel programs using a variety of paradigms.

Unit Schedule

Week Activities Assessment
0 Unit Introduction on web (no lecture). Register for lab sessions. Prepare a summary of your educational background and knowledge and experience of parallel/distributed computing. Also provide some idea of why you enrolled in FIT5174, what you expect to learn, and how it fits in with the other units in your masters degree. Note that the schedule of topics and activities may change depending on the educational backgrounds and experience of enrolled students. No formal assessment or activities are undertaken in week 0
1 In the lecture there will be an introduction to Parallel and Distributed systems. The logistics of how we are organizing lecture and lab/tutorial sessions will be explained and an outline of the topics to be covered over the semester will be given. There will also be an explanation of the unit assessment methodology and suggestions of how to approach this unit. In the lab/tutorial sessions in this first week, Dr. Pose will meet with each student individually and go over their background and expectations that should have been prepared (see week 0). We will also learn how to set up the virtual machines most students will be using for their lab programming work, either in the Monash labs or at home. Assessable lab/tutorial work is spread over exercises that have been allocated 2 weeks. In this first week we will be mostly getting to know one another and learning how to use the software environment of virtual machines running linux which will be used for the programming exercises to come.
2 In order to create a distributed system one needs to have physical communication links or networking between the various computers as well as suitable software interprocess communication mechanisms. In the lecture we will look at Interprocess Communication (IPC) and Remote Procedure Calls (RPC) as suitable building blocks. In weeks 2 and 3 the first assessable laboratory/tutorial work will take place. This will take the form of simple programming exercises allowing students to learn the C programming language if they don't already know it, and in particular to learn how to use programming libraries providing parallel programming primitives.
3 The lecture will examine the message-passing paradigm and the Message Passage Library (MPI) The first assessable laboratory/tutorial work is due.
4 The lecture will examine Synchronisation, MUTEX and other locking mechanisms, deadlocks and other synchronisation problems. In weeks 4 and 5 the second assessable laboratory/tutorial work will take place. This will take the form of a parallel, multi-process system constructed using MPI.
5 The lecture will look at various distributed computing application areas and algorithms, and how they map onto various kinds of distributed systems. The second assessable laboratory/tutorial work is due.
6 The lecture will consider difficulties involved in the use and design of distributed systems. These include security, reliability, robustness, fault tolerance, and maintenance. Assignment 1 due Wednesday 4 September 2013, 6PM. The assignment specification and topics will be posted on the unit web site. The assignment will take the form of a written research report on an aspect of distributed computing. ___________________________________________________________________________________ In weeks 6 and 7 the third assessable laboratory/tutorial work will take place. This will take the form of a parallel, multi-process system constructed using the shared-memory paradigm.
7 In this lecture we will study parallel computer architectures beginning with instruction level parallelism and super-scalar processing. The third assessable laboratory/tutorial work is due.
8 The lecture will examine different categories of parallel computer architectures including Flynn's classification of SIMD, MIMD. We will look at Vector and Array architectures. In weeks 8 and 9 the fourth assessable laboratory/tutorial work will take place. This will take the form of an exploration of the interaction between programmed algorithms and the underlying parallel or distributed computer architecture.
9 This lecture will examine data-parallel architectures, data-flow machines, and other parallel architectures. The fourth assessable laboratory/tutorial work is due.
10 In the next two lectures we will bring together distributed and parallel computer architectures into complete systems and examine how everything fits together. This week we will concentrate on a massively-parallel distributed general-purpose computer system that Dr. Pose and colleagues designed and built. In weeks 10 and 11 the fifth assessable laboratory/tutorial work will take place. This will take the form of an exploration of the overheads in running parallel and distributed systems.
11 Following on from the last lecture we will examine a scalable parallel special-purpose computer system and associated parallel algorithms to implement a low-latency virtual reality display system, designed and implemented by Dr. Pose and his PhD student. The fifth assessable laboratory/tutorial work is due.
12 Class Test (during the lecture) Class Test in lecture Week 12, 23 October 2013, 6PM. __________________________________ The final laboratory/tutorial sessions will be used to catch up with any unfinished work and especially to deal with any difficulties with Assignment 2.
  SWOT VAC No formal assessment is undertaken in SWOT VAC. _____________________________________________________________________________ Assignment 2 due Monday 4 November 2013, 12Noon. The assignment specification and topics will be posted on the unit web site. The assignment will take the form of a written research report on an aspect of parallel computing architectures.
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/
academic/education/assessment/
assessment-in-coursework-policy.html

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

Assessment Summary

In-semester assessment: 100%

Assessment Task Value Due Date
Assignment 1 - Distributed Systems 25% Wednesday 4 September 2013, 6PM
Assignment 2 - Parallel Architectures 25% Monday 4 November 2013, 12 Noon
Class Test 25% Week 12 lecture (Wednesday 23 October 2013, 6PM)
The assessed laboratory/tutorial work. 25% The 5 submissions of lab work are due in weeks 3, 5, 7, 9 and 11

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 Requirements

Assessment Policy

Faculty Policy - Unit Assessment Hurdles (http://www.infotech.monash.edu.au/resources/staff/edgov/policies/assessment-examinations/unit-assessment-hurdles.html)

Academic Integrity - Please see the Demystifying Citing and Referencing tutorial at http://lib.monash.edu/tutorials/citing/

Assessment Tasks

Participation

  • Assessment task 1
    Title:
    Assignment 1 - Distributed Systems
    Description:
    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.

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

    Individual assessment. Marks will be allocated, roughly equally, against the areas listed in the assignment specification. Further marks will be allocated for the quality of the writing, how clearly and thoroughly the ideas are explained, and the number, quality and appropriateness of the references.

    Due date:
    Wednesday 4 September 2013, 6PM
  • Assessment task 2
    Title:
    Assignment 2 - Parallel Architectures
    Description:
    A research paper on modern parallel computer architectures focusing on hardware parallelism.

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

    Individual assessment. Marks will be allocated, roughly equally, against the areas listed in the assignment specification. Further marks will be allocated for the quality of the writing, how clearly and thoroughly the ideas are explained, and the number, quality and appropriateness of the references.

    Due date:
    Monday 4 November 2013, 12 Noon
  • Assessment task 3
    Title:
    Class Test
    Description:
    Students will be given a class test during the Week 12 lecture.

    The test will cover a selection of topics from the unit's curriculum to verify that the unit learning objectives have been achieved.
    Weighting:
    25%
    Criteria for assessment:

    Individual assessment. Correct answers to questions.

    Due date:
    Week 12 lecture (Wednesday 23 October 2013, 6PM)
    Remarks:
    The test will be closed book. No calculators or computers will be required.
  • Assessment task 4
    Title:
    The assessed laboratory/tutorial work.
    Description:
    There are 5 assessed laboratory/tutorial work submissions.
    Weighting:
    25%
    Criteria for assessment:

    The laboratory work is individually assessed based both on correctness and on the quality of the solutions and on the quality of documentation.

    Due date:
    The 5 submissions of lab work are due in weeks 3, 5, 7, 9 and 11

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
http://readinglists.lib.monash.edu/index.html

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/plagiarism-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 online quiz). 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

Policies

Graduate Attributes Policy

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.

Your feedback to Us

Previous Student Evaluations of this Unit

Based on previous feedback the number of assignments has been reduced from three to two, and supervised and assessed lab/tutorial sessions have been included to allow more personal guidance of students and more focused practical experience of parallel/distributed programming.

Online MonQuest Evaluations and Online Unit Evaluations will continue to be requested, and encouraged, to be done by as many students as possible as usual in Semester 2, 2013.

If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp

Other

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

A web site for this unit should be consulted regularly. It will contain lecture material as well as other material such as software and links to relevant web sites.
http://www.csse.monash.edu.au/~rdp/FIT5174

Moodle will also be used as appropriate.

Feel free to e-mail the lecturer, Dr. Ronald Pose, with any queries. Please include "FIT5174" in the subject line to ensure prompt responses. Dr. Pose's e-mail address is:

Ronald.Pose@monash.edu

[an error occurred while processing this directive]