Faculty of Engineering - Ain Shams University, Home
Parallel and Distributed Algorithms
What Will Learn?
-
Course AimsFrom smartphones to multi-core CPUs and GPUs, to the world's largest supercomputers, parallel processing is ubiquitous in modern computing. Upon completing this course, the student will have learned, through appropriate classroom and laboratory experiences, the following: - A deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel and distributed computing systems. - The key machine performance characteristics, and how they affect software design. - The fundamentals of parallel and distributed programming. - The parallel programming techniques necessary to effectively utilize these machines. - The basic algorithmic, programming, and software engineering issues associated with the development of parallel and distributed applications. - Evaluating parallel programs and comparing the time complexity of parallel and sequential applications.
-
Course Goals
- Decent Work and Economic Growth
- Industry, Innovation and Infrastructure
- Sustainable Cities and Communities
Requirements
CSE362
Description
-
English Description
Introduction to the analysis, design and implementation of parallel and distributed algorithms. Different types of parallel algorithms, Distributed implementation techniques, Related communication protocols and infrastructure. Problems of synchronization. Timing. Agreements. Fault tolerance. Parallel graph algorithms. Analysis of parallel algorithms regarding computational and communication complexities. Different implementation techniques using GPUs, multi-core, multi-processors, and multi-computers. -
Arabic Description
Introduction to the analysis, design and implementation of parallel and distributed algorithms. Different types of parallel algorithms, Distributed implementation techniques, Related communication protocols and infrastructure. Problems of synchronization. Timing. Agreements. Fault tolerance. Parallel graph algorithms. Analysis of parallel algorithms regarding computational and communication complexities. Different implementation techniques using GPUs, multi-core, multi-processors, and multi-computers.
-
DepartmentComputer and Systems Engineering
-
Credit Hours3
-
GradesTotal ( 100 ) = Midterm (25) + tr.Major Assessment (30 = tr.Industry 15% , tr.Project 0% , tr.Self_learning 5% , tr.Seminar 15% ) + tr.Minor Assessment (5) + Exam Grade (40)
-
HoursLecture Hours: 2, Tutorial Hours: 2, Lab Hours: 0
-
Required SWL100
-
Equivalent ECTS4
- - “Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms”, by Roman Trobec, Boštjan Slivnik, Patricio Bulić, Borut Robič, (2018).
- - “An Introduction to Parallel Programming”, by Peter S. Pacheco, 2nd edition (2021).
- - “Introduction to Parallel Computing", Vipin Kumar, George Karypis, Anshul Gupta, Ananth Grama, Addison-wesley Professional, ISBN: 0201648652 (2003) - Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, by Roman Trobec, Boštjan Slivnik, Patricio Bulić, Borut Robič, (2018).