First Cycle - Faculty of Engineering - Computer Engineering (English)
Y : Year of Study S : Semester
Course Unit Code Course Unit Title Type of Course Y S ECTS
CSE4038 Introduction to Parallel Processing Compulsory 4 7 5
Objectives of the Course
This course presents an introduction and overview on parallel systems and parallel programming.
Learning Outcomes
1 Assess the potential and limitations of parallel processing
2 Design, develop and analyze parallel algorithms using messahe passing libraries.
3 Design,develop and analyze parallel algorithms for shared memory systems
4 Evaluate performance of a given parallel application and determine whether a parallel application is efficient or not by using the right tools
5 Demonstrate a good understanding in the different types of parallelism, their principles and structures
Mode of Delivery
Formal Education
Recommended Optional Programme Components
None
Course Contents
History and basic concepts of parallel computing. Classification of parallel processing systems. Parallel computer architectures. Programming methods and libraries for parallel processing. Design and analysis of fundamental parallel algorithms for sorting, arithmetic and matrix-related applications. Parallel programming assignments of selected applications using the parallel programming tools and libraries covered in the course.
Weekly Detailed Course Contents
Week Theoretical Practice Laboratory
1 Introduction to Parallel Architectures and Parallel Programs
2 Types of Parallel Computers, Architectural Features
3 Principles of Parallel Algorithm Design
4 Basics of Message-Passing Computin and Software Tools (MPI and PVM)
5 MPI Programming
6 Advanced Topics in MPI Programming
7 Basic Communication Operations
8 Midterm Exam
9 Basic Communication Operations (part 2)
10 Performance and Scalability of Parallel Systems (Analytical Modeling) - Part I
11 Performance and Scalability of Parallel Systems (Analytical Modeling) - Part II
12 Dense Matrix Algorithms
13 Sorting and Graph Algorithms
14 Programming with Shared Memory (Pthreads, OpenMP)
15 Case Studies & Presentations
16 Final Exam Study
17 Final Exam
Recommended or Required Reading
Introduction to Parallel Computing, V. Kumar, A. Grama, A. Gupta and G. Karypis, V. Kumar (second edition), 2003 Addison Wesley
Parallel Programming with MPI, P. Pacheco, Morgan Kaufmann Publishers, Inc., 1997.
MPI Related Materials
Scalable Parallel Computing, Kai Hwang and Zhiwei Xu, 2000
Planned Learning Activities and Teaching Methods
Lecture notes, slides, handouts, programming examples
Assessment
AssessmentQuantityWeight
Term (or Year) Learning Activities60
End Of Term (or Year) Learning Activities40
Total100
Term (or Year) Learning ActivitiesQuantityWeight
Midterm Exam150
Project350
Total100
End Of Term (or Year) Learning ActivitiesQuantityWeight
Final Exam1100
Total100
Language of Instruction
Language Codes
Work Placement(s)
None
Workload Calculation
Activities Number Time (hours) Total Work Load (hours)
Theoretical 14 3 42
Midterm Preparation 10 1 10
Final Preparation 13 1 13
Project 20 3 60
Total 57 8 125
Contribution of Learning Outcomes to Programme Outcomes
PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11PO 12PO 13PO 14PO 15PO 16
LO 10000000000000000
LO 20000000000000000
LO 30000000000000000
LO 40000000000000000
LO 50000000000000000

^