FIT3142 - Distributed computing - 2018

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

Chief examiner(s)

Dr Carlo Kopp

Unit guides

Offered

Clayton

  • Second semester 2018 (On-campus)

Prerequisites

(FIT2069Not offered in 2018 or FIT3159) and (FIT2070 or FIT2100) and one of (FIT3141, ECE2041Not offered in 2018, ECE3141 or FIT3165) OR (FIT2100 and FIT3165) OR ((FIT1005 or FIT2008) and FIT2022)

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): 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

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

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