Faculty of Information Technology
Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.
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. This unit draws on units in distributed databases and grid computing. It will also cover the technology and application of cloud computing with particular reference to programming frameworks (e.g. MapReduce, Hadoop etc).
On successful completion of this unit, students should be able to:
Examination (3 hours): 60%, In-semester assessment: 40%
Minimum total expected workload equals 12 hours per week comprising:
(a.) Contact hours for on-campus students:
(b.) Additional requirements (all students):
See also Unit timetable information
((FIT9131 or FIT5131 or FIT9017) and (FIT9134 or FIT5134 or FIT9018) and (FIT9135 or FIT5135 or FIT9020)) or equivalent. Prerequisite knowledge includes advanced programming skills, knowledge of Java, and an introductory-level knowledge of C.