Subject Descriptions - Subject Information


Calendar: 2017 Postgraduate
Faculty: Faculty of Engineering and Information Sciences
Department: School of Computing and Information Technology



Subject Information
Subject Code MCS9319
Subject Name Distributed Systems and Cloud Computing
Credit Points 6
Pre-Requisites None.
Co-Requisites None.
Restrictions None.
Equivalence None.
Assessment  
General Subject No.

Subject Description
This subject introduces basic concepts underlying modern distributed system and cloud computing system design. The subject provides some experience in the implementation of distributed system and cloud computing system components. A particular focus of this subject is on scalability, transparency, and design principles underlying distributed and cloud computing systems. Topics covered include: inter-process communications, multi-threaded servers, remote-procedure-calls, synchronous and asynchronous RPC, client server systems, distributed system architectures, messaging and transactional systems, peer-to-peer, cluster, and grid technologies, virtualization and fault tolerance, synchronization, security, naming, synchronization, replication, and consistency; supporting systems such as NFS, and DNS, with some practical exposure to real world distributed systems, design of distributed file services or distributed web based services, and cloud computing systems.


Subject Learning Outcomes
On successful completion of this subject, students will be able to:
1. Illustrate different systems architectures, differentiate between centralised, de-centralised and hybrid architectures, make sensible choice of systems architectures for different applications.
2. Address scalability and transparency requirements, and apply the principles of distributed and cloud computing system design.
3. Utilise different service models including conventional client-server models, peer-to-peer models, cluster computing systems, grid computing mechanisms and other specialised architectures.
4. Implement structured and unstructured peer-to-peer systems.
5. Identify how cloud computing relates to distributed systems.
6. Explain communications in distributed systems including RPC, NFS, TCP, DNS, Message passing, communication in wireless systems, and streaming.