FIT3142 - Distributed computing - 2017

6 points, SCA Band 2, 0.125 EFTSL

Undergraduate - Unit

Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.

Faculty

Information Technology

Unit guides

Offered

Clayton

  • Second semester 2017 (Day)

Synopsis

Modern computer systems rely increasingly on distributed computing mechanisms, implemented often as clusters, web services, grids and clouds. Distributed computing systems can provide seamless (or web-like) access to a variety of networked resources, e.g. processing cores, large data stores and information repositories, expensive instruments, high-speed links, sensor networks, and multimedia services for a wide range of applications. This unit provides foundation knowledge and understanding of the basic mechanisms required to implement distributed computing systems, especially clouds, grids, web services and clusters. Topics covered include: Introduction to parallel and distributed computing mechanisms, concurrency and synchronisation, monitors, deadlocks, concurrent program analysis, computational and service-oriented grids, clusters and clouds. Distributed applications, and their performance and reliability in relation to processor and network performance constraints.

Outcomes

At the completion of this unit, students should be able to:

  1. analyse and evaluate interprocess communications in networks, and associated programming interfaces;
  2. analyse and evaluate remote procedure call and remote object request broker mechanisms in distributed systems;
  3. analyse and model basic problems in distributed computing, especially in relation to concurrency, parallelism, synchronisation, deadlocks, and safety properties;
  4. analyse and evaluate differences between various distributed computing models and widely used distributed computing schemes;
  5. analyse, evaluate and model basic functional and performance concepts in distributed systems and identify frequent causes of performance problems in distributed applications;
  6. analyse and model basic software and hardware reliability problems in distributed systems and identify frequent causes of reliability problems in distributed applications;
  7. analyse and evaluate some of the enabling technologies e.g. high-speed links, for building computer clusters, distributed storage systems, grids and clouds;
  8. analyse and evaluate the operating principles of the cloud computing, grid computing, clustering, and web services middleware used to implement large distributed systems, including basic security mechanisms;
  9. analyse and model in application scalability in distributed systems, and criteria for porting applications to distributed systems;
  10. implement programs using common distributed computing programming interfaces, including sockets, and some higher level APIs.

Assessment

Examination (2 hours plus 30 minutes reading and noting time): 60%; In-semester assessment: 40%

Workload requirements

Minimum total expected workload equals 12 hours per week comprising:

  1. Contact hours for on-campus students:
    • Two hours of lectures
    • One 2-hour laboratory
    • One 1-hour tutorial
  2. Additional requirements (all students):
    • A minimum of 7 hours independent study per week for completing lab and assignment work, private study and revision.

See also Unit timetable information

Chief examiner(s)

This unit applies to the following area(s) of study

Prerequisites

(FIT2069, FIT2070 and one of FIT3141, ECE2041 or ECE3141) or (FIT1005/FIT2008 and FIT2022) or (FIT2100 and FIT3165)

Additional information on this unit is available from the faculty at: