PROGRAM CORE
Credit hours: 3
Synopsis
This course introduces the students to parallel and distributed systems. It includes concepts and principles of parallel and distributed systems, models of parallel and distributed systems, design and performance issues of parallel and distributed systems, communication and synchronization operations, performance and scalability of parallel systems, parallel computers architectures, and recent trends in parallel/distributed computing together with their impact on individuals and societies. The aim of this course is to enable the students to learn and understand the basic concepts associated with parallel and distributed systems, communication operations (such as message-passing), and the advantages of deploying parallel and distributed systems.
Course Outcomes
Ability to understand the basic concepts associated with parallel and distributed systems, the advantages of deploying parallel and distributed systems, and the communication operations, synchronization, and timing.
Ability to distinguish between the parallel and distributed systems models, between processes and threads, and between different communication and synchronization algorithms.
Ability to design/implement algorithms that address communication operations, synchronization and timing, evaluate the performance of parallel systems, and scalability of parallel system.
Introduction to Parallel Processing
Cost versus performance
What is parallel processing?
Scope of parallel processing
Issues in parallel processing
Characterization of Distributed Systems
Introduction
Examples
Resource Sharing
Models of Parallel Computers
Taxonomy of Parallel Architectures
Dynamic Interconnection Networks
Static Interconnection Networks
Basic Communication Operations
Store-and-Forward routing scheme
One-to-all broadcast
Inter-Process Communication
External Data Representation
Client/Server Communication
Marshalling and Un-marshalling
Distributed Objects and Remote Method Invocation (RMI)
Communications between distributed objects
RMI and RPC
Operating Systems Support
OS layer
Processes and threads
Performance and Scalability of Parallel Systems
Performance metrics for parallel systems
Scalability of parallel systems
Recent Trends: Cloud Computing
Pros and cons of Cloud Computing
Applications of Cloud Computing
The impact of Cloud Computing
Recent Trends: Green Computing at Large Scale
Pros and cons of Green Computing
Applications of Green Computing
The impact of Green Computing
References
Tanenbaum, and M. Van Steen. (2016). Distributed Systems: Principles and Paradigms, 2nd Edition Prentice- Hall.
Aubanel, Eric. (2017). Elements of Parallel Computing. 1st Edition, CRC Press. ISBN-10: 1138470872.
George Coulouris, Jean Dollimore, Tim Kindberg. (2011). Distributed Systems Concept and Design. 5th Edition. Pearson. ISBN-10: 0132143011.
AnanthGrama, Anshul Gupta, George Karypis, and Vipin Kumar. (2003). Introduction to Parallel Computing. 2nd Edition. Addison-Wesley an imprint of Pearson Education.
Prepared By:
Ts. Dr. Nurulisma Hj. Ismail