Parallel and Distributed Processing

Course Information

  • Batch: 72th
  • Course Code: CSE-411
  • Credits: 03
  • Course Teacher: Md Habibul Basar Faruq
  • Email: mh.faruq06@gmail.com
  • Google Classroom: Join

Course Description

This course introduces the principles and practices of parallel and distributed computing. Topics include models of parallelism, architectures, communication and synchronization, performance metrics, parallel algorithms, and distributed system fundamentals. Students will gain hands-on experience with frameworks such as MPI, OpenMP, Hadoop, and Spark, applying them to real-world problem solving.


Weekly Topics and Resources

  • Week 1: Introduction to Parallel and Distributed Systems
    Motivation, real-world applications, system architectures. | Lecture slide 01

  • Week 2: Models of Parallelism
    Flynn’s taxonomy (SISD, SIMD, MISD, MIMD), shared vs distributed memory. | Lecture Note 02

  • Week 3: Performance Metrics
    Speedup, efficiency, scalability, Amdahl’s Law, Gustafson’s Law. | Lecture slide 03

  • Week 4: Shared Memory Programming
    Threads, synchronization, OpenMP basics. | Lecture Slide

  • Week 5: Message Passing Programming
    MPI basics: point-to-point and collective communication.

  • Week 6: Synchronization & Coordination
    Barriers, locks, deadlocks, load balancing.

  • Week 7: Parallel Algorithms
    Sorting, matrix multiplication, graph algorithms.

  • Week 8: Distributed Systems Basics
    Client-server, RPC, socket programming.

  • Week 9: Distributed Coordination
    Consensus algorithms, clock synchronization, CAP theorem.

  • Week 10: Big Data & Frameworks
    MapReduce paradigm, Hadoop, Spark.

  • Week 11: GPU and Accelerator Computing
    CUDA and OpenCL basics for data-parallel processing.

  • Week 12: Project Presentations & Future Trends
    Cloud, edge, and quantum computing; student project demos.


Course Credits

  • Lecture Slides & Materials: Instructor’s prepared content, research papers, and online tutorials.
  • Instructor: Md Habibul Basar Faruq
  • Contact: mh.faruq06@gmail.com

Suggested Textbooks & References

  • Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar – Introduction to Parallel Computing, 2nd Ed., Addison Wesley.
  • George Coulouris, Jean Dollimore, Tim Kindberg – Distributed Systems: Concepts and Design.
  • Michael J. Quinn – Parallel Programming in C with MPI and OpenMP.
  • Kai Hwang, Jack Dongarra, Geoffrey C. Fox – Distributed and Cloud Computing: From Parallel Processing to the Internet of Things.

Assessment & Evaluation

  • Assignments & Quizzes –
  • Midterm Exam –
  • Lab/Practical –
  • Project (Team-based) –
  • Final Exam –