Parallel Computing Systems (ETF RIO PRS 4770) 

General information 

Module title  Parallel Computing Systems 
Module code  ETF RIO PRS 4770 
Study  ETFB 
Department  Computing and Informatics 
Year  1 
Semester  1 
Module type  Mandatory 
ECTS  7 
Hours  70 
Lectures  40 
Exercises  30 
Tutorials  0 
Module goal  Knowledge and skill to be achieved by students 

Within this course, students will gain knowledge about architectures based on parallelism and design and performance of parallel algorithms in order to understand various models of parallelism. With knowledge acquired, students will be able to create algorithms based on parallel programing in an environment.  
Syllabus 

1. Hardware for parallel processing <br> a) Instruction level parallelism <br> b) Shared memory level parallelism <br> c) Distributed memory parallelism <br> d) Superscalar processors <br> e) Beowulf clusters <br> f) Typologies of communication networks and their effect on performance <br> 2. Software protocols for parallel processing: <br> a) Message Passing Interface (MPI) protocol: Fundamentals, Communication 1N, N1 and NM <br> b) Parallel Virtual Machine (PVM) <br> 3. Examples of numerical algorithms parallelization: <br> Present the need for parallel processing on the example of algorithms where parallelization increases efficiency such as: <br> a) Algorithms from linear algebra with the use of parallelism <br> b) Fast Fourier transform with the use of parallelism <br> c) Problem of N bodies with the use of parallelism <br> d) Monte Carlo analysis with the use of parallelism <br> 4. Efficiency of parallel computing <br> a) Computing systems history and development of their performance <br> b) Definition of speedup (Amdahl's Law) <br> 

Literature 

Recommended  1. Notes and slides from lectures (See Faculty WEB Site) 2. John L. Hennessy , David A. Patterson Computer Architecture: A Quantitative Approach, Fourth Edition 3. R. Chandra, R. Menon, L. Dagum, D. Kohr, D. Maydan, J. McDonald: "Parallel Programming in openMP", Morgan Kaufmann, 2001 4. David E. Culler and Jaswinder Pal Singh: "Parallel Computer Architecture: A Hardware/Software Approach " 5. George Em Karniadakis, Robert M. Kirby II : "Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation (Hardcover) 6. K. A. Gallivan "Parallel Algorithms for Matrix Computations ". 
Additional  
Didactic methods 

Lectures. Individual and team work on project tasks in the laboratory: design and implementation using methods, techniques and tools, following the concepts introduced in lectures. Testing and success evaluation of designed examples.  
Exams 

During the course students will collect points according to the following system: <br>  Attending lectures, exercises and tutorial classes: 10 points, student with more then three absences from lectures, exercises and/or tutorials can not achieve these points; <br>  Home assignments: maximum of 10 points, assuming solving 5 to 10 assignments evenly distributed throughout the semester; <br>  Partial exams: two written partial exams, maximum of 20 points for each positively evaluated partial exam; <br> Student who during the semester achieved less than 20 points must reenroll this course. <br> Student who during the semester achieved 40 or more points will access to final oral exam, the exam consists of discussing the partial exams tasks, home assignments and answers to simple questions related to course topics. <br> Final oral exam provides maximum of 40 points. To achieve a positive final grade, students in this exam must achieve a minimum of 20 points. Students who do not achieve this minimum will access to makeup oral exam. <br> Student who during the semester achieved 20 or more points, and less than 40 points will access to makeup exam. Makeup exam is structured as follows: <br>  Written part structured in the same way as a partial written exam, during which students solve problems in topics they failed on partial exams (achieved less then 10 points), <br>  Oral part structured in the same way as a final oral exam. <br> Only students who, after passing the written part of the makeup exam managed to achieve a total score of 40 or more points, can access to oral makeup exam, where the score consists of points achieved through attending classes, home assignments, passing partial exams and passing the written part of makeup exam. <br> Oral makeup exam provides maximum of 40 points. To achieve a positive final grade, students in this exam must achieve a minimum of 20 points. Students who do not achieve this minimum must reenroll this course. <br> 

Aditional notes 
