Course Information
COMP3358 Distributed and Parallel Computing

COMP3358 Distributed and Parallel Computing

2019-20
Instructor(s):Cui H.M.
(Class A) No. of credit(s):6
Recommended Learning Hours:
Lecture: 26.0
Tutorial: 13.0
Pre-requisite(s):COMP3230 or COMP3234
Co-requisite(s):  
Mutually exclusive with:  
Remarks:

Course Learning Outcomes

1. [Distributed and Parallel Computing Concepts] Students are able to apply distributed and parallel computing concepts, to make correct conceptual choices, and to design software architectures for solving real-world problems.
2. [Distributed Fault-tolerant Architectures] Students are able to design and implement distributed software architectures that are efficient and fault-tolerant, and to deploy them on modern clouds.
3. [Parallel Computing Architectures] Students are able to design and implement parallel software architectures to process the drastically increasing amount of data in an efficient, scalable, and fault-tolerant manner.
Mapping from Course Learning Outcomes to Programme Learning Outcomes
 PLO aPLO bPLO cPLO dPLO ePLO fPLO gPLO hPLO iPLO j
CLO 1TTT
CLO 2TTTT
CLO 3TTTT

T - Teach, P - Practice
For BEng(CompSc) Programme Learning Outcomes, please refer to here.

Syllabus

Calendar Entry:
This course introduces the basic concepts and modern software architectures on distributed and parallel computing. Topics include: computer network primitives, distributed transactions and two-phase commits, webservices, parallelism and scalability models, distributed consistency models, distributed fault-tolerance, actor and monads, Facebook photo cache, Amazon key-value stores, Google Map-reduce, Spark, and TensorFlow.

Detailed Description:

Distributed and Parallel Computing Concepts Mapped to CLOs
Computer network primitives (remote procedure calls and message queues)1
Distributed transactions, ACID, and two-phase commits1
Amdahl’s laws, strong and weak consistency models1
Actors and monads1
Distributed Fault-tolerant Architectures Mapped to CLOs
Distributed consensus algorithms and architectures2
Distributed virtual machine primary-backup algorithms and architectures2
Amazon EC2 clouds and DynamoDB stores2
Webservices2
Parallel Computing Architectures Mapped to CLOs
Facebook photo cache3
Map-reduce paradigm and Hadoop3
Spark3
TensorFlow3

Assessment:
Continuous Assessment: 50%
Written Examination: 50%

Teaching Plan

Please refer to the corresponding Moodle course.

Moodle Course(s)