0% found this document useful (0 votes)
11 views

Parallel and Distributed - Courseoutline

Uploaded by

Nadia Rashid
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Parallel and Distributed - Courseoutline

Uploaded by

Nadia Rashid
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Course Outline

Parallel and Distributed Systems

Course Description:

This course covers general introductory concepts in the design and implementation of parallel and
distributed systems. Specifically, this course will first motivate the need for higher performance
computers (parallel processing) by providing a high level introduction to a few computationally
intensive but significant problem areas. We discuss general issues in parallel computing Different
approaches to writing parallel software for shared-memory and message-passing paradigms are
discussed.

Course Learning Outcomes (CLOs):

After the completion of the course the student will be able to:
1. Develop and apply knowledge of parallel and distributed computing techniques and
methodologies.
2. Apply design, development, and performance analysis of parallel and distributed applications.
3. Use the application of fundamental Computer Science methods and algorithms in the
development of parallel applications.
4. Explain the design, testing, and performance analysis of a software system, and to be able to
communicate that design to others.

Textbook(s)/Reference Books:
1. Zomaya, Albert Y. "Parallel and distributed computing handbook." (1996).
2. Matthews SJ, Newhall T, Webb KC. Dive into systems: A free, online textbook for introducing
computer systems. InProceedings of the 52nd ACM Technical Symposium on Computer
Science Education 2021 Mar 3 (pp. 1110-1116).

Course Topics

1. Introduction to Parallel and Distributed Computing


2. Flynn’s Taxonomy, Introduction to Multi-Threading
3. parallel algorithms & architectures, parallel I/O
4. programming models (data-parallel, task-parallel, process-centric, shared/distributed
memory)
5. Introduction to Parallel Programming using OpenMP
6. performance analysis and tuning, scalability and performance studies
7. scheduling, load balancing, memory consistency model, memory hierarchies,
8. Case Studies: From problem specification to a parallelized solution
9. GPU architecture and programming, heterogeneity, Introduction to OpenCL
10. power and energy consumption storage systems, and synchronization
11. Message passing interface (MPI),
12. concurrency control
13. fault tolerance, interconnection topologies
14. Asynchronous/synchronous computation/communication, concurrency control, fault
tolerance,
15. Advanced topics in parallel and Distributed computing
1
----------------END--------------------

You might also like